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 SR13FP2 . The JIT compiler has been updated to perform the type analysis correctly.
Temporary fix
Comments
APAR Information
APAR number
IV22237
Reported component name
JIT
Reported component ID
620700124
Reported release
260
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-06-06
Closed date
2012-06-06
Last modified date
2012-06-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
IV22238 PM66904
Fix information
Fixed component name
JIT
Fixed component ID
620700124
Applicable component levels
R260 PSY
UP
R600 PSY
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":"260","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
06 June 2012