IZ96416: JAVA 5/6 JIT - HANG WHILE COMPILING A METHOD

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Error Message: A hang with high CPU will be seen while compiling
    a method in the JIT compiler.
    .
    Stack Trace: The hanging thread will have the following stack
    trace...
    {libj9jit23.so}{IPRA.$checkDefsAndUses__17TR_EscapeAnalysisFP7TR
    _NodeP9Candidate}
    {libj9jit23.so}{IPRA.$checkDefsAndUses__17TR_EscapeAnalysisFP7TR
    _NodeP9Candidate}
    {libj9jit23.so}{IPRA.$checkDefsAndUses__17TR_EscapeAnalysisFP7TR
    _NodeP9Candidate}
    {libj9jit23.so}{checkDefsAndUses__17TR_EscapeAnalysisFv}
    {libj9jit23.so}{performAnalysisOnce__17TR_EscapeAnalysisFv}
    {libj9jit23.so}{perform__17TR_EscapeAnalysisFv}
    {libj9jit23.so}{IPRA.$performOptimization__16TR_OptimizerImplFPQ
    2_16TR_OptimizerImpl12OptimizationiN22}
    {libj9jit23.so}{IPRA.$performOptimization__16TR_OptimizerImplFPQ
    2_16TR_OptimizerImpl12OptimizationiN22}
    {libj9jit23.so}{IPRA.$performOptimization__16TR_OptimizerImplFPQ
    2_16TR_OptimizerImpl12OptimizationiN22}
    {libj9jit23.so}{IPRA.$performOptimization__16TR_OptimizerImplFPQ
    2_16TR_OptimizerImpl12OptimizationiN22}
    {libj9jit23.so}{IPRA.$performOptimization__16TR_OptimizerImplFPQ
    2_16TR_OptimizerImpl12OptimizationiN22}
    {libj9jit23.so}{optimize__16TR_OptimizerImplFv}
    {libj9jit23.so}{performOptimizations__14TR_CompilationFv}
    {libj9jit23.so}{compile__14TR_CompilationFv}
    .
    

Local fix

  • The problem can be avoided by disabling the compilation of the
    method being compiled when the hang occurred:
    -Xjit:exclude={path/class.method*}
    Excluding the compilation of one method should have a negligible
    impact on performance. The method causing the hang can be
    determined by examining a Javacore file taken when the hang has
    occurred.
    If it's unknown what method is being compiled when the hang
    occurs, or you suspect that more then one method is suffering
    from the same problem you can use the following global
    work-around:
    -Xjit:disableGlobalVP,disableLocalVP
    Using this work-around will have a 5-15% impact on performance.
    

Problem summary

  • The JIT would remove nodes from the its internal representation
    of the code without rebuilding some internal data structures to
    reflect that change. This results in an endless loop when other
    JIT optimizations try and use the inconsistent data structures.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR13
    6.0.0 SR10
    .
    The JIT was modified so that it would invalidate the data
    structures when they are no longer consistent, forcing future
    optimizations to rebuild the data structures if needed.
    .
    To obtain the fix:
    Install build 20110313 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ96416

  • Reported component name

    JAVA 5 JIT

  • Reported component ID

    620500124

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-03-10

  • Closed date

    2011-04-21

  • Last modified date

    2011-04-21

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

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

    IZ96497

Fix information

  • Fixed component name

    JAVA 5 JIT

  • Fixed component ID

    620500124

Applicable component levels

  • R500 PSN

       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:

5.0

Reference #:

IZ96416

Modified date:

2011-04-21

Translate my page

Machine Translation

Content navigation