IV20339: SYSTEM Z JIT-COMPILED CODE CRASH AFTER CATCHING AN EXCEPTION

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Error Message: A SIGSEGV or ABEND occurs in a JIT-compiled
    method after an inlined method throws an exception which is
    caught by a handler in the JIT-compiled method.
    The catch is often implicit, caused by the exception being
    thrown out of a synchronize block, which requires the JVM to
    unlock an object before continuing to look for a suitable catch
    block down the call stack. Hence, in some cases, the crash point
    can be in the native function jitMonitorExit.
    .
    Stack Trace:
    .
    This failure only occurs on a z196 system running z/OS or
    z/Linux.
    

Local fix

  • This issue can be avoided by using the -Xjit:disableZGryphon
    option.
    

Problem summary

  • The crash or ABEND occurs when program execution jumps to a
    wrong exception handler, due to an incorrectly specified
    exception range in the exception table of the JIT-compiled
    method.
    This problem is caused by a z196-specific optimization that
    exploits conditional move instructions to eliminate unnecessary
    branches. When the branch being eliminated comes from a basic
    block that can throw exceptions, the JIT compiler fails to mark
    the end of the exception range properly, and eventually
    generates a corrupt exception table.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR2 FP1
    7.0.0 SR2
    .
    The JIT compiler has been updated to generate correct exception
    ranges in this scenario.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV20339

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

  • Closed date

    2012-05-18

  • Last modified date

    2012-10-02

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

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

    PM74205

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R260 PSY

       UP



Rate this page:

(0 users)Average rating

Document information


More support for:

Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version:

260

Reference #:

IV20339

Modified date:

2012-10-02

Translate my page

Machine Translation

Content navigation