IBM Support

IJ21225: INFINITE LOOP ON STATIC FINAL FIELD MODIFICATION

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: The JVM will appear to hang. Repeated javacores
    will show the current active thread running code in the JIT DLL.
    .
    Stack Trace: The 'hung' thread that is in an infinite loop will
    have a backtrace similar to:
    TR::PatchMultipleNOPedGuardSites::compensate(TR_FrontEnd*, bool,
    void*) () from
    ./opt/ibm/java/jre/lib/amd64/compressedrefs/libj9jit29.so
    TR_RuntimeAssumptionTable::notifyIllegalStaticFinalFieldModifica
    tionEvent(TR_FrontEnd*, void*) () from
    ./opt/ibm/java/jre/lib/amd64/compressedrefs/libj9jit29.so
    jitIllegalFinalFieldModification () from
    ./opt/ibm/java/jre/lib/amd64/compressedrefs/libj9jit29.so
    .
    

Local fix

  • -Xjit:disableStaticFinalFieldFolding Use of this option is
    likely to lower application performance - actual amount of
    affect is highly workload dependent but is often a few percent.
    

Problem summary

  • A bug in the JIT logic to account for writes to static final
    fields can allow the handler code to enter an infinite loop. The
    code in question is called if a static final field has been
    examined when compiling a method and is subsequently modified by
    the application.
    

Problem conclusion

  • The JIT logic for handling writes to static final fields has
    been updated to avoid the infinite loop.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR6       (8.0.6.0)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ21225

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-11-27

  • Closed date

    2019-11-27

  • Last modified date

    2019-11-27

  • 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":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
27 November 2019