Skip to main content

IV22238: REFLECTIVE FIELD MODIFICATION LEADS TO INCORRECT METHOD CALLS


Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: When a base class B is extended by a subclass C
    and one of its public methods M is overridden, a call to C.M can
    incorrectly execute B.M, when the following conditions are met:
    - a third class defines F as a private static field of type B;
    - the field is modified by external code, via reflection, to
    point to an object of type C;
    - F.M is called in a hot loop.
    .
    Stack Trace: N/A
    .
    

Local fix

  • This problem can be avoided by setting the JVM command-line
    option -Xjit:disablelookahead.
    

Problem summary

  • The JIT compiler attempted to optimize the hot call by
    devirtualizing the call to M, but its analysis resulted in an
    incorrect type for the private static field F when it could be
    modified via reflection.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR3
    7.0.0 SR2
    6.0.0 SR11
    5.0.0 SR14
    .
    The JIT compiler has been updated to perform the type analysis
    correctly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV22238

  • 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

    2012-06-06

  • Closed date

    2012-06-06

  • Last modified date

    2012-09-06

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

    IV22237

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

Fix information

  • Fixed component name

    JAVA 5 JIT

  • Fixed component ID

    620500124

Applicable component levels

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


Reference #:
IV22238


Modified date:
2012-09-06

Translate my page

Content navigation