APAR status
Closed as program error.
Error description
Error Message: Crash in JIT compiled code, GC or the interpreter due to a bad object reference in the backing array of an ArrayList. . Stack Trace: The stack trace for a failure of this type is not consistent. It could fail in several ways with different stack traces. . The problem can occur on any platform
Local fix
-Xjit:disableArrayCopyOpts This option will have a small (likely unmeasurable) performance impact, but a more pronounced effect could be seen in extreme cases where arraycopy() calls account for the majority of the execution time.
Problem summary
The JIT attempts to optimize arraycopy() calls made by ArrayList methods knowing that the code is written such that the arraycopy() is never asked to copy more then the number of elements in the backing array. This is only true if uses of the ArrayList are protected by a lock or only used by a single thread. Unsynchronized multi-threaded uses of an ArrayList could result in race conditions that allows for the ArrayList counters and the backing array to become out of sync. This allows the possibility for arraycopy() to be asked to copy more elements then exist in the backing array.
Problem conclusion
The JIT was modified so that it no longer assumes that the ArrayList methods will never call arraycopy() with arguments that cause it to copy beyond the end of the backing array. This means that rather then copying random garbage past the end of the array, it will throw an exception in the cases where unsynchronized multi-threaded access to an ArrayList results in internal inconsistencies within the ArrayList. . This APAR will be fixed in the following Java Releases: 6 R1 SR8 FP3 (6.1.8.3) 7 R1 SR3 (7.1.3.0) 6 SR16 FP3 (6.0.16.3) 7 SR8 FP10 (7.0.8.10) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the Service Refreshes and Fix Packs can be found at: https://www.ibm.com/developerworks/java/jdk/
Temporary fix
Comments
APAR Information
APAR number
IV67555
Reported component name
JIT
Reported component ID
620700124
Reported release
260
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-12-04
Closed date
2014-12-04
Last modified date
2015-10-20
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JIT
Fixed component ID
620700124
Applicable component levels
R260 PSY
UP
R130 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:
20 October 2015