IV27141: BAD JIT PROFILING LOGIC CAUSES CRASH

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: There are a number of possible symptoms, but a
    common one is a an Unhandled Exception during garbage
    collection, with vmState=0x00020002 and Module=j9jit26.dll (or
    of course libj9jit26.so on Linux).
    .
    Stack Trace: ----------- Stack Backtrace -----------
    walkTransitionFrame+0x293 (jswalk.c:471, 0x72FF4653
    <OSB>j9jit26+0x374653<CSB>)
    jitWalkStackFrames+0x1b8 (jswalk.c:216, 0x72FF4858
    <OSB>j9jit26+0x374858<CSB>)
    GC_VMThreadStackSlotIterator::scanSlots+0x7d
    (vmthreadstackslotiterator.cpp:106, 0x735F014D
    <OSB>j9gc26+0xe014d<CSB>)
    MM_RootScanner::scanOneThread+0xd8 (rootscanner.cpp:498,
    0x73521A28 <OSB>j9gc26+0x11a28<CSB>)
    MM_RootScanner::scanThreads+0x8f (rootscanner.cpp:466,
    0x7352189F <OSB>j9gc26+0x1189f<CSB>)
    MM_RootScanner::scanRoots+0x66 (rootscanner.cpp:1078, 0x73522636
    <OSB>j9gc26+0x12636<CSB>)
    MM_MarkingScheme::markLiveObjectsRoots+0x50c
    (markingscheme.cpp:1428, 0x735624CC <OSB>j9gc26+0x524cc<CSB>)
    MM_ParallelMarkTask::run+0x33 (parallelmarktask.cpp:39,
    0x73558DD3 <OSB>j9gc26+0x48dd3<CSB>)
    MM_ParallelDispatcher::slaveEntryPoint+0x77
    (paralleldispatcher.cpp:167, 0x735F2B57
    <OSB>j9gc26+0xe2b57<CSB>)
    dispatcher_thread_proc2+0x10d (paralleldispatcher.cpp:94,
    0x735F29ED <OSB>j9gc26+0xe29ed<CSB>)
    j9sig_protect+0x44 (j9signal.c:150, 0x7422F054
    <OSB>J9PRT26+0xf054<CSB>)
    dispatcher_thread_proc+0x2a (paralleldispatcher.cpp:128,
    0x735F2ACA <OSB>j9gc26+0xe2aca<CSB>)
    thread_wrapper+0xda (j9thread.c:1234, 0x7446464A
    <OSB>J9THR26+0x464a<CSB>)
    _endthread+0x48 (0x73F9C55C <OSB>msvcr100+0x5c55c<CSB>)
    _endthread+0xe8 (0x73F9C5FC <OSB>msvcr100+0x5c5fc<CSB>)
    BaseThreadInitThunk+0xe (0x7568F13C <OSB>kernel32+0x8f13c<CSB>)
    RtlCreateUserProcess+0x8c (0x7778D819 <OSB>ntdll+0x7d819<CSB>)
    RtlCreateProcessParameters+0x4e (0x7778DA2B
    <OSB>ntdll+0x7da2b<CSB>)
    ---------------------------------------
    .
    Only observed to fail with -Xaggressive
    

Local fix

  • -Xjit:disableValueProfiling
    

Problem summary

  • The jit compiler creates incorrect code for value profiling.
    One common outcome is that jitted code ends up calling a Java
    method on the C stack.  If a stack walk occurs in this state (as
    during garbage collection), the walker gets mighty confused and
    crashes in various ways.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR2
    6.0.1 SR3
    .
    The jit compiler was changed to check for problematic scenarios,
    and decline to perform value profiling if it could possibly
    cause this problem.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV27141

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-28

  • Closed date

    2012-08-28

  • Last modified date

    2012-08-28

  • 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

  • R260 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version:

260

Reference #:

IV27141

Modified date:

2012-08-28

Translate my page

Machine Translation

Content navigation