A
stack frame collapse occurs when the condition manager
skips over one or more active routines and execution resumes in an
earlier routine on the stack. This can occur due to either of the
following:
- An explicit GOTO out of block issued from a C or PL/I routine
- Moving the resume cursor using the CEEMRCR callable service and
requesting a resume
Language Environment resets
any intervening COBOL programs from an active to inactive state, provided
they are the following:
- VS COBOL II programs
compiled with the CMPR2 compiler option
- VS COBOL II programs
compiled with NOCMPR2 that do not use nested programs
- COBOL for OS/390 & VM, COBOL for MVS & VM or COBOL/370 programs
compiled with the CMPR2 compiler option or
- COBOL for OS/390 & VM, COBOL for MVS & VM and COBOL/370 programs
compiled with NOCMPR2 that do not use the combination of the INITIAL
attribute, nested programs, and file processing in the same compilation
unit
- Enterprise COBOL for z/OS programs
that do not use the combination of the INITIAL attribute, nested
programs, and file processing in the same compilation unit
After a stack frame collapse, the routines listed above can be
reentered.
Language Environment issues
a warning message during stack frame collapse for each intervening
COBOL program that does not adhere to the above restrictions. In addition,
after the GOTO or resume is performed, any attempt to re-enter these
programs is diagnosed as an attempted recursive entry error.