IBM Support

IV07698: JAVA JIT PPC - RARE INCORRECT CALCULATION

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: An unexpected ArrayIndexOutOfBoundsException was
    thrown for the customer who reported this problem, but the
    problem is a incorrect calculation which can result in other
    symptoms depending on how the incorrect value is used.
    .
    Stack Trace: N/A
    .
    The problem only effects PowerPC (AIX32/64 and LinuxPPC32/64) on
    Java5, Java6 and Java6.0.1.
    

Local fix

  • The problem can be avoided by excluding the compilation of the
    method that performs the incorrect calculation. If that method
    is known then the following java command line option can be used
    to avoid the problem:
    -Xjit:exclude={Package/Class.method*}
    Note: Excluding a method can degrade performance depending on
    how the excluded method is used by the application. In a typical
    application, excluding one methods has almost no effect on
    performance.
    

Problem summary

  • When a 'left shift' (or power of 2 multiply) is performed along
    with an 'and' operation we can use the PowerPC 'rlwimn'
    instruction. This works for most cases, but if the 'and' bit
    mask as no bits set to 1, the instruction does not work as you
    might expect resulting an the 'and' operation not being
    performed as expected.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR2
    6.0.0 SR10
    5.0.0 SR13
    7.0.0 SR1
    .
    The JIT was modified to use a different instruction when doing a
    'shift' and an 'and' with a mask of 0.
    .
    To obtain the fix:
    Install build 20110921 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV07698

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-09-16

  • Closed date

    2011-10-04

  • Last modified date

    2012-05-28

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

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

    IV07699

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R260 PSY

       UP

  • R600 PSY

       UP



Document information

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

Software version: 260

Reference #: IV07698

Modified date: 28 May 2012