IZ96498: JAVA5/6 JIT-INCORRECT REMOVAL OF ARRAY BOUNDS CHECK WHEN USING B YTE OR SHORT INDEX VARIABLE
Closed as program error.
Error Message: SIGSEGV executing JIT compiled code. Other symptoms are possible because of Java heap corruption due to this error. . Stack Trace: N/A . The problem can only occur when using a byte or short variable as the array index and only if the upper limit of the loop is larger than can be represented by the variable (e.g. >127 for byte or >32767 for short).
The problem can be avoided by using the following Java command line option: -Xjit:disableLoopVersioner Using the above option will degrade performance between 5 and 10 percent, depending on the application.
The JIT was removing bound checks when there is a possibility that the array index will overflow to a negative value, resulting reading or writing to negative offsets.
This defect will be fixed in: 5.0.0 SR13 6.0.0 SR10 . The JIT was modified to prevent this problem from occuring. . To obtain the fix: Install build 20110323 or later
Reported component name
JAVA 5 JIT
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
JAVA 5 JIT
Fixed component ID
Applicable component levels