Library ABEND Codes

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 through 1203 and 1205 through 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 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 following library ABEND codes are currently defined:

1200 1201 1202 1203 1204 1205 1206 1207 1208 1209
1210 1211 1212 1213 1214 1215 1216 1217 1218 1219
1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
1230 1231 1232 1233 1234 1235       1239
1240  


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 OS/390, 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 UNIX Systems Services 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

Issued 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

CICS only: Issued when there is not enough storage available for an unconditional GETMAIN. This is a ABEND code.

1230

Issued when a POSIX function cannot be executed because UNIX Systems Services is not installed or active, but the function does not have any defined error conditions.

1231

Issued if no TWA is defined for a CICS Indep Application.

1232

Issued if an internal error was detected by the library support for C++ exception handling. The error is described by a previously issued message.

1233

Issued if an internal error occurred in the interlanguage communication support routines. This is most likely a library error, but could be caused by an overlay of library control blocks.

Note: 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

CICS only: 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.

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.