IBM Support

IJ18450: JAVA JIT - CRASH IN USEREGISTER() ON POWER HARDWARE

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 SIGSEGV occurs while JIT compiling a method.
    .
    Stack Trace:
    {libj9jit27.so}{TR_Instruction::useRegister(TR_Register*,bool)}
    {libj9jit27.so}{generateTrg1Src1Imm2Instruction(TR_CodeGenerator
    *,TR_PPCOpCodes,TR_Node*,TR_Register*,TR_Register*,int,long,TR_I
    nstruction*)}
    {libj9jit27.so}{simplifyANDRegImm(TR_Node*,TR_Register*,TR_Regis
    ter*,int,TR_CodeGenerator*,TR_Node*)}
    {libj9jit27.so}{TR_PPCTreeEvaluator::iandEvaluator(TR_Node*,TR_C
    odeGenerator*)}
    {libj9jit27.so}{TR_CodeGenerator::evaluate(TR_Node*)}
    {libj9jit27.so}{TR_PPCTreeEvaluator::bstoreEvaluator(TR_Node*,TR
    _CodeGenerator*)}
    {libj9jit27.so}{TR_CodeGenerator::evaluate(TR_Node*)}
    .
    The problem can only happen on POWER hardware (AIX and
    LinuxPPC). The issue can occur in Java 7.1 and in Java8 prior to
    8.0.5.37. With 8.0.5.37 an optimization was disabled which is
    need to encounter this issue. The fix for this issue will be
    included in Java8 in case this optimization is enabled in the
    future or some new feature is added that makes use of byte
    operations.
    This issue cannot occur on X86 or zSeries hardware.
    

Local fix

  • The problem can be avoid by disabling the only known
    optimization that generates byte-subtraction code:
    -Xjit:disableCFGSimplification
    

Problem summary

  • The POWER JIT code generator was not prepared to handle a few
    byte operations because bytes in Java code are promoted to
    integers. One rarely exercised JIT optimization would produce a
    byte-subtraction which would cause the JIT compiler to crash at
    code generation time.
    

Problem conclusion

  • The JIT compilers POWER code generator was modified so that it
    could handle byte addition and subtraction operations.
    .
    This APAR will be fixed in the following Java Releases:
       7 R1 SR4 FP55  (7.1.4.55)
       8    SR6       (8.0.6.0)
    .
    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

    IJ18450

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-08-19

  • Closed date

    2019-09-09

  • Last modified date

    2019-09-09

  • 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":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 September 2019