A fix is available
APAR status
Closed as program error.
Error description
With COBOL v5, debug related data is stored in a deferred load segment, which is brought into memory as required, for example to produce a CEEDUMP upon an application error. Under CICS, a CICS INQUIRE PROGRAM is used to locate programs of interest and load their debug data if compiled with such, but that API returns a zero return code if a program is in the PPTE but is not loaded, and additional checking is required to determine that fact. That additional checking was not present, as a consequence the _iew_includeName() binder API was driven with a bad parameter, leading to the IEW2146S message. Additional symptoms: S80A abend, S878 abend, IEW2974T message, IEW4000I message. By reviewing a S80A abend dump, we see the CICS region is short on MVS storage. Break down the storage, we can see lots of storage was allocated to SP/K: 0/8 with size x'8000'. Browsing those chunks of storage, we see they all have eyecatcher 'IEWBSAD' in the begining.
Local fix
Compile with NOTEST(NODWARF) or resolve/handle application errors
Problem summary
**************************************************************** * USERS AFFECTED: Enterprise COBOL V5 users using the TEST * * compiler option and getting CEEDUMPs * * generated under CICS, when a failure occurs * * while a COBOL V5 program is active in the * * call chain. * * * **************************************************************** * PROBLEM DESCRIPTION: While a CEEDUMP is being generated * * under CICS, and a COBOL V5 program * * compiled with the TEST option is active * * in the call chain, a second condition * * may occur with message IEW2146S. In * * addition, the expected debug * * information may be missing in the * * CEEDUMP for such COBOL V5 programs. * * * **************************************************************** * RECOMMENDATION: Apply provided service. * * * **************************************************************** While generating a CEEDUMP, the COBOL runtime invokes CDA to get the debug information to be formatted and printed. One of the input to the CDA API is the DD name of the module. The COBOL runtime issues the CICS INQUIRE PROGRAM command for the PROGRAM name and LIBRARY name in order to construct the DD name. However, when the CICS command encounters a program in the PPTE that's not loaded, the command is still considered successful with a zero RESP code, but the LOADPOINT address used to validate against the entry point address is set to NULL instead. The COBOL runtime only checks for zero RESP code, but fails to make sure the LOADPOINT address returned is not a NULL.
Problem conclusion
The COBOL runtime is corrected to check for valid output returned from the CICS INQUIRE PROGRAM command before proceeding to construct a DD name for use with the CDA API.
Temporary fix
Comments
APAR Information
APAR number
PI42277
Reported component name
LE ENT COBOL LI
Reported component ID
568819812
Reported release
780
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-06-03
Closed date
2015-06-12
Last modified date
2015-11-18
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