IBM Support

IJ00732: JAVA JIT: INCORRECT RESULTS FOR PATTERNS OF SHIFTED AND OR'D BYTES

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: Code that accesses successive elements of a byte
    array and combines those elements using a combination of shifts
    and bitwise 'or' operators may produce incorrect results when
    compiled by the JIT.
    Example source code that could be impacted:
    int result = (data[i] & 0xff) | ((data[i+1] & 0xff) << 8) |
    ((data[i + 2] & 0xff) << 16) | (data[i + 3] << 24);
    The problem was introduced in Java 8 SR5 and can only occur when
    running on little endian architectures like Intel, but does not
    effect big endian systems like zOS/zLinux or AIX..
    .
    Stack Trace: N/A
    .
    

Local fix

  • The problem can be avoided by setting the following environment
    variable before starting the JVM:
    TR_DisableIORByteSwap=1
    

Problem summary

  • A new optimisation was added in 8SR5 that detects patterns of
    successive byte array accesses that are equivalent to a single
    read of a larger entity. Unfortunately the optimisation adapted
    incorrectly to little vs big endian byte in word order.
    

Problem conclusion

  • The optimisation has been fixed to return the bytes in the
    expected order.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR5 FP5   (8.0.5.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

    IJ00732

  • 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-10-13

  • Closed date

    2017-10-19

  • Last modified date

    2017-11-02

  • 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:
02 November 2017