[jetty-dev] [jira] (JETTY-1546) Deadlock between Timeout.tick and SelectorManager.stop

"Todd Lipcon (JIRA)" <[email protected]> Thu, 20 Sep 2012 23:16:21 -0500 (CDT)
Newsgroups gmane.comp.java.jetty.general
Message-ID <259987125.60729.1348200981041.JavaMail.j2ee-jira@codehaus01.managed.contegix.com>
Todd Lipcon
commented on JETTY-1546

Deadlock between Timeout.tick and SelectorManager.stop

Here is the trace:

"main" prio=10 tid=0x0000000040a99000 nid=0x318b runnable [0x00007f02d30ac000]

java.lang.Thread.State: RUNNABLE

at org.mortbay.io.nio.SelectorManager$SelectSet.stop(SelectorManager.java:929)

locked <0x000000050de2de48> (a org.mortbay.io.nio.SelectorManager$SelectSet)

at org.mortbay.io.nio.SelectorManager.doStop(SelectorManager.java:241)

at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)

locked <0x000000050def8488> (a java.lang.Object)

at org.mortbay.jetty.nio.SelectChannelConnector.close(SelectChannelConnector.java:136)

locked <0x000000050de2df38> (a org.mortbay.jetty.nio.SelectChannelConnector)

at org.apache.hadoop.http.HttpServer.stop(HttpServer.java:751)

"1987744292@qtp-664112322-1 - Acceptor0 [email protected]:60931" prio=10 tid=0x00000000413d2800 nid=0x322b waiting for monitor entry [0x00007f02c3052000]

java.lang.Thread.State: BLOCKED (on object monitor)

at org.mortbay.thread.Timeout.tick(Timeout.java:132)

waiting to lock <0x000000050de2de48> (a org.mortbay.io.nio.SelectorManager$SelectSet)

at org.mortbay.thread.Timeout.tick(Timeout.java:153)

at org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:784)

at org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:193)

at org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java:124)

at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:708)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

The line numbers won't match 6.1.26 exactly, since this is a branch based on some code that Greg W provided a while back. The actual branch is here: https://github.com/cloudera/jetty-hadoop-fix/

The race is exceedingly rare - I'd estimate about one in a million. I saw it during some overnight stress tests which happen to start and stop hundreds of Jetty servers per node, on 100 nodes in parallel.

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

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email