IV20267: MULTIPLE THREADS STUCK IN PARKED STATE

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

  • This problem is specific to the x86 processor family.
    
    
    Error Message: Multiple threads are parked on the same lock:
    
    
    3XMTHREADINFO      "offerer4" J9VMThread:0x00002AABB8162200,
    j9thread_t:0x00002AABB8158150, java/lang/Thr
    ead:0x00002AAAB046C9A0, state:P, prio=5
    3XMTHREADINFO1            (native thread ID:0x3A3D, native
    priority:0x5, native policy:UNKNOWN)
    3XMTHREADINFO2            (native stack address range
    from:0x00000000420E5000, to:0x0000000042126000, siz
    e:0x41000)
    3XMTHREADBLOCK     Parked on:
    java/util/concurrent/locks/ReentrantLock$NonfairSync@0x00002AAAB
    040D780 Own
    ed by: <unknown>
    3XMTHREADINFO3           Java callstack:
    4XESTACKTRACE                at sun/misc/Unsafe.park(Native
    Method)
    4XESTACKTRACE                at
    java/util/concurrent/locks/LockSupport.park(LockSupport.java:186
    (Compiled
     Code))
    4XESTACKTRACE                at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.parkAndChe
    ckInterru
    pt(AbstractQueuedSynchronizer.java:834(Compiled Code))
    4XESTACKTRACE                at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireQue
    ued(Abstr
    actQueuedSynchronizer.java:867(Compiled Code))
    4XESTACKTRACE                at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire(Ab
    stractQue
    uedSynchronizer.java:1197(Compiled Code))
    4XESTACKTRACE                at
    java/util/concurrent/locks/ReentrantLock$NonfairSync.lock(Reentr
    antLock.j
    ava:214(Compiled Code))
    4XESTACKTRACE                at
    java/util/concurrent/locks/ReentrantLock.lock(ReentrantLock.java
    :290(Comp
    iled Code))
    4XESTACKTRACE                at
    java/util/concurrent/ArrayBlockingQueue.offer(ArrayBlockingQueue
    .java:298
    (Compiled Code))
    4XESTACKTRACE                at Offerer.run(SyncTest.java:137)
    The thread that is supposed to wake all the parked threads is
    also incorrectly stuck in the parked state so all the threads
    remain parked and never wake.
    .
    Stack Trace: N/A
    .
    

Local fix

Problem summary

  • The problem occurs when the Java code depends on volatile
    semantics to ensure that the volatile field updates are seen in
    different threads.  The problem is caused by incorrect volatile
    field handling.  A memory fence for a volatile field is missing
    after a write operation due to incorrect JIT patching.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.1 SR2
    7.0.0 SR1
    .
    The JVM has been updated to not patch over the fence if the
    field is found to be a volatile.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV20267

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-04-26

  • Closed date

    2012-04-26

  • Last modified date

    2012-06-01

  • 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 #:

IV20267

Modified date:

2012-06-01

Translate my page

Machine Translation

Content navigation