VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ42205

⇱ IJ42205: JAVA JIT, INCORRECT RETURN FROM CLASS.ISARRAY()


IJ42205: JAVA JIT, INCORRECT RETURN FROM CLASS.ISARRAY()

APAR status

  • Closed as program error.

Error description

  • Error Message: The return value from Class.isArray() is false
    even when being called against an array class.
    .
    Stack Trace: N/A
    .
    The problem can occur on any platform running the J9 VM.
    The issue must involve a call to Class.isArray()
    The issue is mostly likely to occur when:
    - Using the "Type" interface
    - Casting between "Class" and "Type"
    Other scenarios are possible, but it must involve a variable
    holding a Class where the application is behaving incorrectly
    based on the class type in the variable when calling
    Class.isArray().
    

Local fix

  • The problem is caused by the JIT value propagation optimization
    therefore the issue can be avoided by disabling that
    optimization using the following java command line parameter:
    -Xjit:disableLocalVP,disableGlobalVP
    You can also use the following option to target the effects to a
    specific method compilation and therefore minimize the
    performance impact:
    -Xjit{pkg/class.method*}(disableLocalVP,disableGlobalVP)
    Where "pkg/class.method" is the full method name for the method
    which is triggering the issue. Limiting to one method in this
    way will very likely result in no noticeable performance impact.
    

Problem summary

  • The JIT would remove some code after incorrectly converting a
    class variable into a constant which would allow the JIT to make
    a incorrect compile time decision that a code path could not
    execute and therefore could be removed.
    

Problem conclusion

  • The JIT was modified so that it would not incorrectly convert a
    class variable into a constant.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
     8 SR7 FP20 (8.0.7.20)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    maintenance can be found at:
     https://www.ibm.com/support/pages/java-sdk
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ42205

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-08-30

  • Closed date

    2022-09-14

  • Last modified date

    2022-09-14

  • 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

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
14 September 2022