IBM Support

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

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0"}]

Document Information

Modified date:
06 October 2021