IBM Support

IJ40117: AOT COMPILED METHOD CAUSES CRASH OR UNEXPECTED OUTPUT

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 will likely crash with a GPF, but it may
    be possible in some cases for execution to continue with
    incorrect output.
    .
    Stack Trace: No specific stack trace, but detailed corefile
    analysis will implicate an AOT loaded method body. The only
    known case to date involved the apache http client library and
    the problem method was
    {org/apache/http/client/methods/HttpRequestBase.getURI()Ljava/ne
    t/URI;}
    .
    

Local fix

  • The problem can be avoided by disabling AOT using the command
    line option
    -Xnoaot
    Disabling AOT completely with the above option will cause the
    JVM startup to take a little longer. If it can be determined
    which method is causing the problem then just that method can be
    targeted using
    -Xaot:loadExclude={a/b/ExampleClass.exampleMethod(*}
    

Problem summary

  • This problem occurs when two or more copies of a class hierarchy
    are present in the shared class cache, as can happen when
    applications depend on different versions of a library, and
    those different versions have a different number of fields in
    one of the ancestors in the hierarchy. In this scenario the
    lookup mechanism to locate an AOT method body in the shared
    class cache fails to correctly identify the correct method to
    match the classes being used.
    

Problem conclusion

  • The AOT method lookup implementation has been modified to
    unambiguously confirm that the method body matches the class for
    which the method is being requested.
    See OpenJ9 PR
    https://github.com/eclipse-openj9/openj9/pull/15037 and it's
    associated issue for further technical details.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR7 FP15  (8.0.7.15)
    .
    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

    IJ40117

  • 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-05-17

  • Closed date

    2022-05-18

  • Last modified date

    2022-05-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 May 2022