APAR status
Closed as program error.
Error description
Error Message: The problem is only applicable to system Z. When setting all elements of a short, char or int array to a constant, the JIT might populate wrong data into the array, if the data has MSB='1' (or is a negative value). For example: public class arrayset { public static void main (String<OSB><CSB> args) { short<OSB><CSB> a = new short<OSB>2001<CSB>; for (int i = 0; i<2000; i++) { a<OSB>i<CSB> = -300; } for (int i = 0; i<2000; i++) { System.out.println(a<OSB>i<CSB>); } } } java "-Xjit:verbose,limit={arrayset.main*}(count=0,optLevel=hot)" arrayset ... -301 -301 -301 -300 -301 -301 -301 -300 ... . Stack Trace: N/A .
Local fix
adding the option to disable arrayset unrolling provides a workaround: -Xjit:disableZArraySetUnroll however this might introduce some performance degradation.
Problem summary
The problem is caused by an incorrect sign extension of array data to be copied.
Problem conclusion
This defect will be fixed in: 6.0.1 SR1 7.0.0 SR1 . The JVM has been updated to prevent the wrong sign extension of array elements . To obtain the fix: Install build 20111022 or later
Temporary fix
Comments
APAR Information
APAR number
IV09488
Reported component name
JIT
Reported component ID
620700124
Reported release
260
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-10-24
Closed date
2011-10-26
Last modified date
2011-10-26
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
[{"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:
26 October 2011