IV20650: 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 when certain JVMTI agents
    are in use.
    

Local fix

  • Detaching all JVMTI agents will work around this issue.
    

Problem summary

  • The problem can only occur when HCR mode is enabled by JVMTI
    agents. 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 HCR
    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.0 SR11
    6.0.1 SR3
    7.0.0 SR2
    .
    The JIT compiler has been updated to ensure that proper
    assumptions get freed in the scenarios identified.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV20650

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-05-04

  • Closed date

    2012-05-04

  • 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:

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R600 PSY

       UP

  • R260 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version:

6.0

Reference #:

IV20650

Modified date:

2013-03-30

Translate my page

Machine Translation

Content navigation