HP.com home PA-RISC Procedure Calling Conventions Reference Manual > Appendix C The Stack Unwind Library

C.5 Errors From The Unwind Library

MPE documents

Complete PDF
Table of Contents

You may get the following error messages while using the Unwind routines in the Unwind library available on your system. A brief explanation follows each error message, describing the cause of the message and any preventive measures.
  1. Escape executed outside of a Try block; CODE = <escape-num> (UNWIND 9).

    This tells you that a Pascal non-local escape was performed outside a TRY block. Hence the unwind process could not find a corresponding RECOVER block.

    Check your code to see if there is a RECOVER block for the TRY within which this escape is being made. If this is not the problem, then check to see if the recover tables have the proper descriptors.

  2. Non-unwindable descriptor during Escape; CODE = <escape-num> (UNWIND 11).
    Non-unwindable descriptor during non-local GOTO (UNWIND 20).

    During the process of unwinding, a PC_offset value was encountered that did not have a proper unwind descriptor. Check the unwind descriptor for the current PC value. Most of the time, the region may be marked as non-unwindable.

  3. Missing unwind descriptor during Escape; CODE = (UNWIND 10).
    Missing unwind descriptor during non-local GOTO (UNWIND 21).

    Could not find an unwind descriptor in the Unwind tables for this PC_offset value. Check the .CALLINFO for this region.

  4. End-of-stack during non-local GOTO (UNWIND 19).

    The non-local GOTO performed has an address that is not within the call chain, hence the unwinding process reached the bottom of the call stack without reaching the target of the non-local GOTO.

    This problem can occur with secondary entry points, which generate multiple unwind regions. The call chain must be in the same region as the target of the GOTO.




C.4 Obtaining a Stack Trace


Appendix D The Stack Unwind Process