IBM Support

IJ44532: JAVA JIT: CRASH IN DECREFERENCECOUNT() DUE TO A NULL POINTER

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: A segmentation fault in the JIT compiler (compile
    time).
    .
    Stack Trace: libj9jit29.so -
    OMR::CodeGenerator::decReferenceCount(TR::Node*)}
    libj9jit29.so -
    J9::Z::TreeEvaluator::pdloadEvaluator(TR::Node*,TR::CodeGenerato
    r*)}
    libj9jit29.so - OMR::CodeGenerator::evaluate(TR::Node*)}
    libj9jit29.so -
    J9::Z::TreeEvaluator::pdstoreEvaluator(TR::Node*,TR::CodeGenerat
    or*)}
    libj9jit29.so -
    J9::Z::TreeEvaluator::pdstoreiEvaluator(TR::Node*,TR::CodeGenera
    tor*)}
    libj9jit29.so - OMR::CodeGenerator::evaluate(TR::Node*)}
    libj9jit29.so - J9::CodeGenerator::doInstructionSelection()}
    libj9jit29.so -
    OMR::CodeGenPhase::performInstructionSelectionPhase(TR::CodeGene
    rator*,TR::CodeGenPhase*)}
    libj9jit29.so - OMR::CodeGenPhase::performAll()}
    libj9jit29.so - OMR::CodeGenerator::generateCode()}
    libj9jit29.so - OMR::Compilation::compile()}
    libj9jit29.so -
    TR::CompilationInfoPerThreadBase::compile(J9VMThread*,TR::Compil
    ation*,TR_ResolvedMethod*,T...}
    libj9jit29.so -
    TR::CompilationInfoPerThreadBase::wrappedCompile(J9PortLibrary*,
    void*)}
    .
    The problem can only occur running the zSeries IBM JVM on a z15
    or newer CPU. Other (non-z) CPU architectures are not effect by
    this issue. The issue only occurs when the Java application is
    making use of the IBM Data Access Accelerator Library (DAA) to
    manipulate packed decimal values.
    

Local fix

  • The problem can be avoided by specifying the following java
    command line argument:
    -Xjit:disableVectorBCD
    This will have some performance effect on methods that are
    making use of the DAA API.
    The following environment variable can be used instead if
    performance is a concern. Using this environment variable is
    more targeted to the specific issue and will therefore have less
    of a performance impact:
    TR_DisablePdstoreVectorEvaluator=1
    

Problem summary

  • Under some scenarios when compiling methods with DAA code, the
    JIT will call decReferenceCount() against a null pointer
    resulting in a segmentation fault.
    

Problem conclusion

  • The JIT was modified so that it does not call
    decReferenceCount() under scenarios where the pdload operations
    are being evaluated.
    https://github.com/eclipse-openj9/openj9/pull/16287
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR8       (8.0.8.0)
    .
    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

    IJ44532

  • 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-12-07

  • Closed date

    2022-12-08

  • Last modified date

    2022-12-08

  • 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:
09 December 2022