IBM Support

IV33473: INCORRECT EXECUTION OF CONDITIONAL ARITHMETIC OPERATION IN JIT C OMPILED CODE

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: A conditional int arithmetic operation is
    incorrectly executed, even if the condition evaluates to false.
    The condition guarding the arithmetic operation is a comparison
    of a long value with zero.
    .
    Stack Trace: N/A
    .
    

Local fix

  • The issue can be worked around using
    -Xjit:disableAndSimplification, applied to the failing method.
    

Problem summary

  • This problem is caused by a JIT optimization to convert the
    conditional code to an unconditional sequence using shifting and
    bitwise operations.  In the failing scenario, the long value in
    the condition is incorrectly truncated to an integer before
    shifting, leading to incorrect execution of the arithmetic
    operation.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR4
    6.0.1 SR5
    .
    The JIT compiler has been updated to avoid the incorrect
    truncation of the long value in this scenario.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV33473

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-12-13

  • Closed date

    2012-12-13

  • Last modified date

    2012-12-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

  • R260 PSY

       UP



Document information

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

Software version: 260

Reference #: IV33473

Modified date: 13 December 2012