IBM Support

IZ50173: PROGRAM CHECK IN JITED CODE AFTER CLASS UNLOADED AND THEN RELOAD ED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Problem Description:
    
    Delgating Reflection functions are incorrectly inlined by the
    JIT. The optimized code does not correctly check for unloaded
    classes. This can cause failures while executing code that has
    been JITed.
    
    The stack trace may contain reflection methods similar to any
    of the following:
     - sun/reflect/GeneratedConstructorAccessor##
     - sun/reflect/GeneratedMethodAccessor##
     - sun/reflect/DelegatingConstructorAccessorImpl.newInstance
     - sun/reflect/DelegatingMethodAccessorImpl.invoke
    near or at the top of the Java stack.
    
    JVM trace may show the class encountering a problem having been
    recently unloaded.
    
    This only applicable to z/OS or z/Linux.
    
    Keywords:
    
    ABENDS0C4 JIT Crash RUNCALLINMETHOD ABENDS0C1 ABEND0C4 ABEND0C1
    

Local fix

  • Resolved in Java 5 SR10
    

Problem summary

  • when a method A.method is compiled which inlined B.invoke. Class
    A is from bootstrapClassloader and never be unloaded. Class B
    from delegating classloader and it was unloaded. We tested class
    B before executing B.invoke. So after class B being unloaded, we
    have no chance to execute inlined B.invoke. However, we saw from
    the dump that 2 seconds before the crash, class C was loaded
    using the same class address as class B. Then when some one make
    a call C.invoke and we executed the inlined code B.invoke which
    is the wrong method.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR10
    6.0.0 SR5
    .
    Added code to invalidate the check after class is unloaded.
    .
    To obtain the fix:
    Install build 20090506 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ50173

  • 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

    2009-05-01

  • Closed date

    2009-05-05

  • Last modified date

    2009-09-17

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

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

    IZ50209 PK99653

Fix information

  • Fixed component name

    JAVA 5 JIT

  • Fixed component ID

    620500124

Applicable component levels

  • R500 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
17 September 2009