IBM Support

IJ47675: JAVA JIT: DIVIDE BY ZERO IN COMPUTETHREADCPUUTILOVERLASTNNS()

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: A 0C9/FPE (integer Divide by zero) OS signal is
    thrown causing the JVM to abort.
    .
    Stack Trace:
    {libj9jit29.so}{CpuSelfThreadUtilization::computeThreadCpuUtilOv
    erLastNns(long)}
    {libj9jit29.so}{DoCalculateOverallCompCPUUtilization(...)}
    {libj9jit29.so}{samplerThreadProc(void*)}
    {libj9thr29.so}{thread_wrapper}
    .
    The problem can occur on X86 and IBM-Z machines (but not on
    POWER because an integer divide by zero does not cause a signal
    on POWER). On X86 it would be a SIGFPE and on IBM-Z (zOS) it
    would be a 0C9.
    

Local fix

  • The issue is typically made possible by enabling JIT verbose
    options "compilationThreads" or "compilationThreadsDetails" or
    by requesting trace point "j9jit.42". The issue could be avoided
    by making sure those are not enabled.
    i.e. Remove the java command line argument
    "-Xjit:verbose={compilationThreads}"
    or
    "-Xjit:verbose={compilationThreadsDetails}
    

Problem summary

  • The JIT can update it's CPU utilization data structure in more
    then one thread which results in a race condition which could
    lead to a divide by zero in computeThreadCpuUtilOverLastNns().
    

Problem conclusion

  • The JIT was modified so that it checks for a 0 divisor in the
    computeThreadCpuUtilOverLastNns() method and returns an error
    (-1) to the caller in such cases.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR8 FP11  (8.0.8.11)
    .
    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

    IJ47675

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-07-22

  • Closed date

    2023-07-24

  • Last modified date

    2023-07-24

  • 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

    JIT

  • Fixed component ID

    620700124

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":"130","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
25 July 2023