A fix is available
APAR status
Closed as program error.
Error description
During COBOL v5+ run-time development, the COBOL II dynamic call routines IGZCLNK and IGZCLNC were not updated to restore the WSA pointer on return from the call. This means that if the dynamic call path on either side of a COBOL II module includes languages that depend on the WSA (writeable static area, ie. C/C++ and COBOL v5+) a perhaps indirect caller of the COBOL II module will likely fail due to an incorrect WSA. The failure is after evidence of the call sequence is no longer available in the traceback. If this problem is suspected, and you have an IPCS dump, the current CEECAACRENT (WSA) address can be compared to the CLEWSAADDR field value of the CLLEs in verbx ledata 'comp(all)' output, and if the so identified module is not the currently executing module, then it is likely this APAR applies.
Local fix
Recompile the COBOL II module with COBOL v5+. Note that this may entail resolving migration issues with the COBOL II code, so this should not be undertaken lightly.
Problem summary
**************************************************************** * USERS AFFECTED: VS COBOL II users running programs that * * perform dynamic CALL to Enterprise COBOL * * V5+ RENT programs in a mixed COBOL and * * C/C++ LE enclave. * **************************************************************** * PROBLEM DESCRIPTION: Runtime ABEND0C4. When an Enterprise * * COBOL V5+ RENT program is dynamically * * called by a VS COBOL II program, the * * WSA anchor CEECAACRENT is not being * * restored, which may result in an 0C4 * * ABEND when a subsequent C/C++ program * * tries to access the program's writable * * static storage. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** VS COBOL II dynamic call handler IGZCLNK does not properly save and restore CEECAACRENT when calling out to a module that requires writable static support. FIXCAT keyword: COB0501T/K COB0502T/K COB0601T/K COB0602T/K
Problem conclusion
IGZCLNK is corrected to save and restore CEECAACRENT.
Temporary fix
Comments
APAR Information
APAR number
PI96107
Reported component name
LE COBOL LIB
Reported component ID
568819802
Reported release
7B0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-04-03
Closed date
2018-04-03
Last modified date
2018-05-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI54960
Modules/Macros
IGZCLNK
Fix information
Fixed component name
LE COBOL LIB
Fixed component ID
568819802
Applicable component levels
R7B0 PSY UI54960
UP18/04/12 P F804
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.
[{"Line of Business":{"code":"LOB16","label":"Mainframe HW"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7B0"}]
Document Information
Modified date:
22 January 2021