A fix is available
APAR status
Closed as new function.
Error description
-
Local fix
-
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6 who want a * * way to detect references to LINKAGE SECTION * * data items that have not had addressability * * set. This is the "Zero Address" problem * * that is also helped by the z/OS Zero Address * * Detection feature, but this COBOL feature * * causes programs that reference LINKAGE * * SECTION items with no addressability to * * ABEND, you don't have to wait for the ZAD * * report. The COBOL feature is activated via * * the new LSACHECK compiler option. * **************************************************************** * PROBLEM DESCRIPTION: Some users find that they have programs * * that reference LINKAGE SECTION items * * that have not had addressability set. * * These programs can behave differently * * when migrating to z/OS 2.5 or 3.1 * **************************************************************** * RECOMMENDATION: Apply the provided PTF and recompile * * programs with the LSACHECK compiler option * **************************************************************** There have been several reports of COBOL users getting different results from their applications after migrating to a new release of z/OS, either z/OS 2.5 or 3.1. This is because these applications had programs referencing LINKAGE SECTION data items whose addressability had not been set. These data items were referencing "low core" or addresses in the x'0000' to x'1000' range. The data in those addresses has not changed in many years, but was changed starting with z/OS 2.5, which caused a change in behavior in some of these programs. There was no way to prevent such programs from making changes to databases or files, so COBOL is providing this solution. ZOS0203T/K ZOS0204T/K ZOS0205T/K ZOS0301T/K
Problem conclusion
Temporary fix
Comments
The LSACHECK compiler option is added to the COBOL compiler. This option will cause any references to LINKAGE SECTION items with no addressability established to ABEND with an S0C4. This feature has no effect on performance. While initialization code normally sets the BLLs (addresses for LINKAGE SECTION items) to zero, with LSACHECK the BLLs are set to x'7FFFF000'. This corresponds to a page in z/OS that has no storage backing it, so any reference to this page (read or write) will cause a 0C4 ABEND. Properly written programs will not see any change (they also would not have had any difference in behavior when migrating to z/OS 2.5 or later) unless comparing the ADDRESS OF a LINKAGE SECTION item to NULL. For those cases, the code also needs to compare the address to x'7FFFF000'. There are COBOL Runtime APARs that improve upon LSACHECK feature by providing a new runtime message for ABENDs due to LSACHECK, to better explain the 0C4 ABEND. There is no dependency between the compiler LSACHECK APAR and the runtime message support for LSACHECK APAR. The run time APARs are: PH63898 for 31-bit/AMODE31 PH63939 for 64-bit/AMODE64
APAR Information
APAR number
PH63907
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
630
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2024-10-28
Closed date
2024-11-21
Last modified date
2025-01-02
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 IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI IGYCOPT 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 IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R630 PSY UI99158
UP24/12/03 P F412
R631 PSY UI99159
UP24/12/03 P F412
R632 PSY UI99160
UP24/12/03 P F412
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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"630","Line of Business":{"code":"LOB70","label":"Z TPS"}}]
Document Information
Modified date:
02 January 2025