C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

Cause
CRE or run-time library data is invalid.
Effect
The CRE invokes PROCESS_STOP_, specifying the ABEND variant and the text “Corrupted
environment.
Recovery
In the TNS environment, the program might have written data in the upper 32K words of the
user data segment. The upper 32K words are reserved for TNS CRE and run-time library data.
In the native environment, the run-time environment has been corrupted. You may have written
data over run-time data structures.
Check the program’s logic. Use a symbolic debugger to help isolate the problem or consult your
system administrator.
12
Logic error
Cause
The CRE or a run-time library detected a logic error within its own domain. For example, although
each data item it is using is valid, the values of the data items are mutually inconsistent.
Effect
The CRE invokes PROCESS_STOP_, specifying the ABEND variant and the text “Logic error.
Recovery
In the TNS environment, the program might have written data in the upper 32K words of the
user data segment. The upper 32K words are reserved for TNS CRE and run-time library data.
In the native environment, the run-time environment has been corrupted. You may have written
data over run-time data structures.
Check the program’s logic. Use a symbolic debugger to help isolate the problem or consult your
system administrator.
13
MCB pointer corrupt
Cause
The pointer at location G[0] of the program’s user data segment to its primary data structure—the
Master Control Block (MCB)—does not point to the MCB. Both the CRE and run-time libraries
can report this error.
In the native environment, this error can occur if the MCB run-time data structure has been
corrupted.
Effect
The CRE attempts to restore the pointer at G[0] and to write a message to the standard log file.
However, because its environment might be corrupted, the CRE might not be able to log a
message. In that case, it calls PROCESS_STOP_, specifying the ABEND variant, and the text
“Corrupted Environment.
Recovery
Check the program’s logic to see if it overwrote the MCB pointer at G[0]. Use a symbolic
debugger to help isolate the problem.
14
Premature takeover
CRE Service Function Messages 365