IBM Support

IV95401: ARRAYINDEXOUTOFBOUNDS EXCEPTION IS NOT THROWN

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: An ArrayIndexOutOfBounds exception is not thrown
    when a negative array index is used which should cause the
    exception to be thrown. Instead the array access will be
    performed which can cause unexpected behaviour and/or a crash.
    .
    Stack Trace: N/A
    .
    This problem can only happen on z Systems. The problem is more
    likely to happen when the Java command line option
    -Xjit:noResumableTrapHandler is used. Note that the -Xrs option
    implies this option.
    

Local fix

Problem summary

  • Under certain circumstances, the JIT compiler will generate
    Compare Logical instructions for checking ArrayIndexOutOfBounds
    conditions.  When the JIT compiler determines that the array
    index is a constant value, the bounds check will use an
    instruction with a 16-bit unsigned immediate field to hold the
    index to compare against the array length.  For array lengths
    larger than 2?15, the negative array index values would be
    incorrectly interpreted as valid indices, and no
    ArrayIndexOutOfBoundsExceptions are thrown. If
    -Xjit:noResumableTrapHandler or -Xrs JVM options are used, the
    JIT compiler will generate an instruction with an 8-bit unsigned
    immediate field, resulting in array lengths of larger than 2?7
    to expose the incorrect behaviour.
    

Problem conclusion

  • The JIT compiler has been updated to recognize that a negative
    array index will always generate an ArrayIndexOutOfBounds
    exception thus preventing the problem.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR4 FP5   (8.0.4.5)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV95401

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-24

  • Closed date

    2017-04-24

  • Last modified date

    2017-04-24

  • 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

  • R130 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":"130","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
24 April 2017