IBM Support

IV47986: JAVA JIT X86 - GC CRASH/ASSERT WHEN IN DEBUG MODE

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: Crash during GC or assert in GC
    .
    Stack Trace: 0x006f472a {libj9prt26.so}{j9dump_create}
    <OSB>0x9697b0e8<CSB>
    0x00818e3e {libj9dmp26.so}{doSystemDump} <OSB>0x9697b228<CSB>
    0x00817617 {libj9dmp26.so}{protectedDumpFunction}
    <OSB>0x9697b248<CSB>
    0x00703fd2 {libj9prt26.so}{j9sig_protect} <OSB>0x9697b348<CSB>
    0x008175e8 {libj9dmp26.so}{runDumpFunction} <OSB>0x9697b388<CSB>
    0x0081c545 {libj9dmp26.so}{runDumpAgent} <OSB>0x9697b7f8<CSB>
    0x0082f457 {libj9dmp26.so}{triggerDumpAgents}
    <OSB>0x9697bad8<CSB>
    0x001474cc {libj9trc26.so}{twAssertion} <OSB>0x9697baf8<CSB>
    0x002e0d83 {libj9ute26.so}{utsTraceV} <OSB>0x9697bba8<CSB>
    0x00148974 {libj9trc26.so}{j9Trace} <OSB>0x9697bbe8<CSB>
    0x0655e540
    {libj9gc26.so}{_ZN31MM_ParallelScavengerRootScanner11doStackSlot
    EPP8J9ObjectPvPKv} <OSB>0x9697bc68<CSB>
    0x0651b911
    {libj9gc26.so}{_Z17stackSlotIteratorP8J9JavaVMPP8J9ObjectPvP16J9
    StackWalkStatePKv} <OSB>0x9697bc88<CSB>
    0x0665b7b7 {libj9gc26.so}{vmThreadStackDoOSlotIterator}
    <OSB>0x9697bca8<CSB>
    0x01504cbc {libj9jit26.so}{walkJITFrameSlots}
    <OSB>0x9697bcf8<CSB>
    0x0150507c {libj9jit26.so}{jitWalkFrame} <OSB>0x9697bd88<CSB>
    0x015059ee {libj9jit26.so}{jitWalkStackFrames}
    <OSB>0x9697bdf8<CSB>
    0x001eb022 {libj9vm26.so}{.L118} <OSB>0x9697bee8<CSB>
    0x0665b83f
    {libj9gc26.so}{_ZN28GC_VMThreadStackSlotIterator9scanSlotsEP10J9
    VMThreadS1_PvPFvP8J9JavaVMPP8J9ObjectS2_P16J9StackWalkStatePKvEb
    b} <OSB>0x9697bff8<CSB>
    0x0651cea5
    {libj9gc26.so}{_ZN14MM_RootScanner13scanOneThreadEP20MM_Environm
    entModronP10J9VMThreadPv} <OSB>0x9697c068<CSB>
    0x0651bf11
    {libj9gc26.so}{_ZN14MM_RootScanner11scanThreadsEP20MM_Environmen
    tModron} <OSB>0x9697c0b8<CSB>
    0x0651cd30
    {libj9gc26.so}{_ZN14MM_RootScanner9scanRootsEP20MM_EnvironmentMo
    dron} <OSB>0x9697c0d8<CSB>
    0x0654fa80
    {libj9gc26.so}{_ZN20MM_ParallelScavenger13scavengeRootsEP22MM_En
    vironmentStandard} <OSB>0x9697c128<CSB>
    0x065585ac
    {libj9gc26.so}{_ZN20MM_ParallelScavenger24workThreadGarbageColle
    ctEP22MM_EnvironmentStandard} <OSB>0x9697c198<CSB>
    0x06591d15
    {libj9gc26.so}{_ZN23MM_ParallelScavengeTask3runEP20MM_Environmen
    tModron} <OSB>0x9697c1b8<CSB>
    0x06675aa0
    {libj9gc26.so}{_ZN21MM_ParallelDispatcher15slaveEntryPointEP20MM
    _EnvironmentModron} <OSB>0x9697c1d8<CSB>
    0x06675c68
    {libj9gc26.so}{_Z23dispatcher_thread_proc2P13J9PortLibraryPv}
    <OSB>0x9697c218<CSB>
    0x00703fd2 {libj9prt26.so}{j9sig_protect} <OSB>0x9697c318<CSB>
    0x066751ed {libj9gc26.so}{dispatcher_thread_proc}
    <OSB>0x9697c358<CSB>
    0x00d261e5 {libj9thr26.so}{thread_wrapper} <OSB>0x9697d388<CSB>
    0x00596a49 {libpthread.so.0}{start_thread} <OSB>0x9697d498<CSB>
    NOTE: This APAR is not the only problem that could cause this
    stack trace. Finding a crash with the above stack trace does not
    guarantee the applicability of this APAR.
    .
    The problem can only occur in Java on x86 (Linux or Windows). It
    can only occur when an agent is installed that puts the JVM in
    debug mode (JIT FSD mode).
    

Local fix

  • The problem can be avoided by removing the debugging agent so
    that the JVM will run in normal mode.
    

Problem summary

  • The JIT would fail to mark a stack slot as "non-collectable"
    before the slot is re-used as a parameter to an OS call as part
    of executing a currentTimeMillis() Java call. This would cause
    the GC to process the stack slot on a GC cycle resulting in a
    crash or an assert as the GC would expect to find an object
    reference in that slot.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR7
    7.0.0 SR6
    6.0.0 SR15
    5.0.0 SR16 FP4
    .
    One of the JIT optimizations is now disabled when in debugging
    mode (FSD mode) so that the JIT will not lose the ability to
    precisely know the "liveness" of stack slots.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV47986

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-09-06

  • Closed date

    2013-09-06

  • Last modified date

    2013-09-13

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

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

    IV47987

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R260 PSY

       UP

  • R600 PSY

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

Document Information

Modified date:
13 September 2013