IBM Support

IV50392: JIT-COMPILED LOOP CAUSES INCORRECT PROGRAM BEHAVIOUR

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: The Java JIT compiler may incorrectly optimize a
    loop that performs one bitwise operation (AND, OR, XOR) on
    arrays, using two loop indices (or induction variables). After
    the execution of an affected loop, the second induction variable
    will be incorrectly updated or corrupted. This may in turn cause
    a variety of incorrect program behaviour. In particular, a
    program attempting to create a SSL connection may encounter an
    unexpected javax.crypto.BadPaddingException due to this problem.
    .
    Stack Trace: N/A
    .
    

Local fix

  • The -Xjit:disableIdiomRecognition option will work around this
    issue.
    

Problem summary

  • The JIT compiler is able to recognize small loops and turn them
    into CISC instructions available on System z hardware. In the
    case of a loop that performs a single bitwise operation using
    two induction variables, this optimization may produce incorrect
    code.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR6
    6.0.1 SR7
    6.0.0 SR15
    .
    The JIT optimization has been corrected to update the second
    induction variable appropriately.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV50392

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-10-04

  • Closed date

    2013-10-04

  • Last modified date

    2013-10-04

  • 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:
04 October 2013