UPDATE:

While the error is not easily reproducible, its effect on the ThreadDump is always the same. As soon as an Executor begins to hang, it gets stuck at exactly the same function. For example from the ThreadDump attached above:

Pipe writer thread: channel
"Pipe writer thread: channel" Id=12 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@9dd7e73
at sun.misc.Unsafe.park(Native Method)

  • waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@9dd7e73
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

It really doe seem as if this is a classical, albeit rare, race-condition. This is something of a big show-stopper for us, as it greatly impacts our overall reliability.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to