IBM Support

IJ47427: CRASH WITH ADJACENT MALFORMED OBJECTS

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: The JVM crashes while accessing a malformed
    object. Analysis of the crash will show the object came from an
    array of similarly malformed objects, adjacent to each other and
    likely overlapping.
    This problem can only happen on X and Z and with bytecode that
    was not generated by the Java compiler.
    .
    Stack Trace: The stack trace will depend on where the object is
    accessed from. The problem requires code from non-Java languages
    and this may be apparent from the call stack.
    .
    

Local fix

  • The problem may be avoided by excluding the method which creates
    the array from compilation by the JIT. For example if the
    problem method was a.b.Class1.method1 then the following JVM
    command line option could be used:
    -Xjit:exclude={a/b/Class1.method1(*},dontInline={a/b/Class1.meth
    od1(*}
    Note that there can only be one Xjit option on the command line,
    so the above may need to be merged with any existing option that
    might be in use.
    

Problem summary

  • The problem is caused by an optimization in the X and Z code
    generators for the multianewarray bytecode. In Java this
    bytecode is only used for arrays of dimension two or higher, but
    other languages or manually generated bytecodes may use
    multianewarray for one dimensional arrays. The code generated on
    X and Z incorrectly assumes a minimum of two dimensions with the
    potential for malformed objects as a result.
    

Problem conclusion

  • The evaluator for multianewarray on X and Z was updated to check
    the dimensionality of the array before applying the problem
    optimization. For more detail see
    https://github.com/eclipse-openj9/openj9/issues/17360
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR8 FP11  (8.0.8.11)
    .
    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

    IJ47427

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    270

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-07-01

  • Closed date

    2023-07-11

  • Last modified date

    2023-07-11

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

Document Information

Modified date:
12 July 2023