Skip to main content

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

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Runtimes for Java Technology

Just In Time (JIT) Compiler


Software version:
5.0


Reference #:
IZ64807


Modified date:
2009-12-17

Translate my page

Content navigation