IBM Support

PH26029: Various C/C++ runtime failures during termination if the COBOL created JVM isn't explicitly destroyed

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Historically the COBOL runtime has created a JVM as required,
    but did not explicitly terminate it. In some cases this leads to
    thread termination failures in the C/C++ runtime.
    

Local fix

  • Include application code to terminate the JVM; sample code
    available on request.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5 and later       *
    *                 releases running COBOL programs that make    *
    *                 use of Object-Oriented features to interact  *
    *                 with Java.                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: C/C++ runtime library abended           *
    *                      intermittently during Language          *
    *                      Environment Enclave termination when    *
    *                      freeing storage belonging to a thread   *
    *                      that had already been terminated.       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When the OO COBOL application terminated, all COBOL storages and
    resources were freed and cleaned up. But the JVM, being a C++
    application, was still active at this point. Later when the JVM
    was destroyed, the cleanup process attempted to free storage
    that had been freed. This led to ABEND in the C/C++ runtime
    during termination processing.
    
    COB0501T/K COB0502T/K COB0601T/K COB0602T/K COB0603T/K
    

Problem conclusion

  • An environment variable has been added to control the
    destruction of JVM at COBOL termination. If this environment
    variable is set to 1,
      COBDESTROYJVM=1
    the JVM will be destroyed when the COBOL main program returns
    (via STOP RUN or GOBACK statements). This would resolve the
    issue described in Problem Summary.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH26029

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7C0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-02

  • Closed date

    2020-06-16

  • Last modified date

    2020-07-06

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • IGZ3OPT  IGZ4OPT  IGZCEV4  IGZLLIBV IGZXAPI  IGZXCDA  IGZXD24
    IGZXDMR  IGZXLPIO IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD IGZXLPKE
    IGZXLPKF IGZXLPKG IGZXOPT  IGZXPK2
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7A0 PSY UI70070

       UP20/06/23 P F006

  • R7B0 PSY UI70075

       UP20/06/23 P F006

  • R7C0 PSY UI70076

       UP20/06/23 P F006

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":"7C0","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}}]

Document Information

Modified date:
07 July 2020