IBM Support

IJ46958: GPF WITH JRE 11 Z/OS S390X-64 (BUILD 11.0.16+8). THE GPF APPEARS TO BE A BRANCH TO A BAD ADDRESS, FROM LIBJAVA.SO::GETBOOTTIME()

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: None
    .
    Stack Trace: The GPF appears to be a branch to a bad address,
    from libjava.so::getBoottime().
    bp: 0x0000005098cfb580 pc: 0x00000000153b9766
    ExtraSymbolsModule::CELQHROD+0x266 bp: 0x0000005098cfb780 pc:
    0xbaadf00ddeadbeef libjsig.so::j9copyright+0xbaadefbd2440052f
    bp: 0x0000005098cfb8c0 pc: 0x000000007c71cb90
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/libjava.so::getBoottime
    +0xb0 bp: 0x0000005098cfb9c0 pc: 0x000000007c71cc6c
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/libjava.so::os_initNati
    ve+0x24 bp: 0x0000005098cfbac0 pc: 0x000000007c71bc6c
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/libjava.so::Java_java_l
    ang_ProcessHandleImpl_initNative+0x74 bp: 0x0000005098cfbbc0 pc:
    0x000000007c800b70
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/default/libj9vm29.so::F
    FISYS+0x570 bp: 0x0000005098cfc280 pc: 0x000000007cb18c82
    ExtraSymbolsModule::ffi_call+0x56a bp: 0x0000005098cfc380 pc:
    0x000000007c93f1f2
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/default/libj9vm29.so::b
    ytecodeLoopCompressed+0x28692 bp: 0x0000005098cfcbc0 pc:
    0x000000007c800176
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/default/libj9vm29.so::c
    _cInterpreter+0x7e bp: 0x0000005098cfd140 pc: 0x000000007c80b5d6
    /java/java11_bit64_sr16_fp0/J11.0_64/lib/default/libj9vm29.so::s
    endClinit+0x54e
    .
    

Local fix

Problem summary

  • The availability of proc/stat file and the value of bootTime in
    the file are suspected to be the reason for crash and handling
    of the same in ProcessHandleImpl_zos.c file has fixed the issue
    

Problem conclusion

  • The code had adapted getBootTime() to z/OS by calling fgets()
    instead of getline(). But it missed a detail i.e., NULL cannot
    be passed as the first argument to fgets() (which getline() does
    accept). It either needs to allocate line on the stack or heap.
    So the completion of the z/OS adaptation of getBoottime() is
    done by stack allocating line and also not calling free() on it,
    because it is allocated on the stack
    .
    This APAR will be fixed in the following Releases:
    .
    IBM Semeru Runtimes
       11              11.0.19.0
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    maintenance can be found at:
               https://www.ibm.com/support/pages/java-sdk
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ46958

  • Reported component name

    OPENJDK CLASS L

  • Reported component ID

    621800100

  • Reported release

    B00

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-05-24

  • Closed date

    2023-06-01

  • Last modified date

    2023-06-01

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

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

Fix information

  • Fixed component name

    OPENJDK CLASS L

  • Fixed component ID

    621800100

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
02 June 2023