A fix is available
APAR status
Closed as program error.
Error description
USERS AFFECTED: Users of Enterprise COBOL Vx.x compiling programs with NORENT that compare data items in fairly close proximity in WORKING-STORAGE. PROBLEM DESCRIPTION: The compiler generates incorrect code when computing the address of the second item being compared, resulting in the comparison being incorrect. RECOMMENDATION TO CUSTOMER: Apply the provided PTF. PROBLEM SUMMARY: For items in close proximity, the address computations might involve the same address multiple times. In generating code for this address, the compiler can choose to reuse an existing register or use a new one. If the common address was referenced at least once in the computation of the first data item's address and more than once in the computation of the second data item's address, the compiler might generate an instruction that reused a register as part of the second data item's computation, before the first data item's computation was complete, causing the first data item's computation to be incorrect. CONCLUSION: The compiler was fixed to never reuse a register in computing an address when that register was possibly still in use by another address computation.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.2 compiling * * programs with NORENT that compare data * * items in fairly close proximity in * * WORKING-STORAGE. * **************************************************************** * PROBLEM DESCRIPTION: The compiler generates incorrect code * * when computing the address of the * * second item being compared, resulting * * in the comparison being incorrect. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** For items in close proximity, the address computations might involve the same address multiple times. In generating code for this address, the compiler can choose to reuse an existing register or use a new one. If the common address was referenced at least once in the computation of the first data item's address and more than once in the computation of the second data item's address, the compiler might generate an instruction that reused a register as part of the second data item's computation, before the first data item's computation was complete, causing the first data item's computation to be incorrect.
Problem conclusion
The compiler was fixed to never reuse a register in computing an address when that register was possibly still in use by another address computation.
Temporary fix
Comments
APAR Information
APAR number
PH14172
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
620
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-07-04
Closed date
2019-07-13
Last modified date
2019-08-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYCASMB IGYCCBE IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCJA$D IGYCJA$R IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT IGYCSCAN IGYCSIMD IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D IGYCUE$R IGYCXREF IGYDRV IGYEQCWI IGYMSGE IGYMSGK IGYMSGT IGYQCBE IGYZQDRV IGYZQENU IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R620 PSY UI64199
UP19/07/19 P F907
R621 PSY UI64200
UP19/07/19 P F907
R622 PSY UI64201
UP19/07/19 P F907
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023