IBM Support

IV72266: INCORRECT BEHAVIOUR IN JAVA PROGRAM WHEN A LOOP IS OPTIMIZED

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Error Message: A loop induction variable or loop counter
    variable contains an incorrect value after the loop has finished
    execution, which could lead to incorrect behaviour or unexpected
    exceptions. The problem can potentially affect code that
    iterates through a byte or character array and accesses an item
    in a form of <OSB>index + offset<CSB>, where index is an
    induction variable and is used outside of the loop afterwards.
    .
    Stack Trace: N/A
    .
    This problem is only triggered on System z (both z/OS and
    Linux).
    

Local fix

  • This problem can be avoided by setting the JVM option
    -Xjit:{full method name}(disableIdiomRecognition) for the method
    that is causing the issue. This may cause some performance
    degradation.
    

Problem summary

  • The problem is caused by the idiom recognition optimization in
    the JIT compiler which did not handle offsets added to induction
    variables within a loop properly.
    

Problem conclusion

  • The JIT compiler has been modified to fix this error.
    .
    This APAR will be fixed in the following Java Releases:
       7    SR9       (7.0.9.0)
       7 R1 SR3       (7.1.3.0)
       6    SR16 FP4  (6.0.16.4)
       6 R1 SR8 FP4   (6.1.8.4)
    .
    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

    IV72266

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-04-15

  • Closed date

    2015-04-15

  • Last modified date

    2017-03-13

  • 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

  • R260 PSY

       UP

  • R600 PSY

       UP



Document information

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

Software version: 130

Reference #: IV72266

Modified date: 13 March 2017