Skip to main content

IZ76271: CLASS.FORNAME THROWS CLASSNOTFOUNDEXCEPTION WHEN REFLECTED AND J IT-COMPILED


Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: A ClassNotFoundException is thrown (and re-thrown
    inside an InvocationTargetException) when Class.forName is
    called via reflection and the associated
    GeneratedMethodAccessorXXX.invoke method is compiled by the
    just-in-time compiler. XXX could be any number (depending on the
    number of reflected objects in the application). This problem
    could occur in both Java 5 and Java 6.
    .
    Stack Trace: java.lang.reflect.InvocationTargetException
            at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown
    Source)
            at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:618)
            at LoadingClass.test(LoadingClass.java:18)
            ... 4 more
    Caused by: java.lang.ClassNotFoundException: hw
            at java.lang.Class.forNameImpl(Native Method)
            at java.lang.Class.forName(Class.java:130)
            ... 8 more
    .
    

Local fix

  • This issue can be worked around using the
    -Xjit:disableInliningOfNatives option.
    

Problem summary

  • The problem is caused by an optimization in the JIT compiler
    that attempts to speed up class loading. The optimization
    contains a bug which causes the compiled code to use an
    incorrect class loader when Class.forName is invoked.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR12
    6.0.0 SR9
    .
    The JIT compiler has been updated to produce correct code when
    performing this optimization.
    .
    To obtain the fix:
    Install build 20100529 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ76271

  • 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

    2010-05-26

  • Closed date

    2010-06-02

  • Last modified date

    2010-07-16

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

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

    IZ76301

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

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:
5.0


Reference #:
IZ76271


Modified date:
2010-07-16

Translate my page

Content navigation