deadlock between DefaultScriptSession and JettyContinuationSleeper

Description

Output from jstack:
"pool-3-thread-1":
at org.directwebremoting.dwrp.JettyContinuationSleeper.wakeUp(JettyContinuationSleeper.java:109)

  • waiting to lock <0x00002aaab5460010> (a java.lang.Object)
    at org.directwebremoting.dwrp.BasicAlarm.raiseAlarm(BasicAlarm.java:33)
    at org.directwebremoting.dwrp.OutputAlarm$AlarmScriptConduit.addScript(OutputAlarm.java:95)
    at org.directwebremoting.impl.DefaultScriptSession.addScript(DefaultScriptSession.java:186)

  • locked <0x00002aaab5446780> (a java.lang.Object)
    at com.foo.dispatch.SignedOutMessageDispatcher$2.run(SignedOutMessageDispatcher.java:140)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
    "qtp0-545":
    at org.directwebremoting.impl.DefaultScriptSession.removeScriptConduit(DefaultScriptSession.java:263)

  • waiting to lock <0x00002aaab5446780> (a java.lang.Object)
    at org.directwebremoting.dwrp.OutputAlarm.cancel(OutputAlarm.java:67)
    at org.directwebremoting.dwrp.PollHandler$1.run(PollHandler.java:189)
    at org.directwebremoting.dwrp.JettyContinuationSleeper.goToSleep(JettyContinuationSleeper.java:80)

  • locked <0x00002aaab5460010> (a java.lang.Object)
    at org.directwebremoting.dwrp.PollHandler.handle(PollHandler.java:211)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:757)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:416)
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:840)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:657)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:377)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:497)

Activity

Show:
Joe Walker
November 18, 2008, 4:32 PM

Assignee

Joe Walker

Reporter

Tim Williamson

Labels

None

Documentation Required

None

Fix versions

Affects versions

Priority

Major
Configure