[richfaces-issues] [JBoss JIRA] (RF-12013) Deadlock in push component
Stian Thorgersen (JIRA)
jira-events at lists.jboss.org
Tue Feb 28 10:05:36 EST 2012
Stian Thorgersen created RF-12013:
-------------------------------------
Summary: Deadlock in push component
Key: RF-12013
URL: https://issues.jboss.org/browse/RF-12013
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-push/poll
Affects Versions: 4.2.0.Final
Reporter: Stian Thorgersen
Deadlocked threads in the push component prevented server from stopping. Not sure whether or not this happened when I initiated shutdown or if these where hanging around for a while.
Relevant output from jstack:
{code}
Found one Java-level deadlock:
=============================
"push-publish-thread-1":
waiting to lock monitor 0x0000000042650238 (object 0x00000000e5ed5a50, a org.richfaces.application.push.impl.RequestImpl),
which is held by "Atmosphere-AsyncWrite-0"
"Atmosphere-AsyncWrite-0":
waiting to lock monitor 0x00000000427d9ec0 (object 0x00000000e5ed59a0, a org.richfaces.application.push.impl.SessionImpl),
which is held by "push-publish-thread-1"
Java stack information for the threads listed above:
===================================================
"push-publish-thread-1":
at org.richfaces.application.push.impl.RequestImpl.postMessages(RequestImpl.java:85)
- waiting to lock <0x00000000e5ed5a50> (a org.richfaces.application.push.impl.RequestImpl)
at org.richfaces.application.push.impl.SessionImpl.push(SessionImpl.java:237)
- locked <0x00000000e5ed59a0> (a org.richfaces.application.push.impl.SessionImpl)
at org.richfaces.application.push.impl.TopicImpl$TopicContext.publishMessages(TopicImpl.java:88)
at org.richfaces.application.push.impl.TopicImpl$PublishTask.run(TopicImpl.java:53)
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:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
"Atmosphere-AsyncWrite-0":
at org.richfaces.application.push.impl.SessionImpl.disconnect(SessionImpl.java:117)
- waiting to lock <0x00000000e5ed59a0> (a org.richfaces.application.push.impl.SessionImpl)
at org.richfaces.application.push.impl.RequestImpl.disconnect(RequestImpl.java:107)
at org.richfaces.application.push.impl.RequestImpl.onResume(RequestImpl.java:115)
at org.atmosphere.cpr.AtmosphereResourceImpl.onResume(AtmosphereResourceImpl.java:651)
at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:600)
at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:584)
at org.atmosphere.cpr.AtmosphereResourceImpl.resume(AtmosphereResourceImpl.java:185)
- locked <0x00000000e5ee3380> (a org.atmosphere.cpr.AtmosphereResourceEventImpl)
at org.richfaces.application.push.impl.RequestImpl.onBroadcast(RequestImpl.java:129)
- locked <0x00000000e5ed5a50> (a org.richfaces.application.push.impl.RequestImpl)
at org.atmosphere.cpr.AtmosphereResourceImpl.onBroadcast(AtmosphereResourceImpl.java:663)
at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:608)
at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:584)
at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:713)
at org.atmosphere.cpr.DefaultBroadcaster$3.run(DefaultBroadcaster.java:747)
- locked <0x00000000e5ed5a88> (a org.atmosphere.cpr.AtmosphereResourceImpl)
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:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Found 1 deadlock.
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list