IBM Support

IZ64807: JAVA JIT COMPILER CRASH ON IA32 IN USESREGISTER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: A SIGSEGV/GPF is raised in the JIT compiler
    module while a method is being compiled. The crashing function
    is TR_IA32VirtualGuardNOPInstruction::usesRegister(). The
    problem only occurs rarely on IA32. The problem may occur with
    both Java 5 and Java 6.
    .
    Stack Trace:
    j9jit23!TR_IA32VirtualGuardNOPInstruction::usesRegister+0x1d
    j9jit23!TR_X86CodeGenerator::pickNOPRegister+0x69
    j9jit23!TR_X86CodeGenerator::generatePadding+0x4e
    j9jit23!TR_IA32BoundaryAvoidanceInstruction::generateBinaryEncod
    ing+0xc9
    j9jit23!TR_Instruction::generateBinaryEncoding+0xe
    j9jit23!TR_X86CodeGenerator::doCodeGeneration+0x28e
    j9jit23!TR_CodeGenerator::generateCode+0x4b4
    j9jit23!TR_Compilation::compile+0x22a
    j9jit23!TR_CompilationInfo::compile+0x2ed
    j9jit23!TR_CompilationInfo::wrappedCompile+0x3c6
    J9PRT23!j9sig_protect+0x41
    j9jit23!TR_CompilationInfo::compile+0x111
    j9jit23!protectedCompilationThreadProc+0x1cf
    J9PRT23!j9sig_protect+0x41
    j9jit23!compilationThreadProc+0xa5
    J9THR23!thread_wrapper+0xbf
    .
    

Local fix

  • This issue can be avoided using the
    -Xjit:disableVirtualGuardNOPing option. Note that this option
    can incur a performance impact of approximately 4% to 10% (in
    the worst case), depending on the nature of the Java
    application.
    

Problem summary

  • The problem is caused by a defect in the JIT compiler which
    leaves a certain data field uninitialized. The value of the
    field is later used in the computation of a memory address. The
    incorrect memory address then causes a crash when it is
    accessed.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR12
    6.0.0 SR8
    .
    The JIT compiler has been updated to initialize the data field
    properly.
    .
    To obtain the fix:
    Install build 20091127 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ64807

  • Reported component name

    JAVA 5 JIT

  • Reported component ID

    620500124

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-11

  • Closed date

    2009-12-17

  • Last modified date

    2009-12-17

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IZ64833

Fix information

  • Fixed component name

    JAVA 5 JIT

  • Fixed component ID

    620500124

Applicable component levels

  • R500 PSN

       UP

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

Document Information

Modified date:
17 December 2009