IBM Support

IV20123: JIT CODE CACHE CORRUPTION CAUSING CRASHES

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 crashes while executing a JIT-compiled
    Java method that seemingly contains an invalid instruction, or
    takes a wild branch to an unrelated method or invalid memory.
    The invalid instruction typically has been partially overwritten
    with the nibble 0xF. If verbose JIT logging is turned on, the
    crashing method may be shown with a code cache address range
    that overlaps that of another method, e.g.
    
    + (warm) Testcase.foo()V @
    0x52CF4AFC-0x52CF4B20/0x52D62F8C-0x52D63F6C Q_SZ=11 sync
    compThread=1
    + (profiled hot) Testcase.foo()V @
    0x52D0B3FC-0x52D0CD58/0x52D59F7C-0x52D5A7B4 7.01% T Q_SZ=11 sync
    compThread=1
    + (warm) Testcase.bar()V @
    0x52D1FCF4-0x52D1FF30/0x52D6328C-0x52D6349C Q_SZ=7 sync
    compThread=0
    
    In this example, the code cache address range of Testcase.bar
    (0x52D6328C to 0x52D6349C) overlaps that of the first version of
    Testcase.foo (0x52D62F8C to 0x52D63F6C), which has just been
    re-compiled at a higher optimization level.
    
    Stack Trace: N/A
    
    This problem only occurs on System z.
    

Local fix

  • This problem can be avoided by disabling AOT compilation support
    with the -Xnoaot option.
    

Problem summary

  • The problem can only occur when AOT compilation support is
    enabled. When a method is re-compiled, the JIT code
    cache space occupied by its old version is freed, along with any
    associated run-time assumption data. However, in some situations
    with AOT enabled, the run-time assumption data is not freed,
    causing corruption in the JIT code cache later on.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR3
    7.0.0 SR2
    6.0.0 SR11
    .
    The JIT compiler has been updated to ensure that proper
    assumptions get freed in the scenarios identified.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV20123

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-04-23

  • Closed date

    2012-04-23

  • Last modified date

    2013-03-30

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

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

    IV28954

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R260 PSY

       UP

  • R600 PSY

       UP

[{"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":"260","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
30 March 2013