IBM Support

IJ41667: CRASH DURING JIT COMPILATION

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: JVM terminates with GPF in libj9jit29. The
    javacore indicates that a method was being compiled at the time:
    1XHEXCPMODULE  Compiling method: <method>
    and the current thread with be a JIT compilation thread.
    .
    Stack Trace: The only reports so far have failed during local
    value propagation, but it seems likely that other locations for
    the failure could occur
    0x00007fde014537aa
    {libj9jit29.so}{_ZN3OMR16ValuePropagation11findOutEdgeERN2TR12fo
    rward_listIPNS1_7CFGEdgeENS1_15typed_allocatorIS4_RNS1_6RegionEE
    EEEPNS1_7CFGNodeE} <OSB>0x7fddfde7a148<CSB>
    0x00007fde0157df19
    {libj9jit29.so}{_ZL18constrainIfcmpeqnePN3OMR16ValuePropagationE
    PN2TR4NodeEb} <OSB>0x7fddfde7a150<CSB>
    0x00007fde0153717d
    {libj9jit29.so}{_ZN3OMR16ValuePropagation10launchNodeEPN2TR4Node
    ES3_i} <OSB>0x7fddfde7a250<CSB>
    0x00007fde01537511
    {libj9jit29.so}{_ZN3OMR16ValuePropagation12processTreesEPN2TR7Tr
    eeTopES3_} <OSB>0x7fddfde7a290<CSB>
    0x00007fde01537a8e
    {libj9jit29.so}{_ZN2TR21LocalValuePropagation12processBlockEPNS_
    7TreeTopE} <OSB>0x7fddfde7a2f0<CSB>
    0x00007fde01538048
    {libj9jit29.so}{_ZN2TR21LocalValuePropagation7performEv}
    <OSB>0x7fddfde7a350<CSB>
    0x00007fde013fdf67
    {libj9jit29.so}{_ZN3OMR9Optimizer19performOptimizationEPK20Optim
    izationStrategyiii} <OSB>0x7fddfde7a370<CSB>
    .
    

Local fix

  • The problem occurs during global value propagation, so disabling
    this optimisation for the failing method should allow the
    compilation to proceed normally. For example for a method
    packageA.packageB.MyClass.myMethod the following JVM option
    could be used:
    -Xjit:{packageA/packageB/Myclass.myMethod(*}(disableGlobalVP)
    Note that there can only be one active -Xjit option on the Java
    command line, so if there is an existing one in use it must be
    merged with the above.
    

Problem summary

  • This problem is caused by a rare edge case in global value
    propagation, discussed in detail in
    https://github.com/eclipse/omr/issues/6623. It results in
    corrupted nodes in the trees at the end of the GVP pass, and
    later optimisations then crash when processing these nodes. A
    good indication that this problem is involved would be the
    presence of nodes with missing children after GVP. If a jitdump
    is created during the crash this can be inspected for signs of
    the problem. A possible hint of the error is the presence of
    lines such as:
    TREE VERIFICATION ERROR -- treetop node <OSB>0x7fdc46088930<CSB>
    with ref count -2 (e.g. 13959)
    in the jitdump.
    

Problem conclusion

  • The problem is caused when GVP processes a loop using multiple
    passes, scheduling a node for one of the delayed transformations
    in the first pass, but then removing the node and others during
    the second pass. This has been mitigated by making the delayed
    transformation check that the node was not removed from the
    trees.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR7 FP20  (8.0.7.20)
    .
    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

    IJ41667

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-08-09

  • Closed date

    2022-08-12

  • Last modified date

    2022-08-12

  • 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:
12 August 2022