APAR status
Closed as program error.
Error description
Error Message: JRuby throws an unexpected RangeError. This problem could affect other Java programs too, and the most likely symptom is an ArrayIndexOutOfBoundsException. . Stack Trace: RangeError: 256 out of char range org/jruby/RubyInteger.java:272:in `chr' test_digest_extend.rb:43:in `test_digest_s_hexencode' org/jruby/RubyArray.java:2336:in `collect' test_digest_extend.rb:43:in `test_digest_s_hexencode' org/jruby/RubyKernel.java:1944:in `send' org/jruby/RubyArray.java:1603:in `each' org/jruby/RubyArray.java:1603:in `each' .
Local fix
-Xjit:disableLoopStrider Note that the use of this option may have a small performance impact. In most cases the performance will be reduced by 1% or less.
Problem summary
The problem is caused by the loop striding optimization in the JIT compiler. The optimization is designed to reduce the amount of computation needed to derive the value of induction variables in each iteration of a loop, by replacing the computation with simpler arithmetics. When a variable is used in the loop termination condition, and the variable is the result of a type conversion, and the variable is referenced in multiple expressions, then the optimization may incorrectly replace the variable in the wrong expression (e.g. in an array index), causing the loop to misbehave or an array operation to go out of bounds.
Problem conclusion
This defect will be fixed in: 7.0.0 SR5 6.0.1 SR6 6.0.0 SR14 5.0.0 SR16 FP3 . The JIT compiler has been modified to correct the optimization.
Temporary fix
Comments
APAR Information
APAR number
IV44071
Reported component name
JIT
Reported component ID
620700124
Reported release
260
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-06-10
Closed date
2013-06-10
Last modified date
2014-01-22
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
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:
22 January 2014