A fix is available
APAR status
Closed as program error.
Error description
When a COBOL v5+ module is loaded via CEEFETCH or CEEPIPI ADD_ENTRY a function descriptor is created in an "additional" heap below the line. The function descriptor is however not deleted if the module to which it points is later deleted. In long running address spaces like a Db2 stored procedure address space with STAY RESIDENT NO stored procedures, the leak can eventually bring down the address space. A dump will show via verbx ledata 'heap' "Additional Heap Control Blocks" heap segments below the line with SEG_LEN:00001000 and many entries LEN(X'00000050') starting MBLK. This problem was exacerbated by the October 2016 run-time's PI70080: ABEND0C4 CALLING COBOL V5+ PROGRAM LOADED BY CEEFETCH MACRO. If prior to the March 2017 run-time PTF PI78197: CEE0813S insufficient storage creating procedure-pointer via SET statement or the CEEFETCH macro, the SEG_LEN of the additional heap will be that of the HEAP() run-time parameter.
Local fix
None. STAY RESIDENT YES stored procedures are not affected by the leak, but changing from STAY RESIDENT NO to YES requires that the affect procedures be able to cope with residual values.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 5.1 and later * * releases compiling and running programs * * called by LE Pre-initialized environment * * (such as DB2 Stored Procedures) or CEEFETCH * * * **************************************************************** * PROBLEM DESCRIPTION: Runtime ABEND in COBOL library routine * * IGZCEV40 due to insufficient heap * * storage. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** A function descriptor control block that is used by LE to call COBOL programs is not freed after usage. If a very large number of COBOL V5 or COBOL V6 programs are called under the Pre-initialized Environment (such as DB2 Stored Procedures) or using CEEFETCH, the system may run out of heap storage.
Problem conclusion
The COBOL run time library is fixed to free the function descriptor after usage.
Temporary fix
Comments
APAR Information
APAR number
PI86855
Reported component name
LE ENT COBOL LI
Reported component ID
568819812
Reported release
7A0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-09-05
Closed date
2017-09-22
Last modified date
2017-10-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGZXLPKA
Fix information
Fixed component name
LE ENT COBOL LI
Fixed component ID
568819812
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCVR7X","label":"Runtime"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
14 December 2020