[richfaces-issues] [JBoss JIRA] (RF-12899) Deadlock appears in push component

Jiří Mikulášek (JIRA) jira-events at lists.jboss.org
Wed Apr 10 08:04:15 EDT 2013


Jiří Mikulášek created RF-12899:
-----------------------------------

             Summary: Deadlock appears in push component
                 Key: RF-12899
                 URL: https://issues.jboss.org/browse/RF-12899
             Project: RichFaces
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: component-push/poll
    Affects Versions: 4.2.2.Final
            Reporter: Jiří Mikulášek


Our application freexes occasionally. We used Jstack and have seen the deadlock below. It seems to be very simillar to RF12013, but the stack is slightly different

Found one Java-level deadlock:
=============================
"localhost-startStop-2":
  waiting to lock monitor 0x000000000782a368 (object 0x000000078da957e0, a org.richfaces.application.push.impl.SessionImpl),
  which is held by "http-nio-30085-exec-4"
"http-nio-30085-exec-4":
  waiting to lock monitor 0x00000000085cbe00 (object 0x000000078e8ecf90, a org.atmosphere.cpr.AtmosphereResourceImpl),
  which is held by "Atmosphere-AsyncWrite-0"
"Atmosphere-AsyncWrite-0":
  waiting to lock monitor 0x000000000782a368 (object 0x000000078da957e0, a org.richfaces.application.push.impl.SessionImpl),
  which is held by "http-nio-30085-exec-4"

Java stack information for the threads listed above:
===================================================
"localhost-startStop-2":
	at org.richfaces.application.push.impl.SessionImpl.disconnect(SessionImpl.java:117)
	- waiting to lock <0x000000078da957e0> (a org.richfaces.application.push.impl.SessionImpl)
	at org.richfaces.application.push.impl.RequestImpl.disconnect(RequestImpl.java:128)
	at org.richfaces.application.push.impl.RequestImpl.onResume(RequestImpl.java:136)
	at org.atmosphere.cpr.AtmosphereResourceImpl.onResume(AtmosphereResourceImpl.java:658)
	at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:607)
	at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:591)
	at org.atmosphere.cpr.AtmosphereResourceImpl.resume(AtmosphereResourceImpl.java:187)
	- locked <0x000000078e8b64a8> (a org.atmosphere.cpr.AtmosphereResourceImpl)
	at org.atmosphere.cpr.DefaultBroadcaster.resumeAll(DefaultBroadcaster.java:300)
	- locked <0x000000078e8d1ac8> (a java.util.concurrent.ConcurrentLinkedQueue)
	at org.atmosphere.cpr.DefaultBroadcasterFactory.destroy(DefaultBroadcasterFactory.java:274)
	- locked <0x000000078cb112d8> (a org.atmosphere.cpr.DefaultBroadcasterFactory)
	at org.atmosphere.cpr.AtmosphereServlet.destroy(AtmosphereServlet.java:867)
	at org.atmosphere.cpr.MeteorServlet.destroy(MeteorServlet.java:88)
	at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1481)
	- locked <0x0000000784b6a168> (a org.apache.catalina.core.StandardWrapper)
	at org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1842)
	- locked <0x0000000784b6a168> (a org.apache.catalina.core.StandardWrapper)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	- locked <0x0000000784b6a168> (a org.apache.catalina.core.StandardWrapper)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5471)
	- locked <0x000000078312e828> (a org.apache.catalina.core.StandardContext)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	- locked <0x000000078312e828> (a org.apache.catalina.core.StandardContext)
	at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
	at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:662)
"http-nio-30085-exec-4":
	at org.atmosphere.cpr.AtmosphereResourceImpl.resume(AtmosphereResourceImpl.java:168)
	- waiting to lock <0x000000078e8ecf90> (a org.atmosphere.cpr.AtmosphereResourceImpl)
	at org.atmosphere.cpr.Meteor.resume(Meteor.java:240)
	at org.richfaces.application.push.impl.RequestImpl.resume(RequestImpl.java:71)
	at org.richfaces.application.push.impl.SessionImpl.releaseRequest(SessionImpl.java:112)
	at org.richfaces.application.push.impl.SessionImpl.connect(SessionImpl.java:85)
	- locked <0x000000078da957e0> (a org.richfaces.application.push.impl.SessionImpl)
	at org.richfaces.application.push.impl.RequestImpl.onSuspend(RequestImpl.java:119)
	at org.atmosphere.cpr.AtmosphereResourceImpl.onSuspend(AtmosphereResourceImpl.java:652)
	at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:611)
	at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:591)
	at org.atmosphere.cpr.AtmosphereResourceImpl.suspend(AtmosphereResourceImpl.java:347)
	at org.atmosphere.cpr.Meteor.suspend(Meteor.java:213)
	at org.richfaces.application.push.impl.RequestImpl.suspend(RequestImpl.java:67)
	at org.richfaces.webapp.PushHandlerFilter.doFilter(PushHandlerFilter.java:107)
	at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:139)
	at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:116)
	at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:293)
	at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:151)
	at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:219)
	at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:154)
	at org.atmosphere.container.Tomcat7CometSupport.service(Tomcat7CometSupport.java:85)
	at org.atmosphere.cpr.AtmosphereServlet.doCometSupport(AtmosphereServlet.java:1218)
	at org.atmosphere.cpr.AtmosphereServlet.event(AtmosphereServlet.java:1286)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilterEvent(ApplicationFilterChain.java:484)
	at org.apache.catalina.core.ApplicationFilterChain.doFilterEvent(ApplicationFilterChain.java:377)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1686)
	- locked <0x000000078e7fcc28> (a org.apache.tomcat.util.net.NioChannel)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	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 <0x000000078da957e0> (a org.richfaces.application.push.impl.SessionImpl)
	at org.richfaces.application.push.impl.RequestImpl.disconnect(RequestImpl.java:128)
	at org.richfaces.application.push.impl.RequestImpl.onDisconnect(RequestImpl.java:140)
	at org.atmosphere.cpr.AtmosphereResourceImpl.onDisconnect(AtmosphereResourceImpl.java:664)
	at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:609)
	at org.atmosphere.cpr.AtmosphereResourceImpl.notifyListeners(AtmosphereResourceImpl.java:591)
	at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:719)
	at org.atmosphere.cpr.DefaultBroadcaster$3.run(DefaultBroadcaster.java:749)
	- locked <0x000000078e8ecf90> (a org.atmosphere.cpr.AtmosphereResourceImpl)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
	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:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:662)

Found 1 deadlock.

--
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



More information about the richfaces-issues mailing list