IZ96848: JAVA6 JIT - EXECUTING THE WRONG CODE WHEN TWO IMPLEMENTATIONS EX IST

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Error Message: Executing the wrong implementation of an abstract
    method.
    Possible symptoms are varied:
    1) Crash in JIT compiled code or the interpreter
    2) In correct behaviour of a Java application
    3) Unexpected exception
    4) Crash in JIT runtime routines
    5) Crash in GC
    .
    Stack Trace: N/A
    .
    The problem only exist in Java6 and requires that a class is
    loaded during JIT compilation of a method where an assumption
    was made based on the fact that only one implementation of an
    abstract method exists. The new class that was loaded contains a
    2nd implementation of that method invalidating the assumption
    before the JIT compilation was completed.
    

Local fix

  • The problem can be avoided by using the following Java command
    line option:
    -Xjit:disableInnerPreexistence,disableInvariantArgumentPreexiste
    nce,disableRedundantMonitorElimination
    

Problem summary

  • When a class is loaded that invalidates a compile time
    assumption before the compilation has completed, the JIT will
    abort the compilation leaving a inconsistent state in some class
    metadata that may cause future JIT compilations to make invalid
    assumptions about the class hierarchy.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR9 FP3
    6.0.1 GA FP1
    .
    The JIT was modified so that aborted compilations will do proper
    class metadata maintenance before exiting the compiler.
    .
    To obtain the fix:
    Install build 20110323 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ96848

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-03-16

  • Closed date

    2011-05-10

  • Last modified date

    2011-12-19

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

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

    PM54794

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

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

IZ96848

Modified date:

2011-12-19

Translate my page

Machine Translation

Content navigation