[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