[richfaces-issues] [JBoss JIRA] (RF-12013) Deadlock in push component
Lukáš Fryč (JIRA)
jira-events at lists.jboss.org
Wed Mar 14 17:47:47 EDT 2012
[ https://issues.jboss.org/browse/RF-12013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676911#comment-12676911 ]
Lukáš Fryč commented on RF-12013:
---------------------------------
Hi Stian, thanks for the report, there is really the deadlock caused by initiating shutdown (destroying push SessionImpl) in time when session tries to post messages.
> 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
> Assignee: Lukáš Fryč
>
> 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