This appendix lists all ABENDs issued by the C run-time routines.
Most of the ABENDs described here result from user errors.
Storage ABENDs (messages 1200 - 1203 and
1205 - 1209) are generally caused by buffer overflows or overlays.
The application can be tested with the =storage
run-time
option to get a storage corruption report. Refer to the
SAS/C Debugger User's Guide and Reference, Third Edition
, for a detailed
explanation of the storage report and guidance on using the debugger to
isolate storage problems.
If you suspect a problem with the product, contact the SAS Software Representative at your site.
The ABEND codes currently defined are:
1200
issued if corruption of auto
storage control blocks is detected while
a DSA is being freed.
1201
issued if corruption of auto
storage control blocks is detected during
allocation of a new DSA.
1202
issued if, during termination of a program run with the =minimal
run-time option, it is discovered that the program has stored past the end of
the automatic storage stack.
1203
issued if corruption of auto
storage control blocks is detected while
freeing all automatic storage at the end of program execution.
1204
issued if the target of a longjmp
cannot be found. This may be caused
by corruption of the target jmp_buf
or by attempting to jump to a
routine that is no longer active.
1205
issued if corruption of heap storage control blocks is detected during
execution of calloc/malloc
.
1206
issued if corruption of heap storage control blocks is detected when
calloc/malloc
attempts to reuse a free portion of the heap.
1207
issued if corruption of heap storage control blocks is detected by free
during the release of a tract of heap storage.
1208
issued if the pointer to a block to be freed is found to be invalid by
free
. This may be caused by an overlay of storage near the block or
by passing a pointer to an area not directly allocated by calloc/malloc
.
1209
issued if corruption of heap storage control blocks is detected during
program termination.
1210
issued when the SIGABRT
signal is raised and default handling is in effect.
SIGABRT
can be raised by a call to abort
or by using raise
or
siggen
.
1211
issued if the argument to unloadm
does not address a function in a
module previously loaded by loadm
.
1212
issued if required transient run-time functions cannot be loaded. Under
MVS, the transient library must have been installed into the system link list or
be defined as part of STEPLIB or CTRANS. Under CMS, the transient library
must be present on an ACCESSed disk, in nucleus extensions, or in a segment.
Under the OpenEdition shell, the transient library must be installed into the
system linklist or be defined to the library using the STEPLIB
or
the ddn_CTRANS
environment variables.
For CICS applications, verify that CICS library support
customization has been accomplished. Refer to the
SAS/C Installation Guide
for details on installing SAS/C CICS functions.
1213
issued if a subordinate C load module is abused by calling it directly (for
example, via EXEC PGM=) as if it were a main program.
1214
issued if more than one recursive error occurs during diagnostic message
processing. This is probably a run-time library error; the most likely cause
is a malformed diagnostic message text.
1215
issued under CMS if an error occurs while trying to delete the storage
occupied by a dynamically loaded module during a call to unloadm
. The
most likely cause is a storage overlay.
1216
issued under CMS if an invalid library control block is encountered during a
call to unloadm
. This is probably caused by a storage overlay.
1217
issued under CMS if an invalid library control block is encountered during a
call to loadm
. This is probably caused by a storage overlay.
1218
issued under CMS if an error occurs while trying to delete a buffer during
dynamic loading. The most likely cause is a storage overlay.
1219
issued if the interface between the debugger and the library detects an error
in its own processing or in the debugger. This can occur if the program
overlays debugger data areas.
1220
issued if the abort
debugger command is executed. It also can happen
if multiple attention interrupts occur and the debugger is unable to respond
normally due to a program loop or system slowdown.
1221
issued under CMS if an error is detected by CP while loading a library segment.
It is probably an indication of a CP system error.
1222
issued if the library framework manager detects an error in its use. (The
framework manager is a library component used as a subroutine by the
debugger, interlanguage communication applications, and the CMS REXX function
package and SUBCOM support.) This is most likely a library error, but it can
be caused by overlay of library control blocks.
1223
used under TSO to indicate a system problem in the TSO SUBCOM interface.
This is most likely a library or TSO error. Under CMS, this code is used to
indicate that the nucleus extension used to manage sharing of the C run-time
library has been dropped by the user, which is not permitted.
1224
issued when longjmp
or exit
attempts to terminate a non-C
routine. This can occur when the indep
option is used to mix the C
language with another language or when the CMS REXX function package support
is used.
1225
issued when there is no handler for an asynchronous signal, such as
SIGALRM
,
for which the default action is termination. The default handling is to
terminate the program.
1226
issued if the Full-Screen Support Library detects an internal error. This may
be caused by an overlay of FSSL control blocks.
1227
issued when a library error occurs terminating a coprocess.
1228
issued if there is not enough storage available to extend the internal queue
of IUCV or socket communication messages. The probable cause is that the
number of incoming interrupts is greater than the program can handle.
1229
This is a CICS-only ABEND code that is issued when there is not enough storage
available for an unconditional GETMAIN.
1230
issued when a POSIX function cannot be executed because OpenEdition is not
installed or active, but the function does not have any defined error conditions.
1231
No TWA defined for a CICS Indep Application.
1233
issued if an internal error ocurred in the interlanguage communication
support routines. This is most likely a library error, but could be caused
by an overlay of library control blocks.
Please record any preceding messages and the value in register 15 at the time of ABEND, if possible,
before calling SAS Institute's Technical Support Department.
1234
issued if a call is made from a C program to a routine written in another
high-level language or from a program in another high-level language to a C
function, but the framework for the called language has not been created.
1235
issued for an interlanguage communication feature usage error. The error is
explained by a preceding message.
1239
This is a CICS-only ABEND code that is issued when an unexpected internal error is
encountered during abnormal termination processing.
1240
issued if an unexpected program check occurs during library ABEND analysis.
The analysis routine is careful not to depend on the contents of run-time
control blocks, so an occurrence of this ABEND probably indicates an
oversight in the coding of the analysis routine as well as a storage overlay.