IBM Support

IJ42263: JAVA JIT, UNEXPECTED CLASSCASTEXCEPTION

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 Intermittent ClassCastException is thrown.
    Other symptoms are also possible depending on how the java code
    was written to respond to the return value when calling
    Class.instanceOf().
    .
    Stack Trace: N/A
    .
    This issue can only occur on the POWER version of the J9 JVM
    (AIX and LinuxPCC, LinuxPPCle). All other architectures are not
    effected by this issue.
    The issue was first introduced in Java 8.0.6.36, earlier version
    of the J9 JVM are not subject to this issue.
    The issue only effects methods that contain a call to
    Class.instanceOf(), the instanceof keyword is not effected. In
    addition, the type of the class must not be statically knowable
    in order for the problem to occur.
    

Local fix

  • The issue can be avoided by using the following java command
    line argument:
    -Xjit:disableInlineIsInstance
    This will have a minor effect on performance when handling some
    types of cases where the JIT needs to do an instanceof check
    (but it's not limited to just Class.instanceOf() calls).
    You can reduce the performance cost by limiting this option so
    it only effects the method that is known to trigger this issue:
    -Xjit:{pkg/class.method*}(disableInlineIsInstance)
    Where "pkg/class.method" is replaced with the full name of the
    effected method.
    

Problem summary

  • When the JIT compiles a method with a call to Class.isInstance()
    the code might return an incorrect result. Specifically, it may
    return True when it should be False.
    

Problem conclusion

  • The JIT was modified to prevent it from incorrectly returning
    True.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR6 FP20  (8.0.6.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

    IJ42263

  • 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-09-01

  • 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