A fix is available
APAR status
Closed as new function.
Error description
This apar provides improvements to JavaInterop. - Add support for PIX X/U DYNAMIC as a Java-compatible type (compatible with Java String objects) - Improve the way Java resources are cleaned up when COBOL makes calls to Java, to ensure there are no resource leaks. - Correct a problem that occurs when a Java application tries to access JAVA-SHAREABLE data items from COBOL from multiple different COBOL programs in the run unit. Previously, unless all COBOL programs were called first before access to the shareable items was made from Java, the Java program would possibly get uninitialized data returned. With this fix, the requirement now is that before accessing a JAVA-SHAREABLE item in COBOL from Java, you must first call that COBOL program from Java (only once is necessary).
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.4 compiling and * * running programs that use non-OO COBOL/Java * * interoperability features and satisfy one or * * more of the following conditions: * * * * (1) The program runs out of memory while * * making repeated calls to static Java * * methods. * * * * (2) The Java part of the application * * receives incorrect results accessing the * * COBOL working-storage memory from multiple * * different COBOL programs when all the COBOL * * programs have not been called at least once * * before the first access to COBOL * * working-storage from Java is made. * * * * (3) PIC X/U DYNAMIC data items not reported * * as invalid Java-compatible types (support is * * introduced in this APAR) and produce * * unpredictable results when used as arguments * * and parameters with Java. * **************************************************************** * PROBLEM DESCRIPTION: (1) The application terminates with * * out-of-memory condition. The failure * * output might vary and one of the * * symptoms can be: * * * * Exception in thread "main" * * java/lang/OutOfMemoryError: Java heap * * space at java/lang/VMAccess.findClassOr * * Null * * (NativeMethod:4294967295) * * at java/lang/VMAccess.findClassOrNull * * Helper (VMAccess.java:55) * * at com/ibm/oti/vm/BootstrapClassLoade * * r.loadClass (BootstrapClassLoader. * * java:81) * * * * * * (2) Incorrect results at runtime. * * * * (3) Incorrect results at runtime. * **************************************************************** * RECOMMENDATION: Apply the IBM-provided PTF * **************************************************************** When making calls to static Java methods from COBOL, local references relating to the processing of array and zoned/packed decimal arguments were not being cleaned up properly. Additionally, cjbuild was defining the strg class for interfacing with COBOL working-storage memory in a way that required all COBOL programs with Java-shareable items to be called first before the memory of any one of them was accessed. Finally, support for mapping Java String objects to COBOL PIC X/U DYNAMIC items has been added to the compiler.
Problem conclusion
The compiler and cjbuild utility were updated to address various usability and stability issues relating to the non-OO Java/COBOL interoperability feature.
Temporary fix
Comments
APAR Information
APAR number
PH51749
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
640
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2023-01-06
Closed date
2023-01-23
Last modified date
2023-02-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 IGYCJBLD IGYCJGEN IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI 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
R640 PSY UI90218
UP23/01/26 P F301
R641 PSY UI90219
UP23/01/26 P F301
R642 PSY UI90220
UP23/01/26 P F301
R64H PSY UI90221
UP23/01/26 P F301
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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"640","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023