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 V5.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
PH12015
Reported component name
ENT COBOL FOR Z
Reported component ID
5655W3200
Reported release
520
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-05-13
Closed date
2019-06-12
Last modified date
2019-07-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYCBE IGYCCBE 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 IGYECWI IGYMSGE IGYMSGK IGYMSGT
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655W3200
Applicable component levels
R520 PSY UI63603
UP19/06/18 P F906
R521 PSY UI63604
UP19/06/19 P F906
R522 PSY UI63605
UP19/06/19 P F906
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":"520","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 July 2019