Skip to main content

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

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Runtimes for Java Technology

Just In Time (JIT) Compiler


Software version:
6.0


Reference #:
IZ96848


Modified date:
2011-12-19

Translate my page

Content navigation