IBM Support

PH51749: JAVAINTEROP IMPROVEMENTS IN THE COMPILER (JANUARY 2023)

A fix is available

Subscribe

You can track all active APARs for this component.

 

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