LONG RUNNING C APPLICATION ABENDS WITH OUT-OF-STORAGE CONDITION
APAR Identifier ...... VM63820 Last Changed ........ 06/05/24
LONG RUNNING C APPLICATION ABENDS WITH OUT-OF-STORAGE CONDITION
Symptom ...... AB ABEND Status ........... CLOSED PER
Severity ................... 2 Date Closed ......... 06/01/06
Component .......... 568411220 Duplicate of ........
Reported Release ......... 440 Fixed Release ............ 999
Component Name VM LE Special Notice
Current Target Date .. Flags
SCP ...................
Platform ............
Status Detail: SHIPMENT - Packaged solution is available for
shipment.
PE PTF List:
PTF List:
Release 440 : UM31620 available 06/01/12 (4408 )
Parent APAR:
Child APAR list:
ERROR DESCRIPTION:
User machine is program checking or abending with message:
DMSABE155T User abend 4093 called from 0800F74A
when running ping commands in a large loop in a REXX EXEC.
LOCAL FIX:
PROBLEM SUMMARY:
****************************************************************
* USERS AFFECTED: Affected are all users running a POSIX(ON) *
* C/C++ application in z/VM 4.4.0 or later. *
****************************************************************
* PROBLEM DESCRIPTION: *
****************************************************************
* RECOMMENDATION: APPLY PTF *
****************************************************************
User had a long running REXX EXEC which continually called
PING and recorded the status of the target systems. When the
user migrated from z/VM 3.1.0 to z/VM 5.1.0, this long running
application suddenly began failing with an out-of-storage
condition. The user would see error message DTCINB004S from
the PING command followed by error message DMSABE155T from CMS.
PROBLEM CONCLUSION:
There were several areas in CMS multitasking, CMS sockets, and
LE where storage was being obtained and not correctly returned
to CMS storage management. This eventually led to the
out-of-storage condition and the failure of the application.
The CMS changes are made via APAR VM63819. The LE changes are
being made here.
The LE update consists of changes to CEEM@VOU to handle the way
the POSIX message file is opened. The parameter list for the
OPEN macro used to reside above the 16Mb line. This forced CMS's
OS Simulation code to copy the input parameter list from above
the 16Mb line to below the 16Mb line. This copied parameter
list storage is returned only at command end (i.e. when the CMS
Ready prompt is displayed). Since the application essentially
never ended, all that copied parameter list storage remained
allocated and eventually depleted all available free storage
below the 16Mb line.
The change to CEEM@VOU allocates the OPEN parameter list in
storage below the 16MB line so that no copy needs to be made,
no extra below the 16Mb line storage needs to be allocated, and
the application runs much cleaner.
TEMPORARY FIX:
COMMENTS:
MODULES/MACROS: CEEBINIT CEEBPICI CEEM@VOU CEEPIPI
SRLS: NONE
RTN CODES:
CIRCUMVENTION:
MESSAGE TO SUBMITTER: