IBM Support

IJ33326: CRASH WHILE THROWING A 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: JVM crashes while throwing a ClassCastException
    on x86 64 bit with compressed references.
    System corefile analysis will find that one of the two class
    pointers is sign-extended to 64 bits(0xFFFFFFFF????????).
    .
    Stack Trace: The native callstack will include
      internalSendExceptionConstructor()
      internalSetCurrentExceptionWithCause()
      setClassCastException()
      impl_jitClassCastException()
      jitThrowClassCastException()
    .
    

Local fix

  • The problem can be avoided by using the JVM command line option
    -Xjit:disableInlineCheckcast
    Note that there can only be one -Xjit on the command line, so if
    necessary multiple options can be combined with commas.
    Alternatively, disabling compressed references will also avoid
    the problem.
    -Xnocompressedrefs
    

Problem summary

  • When running 64 bit compressed refs, if clazz is an address
    above the 2G boundary then we can't use a push 32bit immediate
    instruction to pass it on the stack to the
    jitThrowClassCastException helper as the address gets sign
    extended. It needs to be stored in a temp register and then push
    the register to the stack.
    

Problem conclusion

  • The x86 code generator was modified to use a different
    instruction sequence when passing class pointers that are in
    memory above 2GB.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR6 FP35  (8.0.6.35)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ33326

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-06-18

  • Closed date

    2021-06-18

  • Last modified date

    2021-06-18

  • 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

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"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"}]

Document Information

Modified date:
19 June 2021