IBM Support

IV77908: NESTED LOOP IN JIT COMPILED METHOD DOES NOT TERMINATE WHEN EXPEC TED

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: Various error messages are possible, including no
    error message. A known one is an unexpected
    ArrayIndexOutOfBounds Exception.
    .
    Stack Trace: IBM XML Java code is known to trigger the problem
    in the following methods:
    com/ibm/xml/.../SimplePositionHelper.getCurrentPosition10
    and,
    com/ibm/xml/.../DataBufferHelper.computeCoords10
    .
    

Local fix

  • The problem can be worked around by either globally disabling
    the loop unrolling optimization with the following Java option:
    -Xjit:disableGLU
    Or, the loop unrolling optimization can be disabled on specific
    methods that are experiencing the problems. Note that if those
    methods get inlined into other methods then the optimization
    will not be disabled on the inlined methods. Disabling inlining
    of the methods can be done with the following Java option:
    -Xjit:dontInline={package/Class.method(signature)}
    Please note that any of these workarounds can affect
    performance.
    

Problem summary

  • The problem is caused by the loop unrolling optimization not
    detecting an exit condition in the outer loop of a nested loop
    with a depth of 2. As a result the unrolled version of the loop
    will have copies which do not have the exit condition and thus
    the loop may not terminate as expected.
    

Problem conclusion

  • The JIT compiler has been updated to correctly handle nested
    loops which have unique features like the ones which exposed the
    problem in this APAR.
    .
    This APAR will be fixed in the following Java Releases:
       7 R1 SR3 FP20  (7.1.3.20)
       6 R1 SR8 FP15  (6.1.8.15)
       8    SR2       (8.0.2.0)
       7    SR9 FP20  (7.0.9.20)
    .
    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

    IV77908

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-10-09

  • Closed date

    2015-10-09

  • Last modified date

    2015-10-15

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PI50631

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R130 PSY

       UP

  • R260 PSY

       UP



Document information

More support for: Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version: 130

Reference #: IV77908

Modified date: 15 October 2015