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: