JMS connection reset does not happen because of object lock
vsrinivasan Mar 17, 2009 4:21 AMHello Team,
The JMS connection pool would not get cleared, because the GenericKeyedObjectPool.clear is Looked by some other thread and waiting for some other thread object to be notified. So all the request to JMS reset are keep on waiting, Until the server itself gets restarted. This issue is often happening and we need to bounce the server in interim intervals.
Jboss server version: jboss-eap-4.2
JMS messaging version: jboss-messaging-1.4.0.SP1
Please suggest whether this is known issue and are there any fixes on the upgraded releases?
Your help is highly appreciated
Thread dump for the reference: ----------------------------------------------------------------------------------- Object blocked state: java.lang.Thread.run(Thread.java:595) Thread: http-appllm01-t2%2F10.10.64.91-8080-2 : priority:5, demon:true, threadId:11170, threadState:BLOCKED, lockName:org.apache.commons.pool.impl.GenericKeyedObjectPool@1eef0d6 org.apache.commons.pool.impl.GenericKeyedObjectPool.clear(GenericKeyedObjectPool.java:1061) com.travelclick.common.jms.JMSSessionPool.resetAll(Unknown Source) com.travelclick.common.jms.JMSSessionPoolControl.resetAll(Unknown Source) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) org.jboss.mx.server.Invocation.invoke(Invocation.java:86) org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) org.jboss.system.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java:291) org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:258) org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:223) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:262) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:82) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) --------------------------------------------------------------------------------------- Object waiting trace: Thread: http-appllm01-t2%2F10.10.64.91-8080-1 : priority:5, demon:true, threadId:11169, threadState:WAITING, lockName:java.lang.Object@b409cb java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:474) org.jboss.jms.server.endpoint.ServerSessionEndpoint.closing(ServerSessionEndpoint.java:356) org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$closing$aop(SessionAdvised.java:77) org.jboss.jms.server.endpoint.advised.SessionAdvised$closing_2473194355759371067.invokeNext(SessionAdvised$closing_2473194355759371067.java) org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105) org.jboss.jms.server.endpoint.advised.SessionAdvised$closing_2473194355759371067.invokeNext(SessionAdvised$closing_2473194355759371067.java) org.jboss.jms.server.endpoint.advised.SessionAdvised.closing(SessionAdvised.java) org.jboss.jms.wireformat.ClosingRequest.serverInvoke(ClosingRequest.java:68) org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143) org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769) org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:101) org.jboss.remoting.Client.invoke(Client.java:1634) org.jboss.remoting.Client.invoke(Client.java:548) org.jboss.remoting.Client.invoke(Client.java:536) org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:187) org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:158) org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientSessionDelegate$closing$aop(ClientSessionDelegate.java:159) org.jboss.jms.client.delegate.ClientSessionDelegate$closing_2473194355759371067.invokeNext(ClientSessionDelegate$closing_2473194355759371067.java) org.jboss.jms.client.container.SessionAspect.handleClosing(SessionAspect.java:199) org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect24.invoke(SessionAspect24.java) org.jboss.jms.client.delegate.ClientSessionDelegate$closing_2473194355759371067.invokeNext(ClientSessionDelegate$closing_2473194355759371067.java) org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92) org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105) org.jboss.jms.client.delegate.ClientSessionDelegate$closing_2473194355759371067.invokeNext(ClientSessionDelegate$closing_2473194355759371067.java) org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170) org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105) org.jboss.jms.client.delegate.ClientSessionDelegate$closing_2473194355759371067.invokeNext(ClientSessionDelegate$closing_2473194355759371067.java) org.jboss.jms.client.delegate.ClientSessionDelegate.closing(ClientSessionDelegate.java) org.jboss.jms.client.JBossSession.close(JBossSession.java:174) com.travelclick.common.jms.JMSSession.releaseJMSConnection(Unknown Source) com.travelclick.common.jms.JMSSessionPoolFactory.destroyObject(Unknown Source) org.apache.commons.pool.impl.GenericKeyedObjectPool.clear(GenericKeyedObjectPool.java:1067) com.travelclick.common.jms.JMSSessionPool.resetAll(Unknown Source) com.travelclick.common.jms.JMSSessionPoolControl.resetAll(Unknown Source) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) org.jboss.mx.server.Invocation.invoke(Invocation.java:86) org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) org.jboss.system.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java:291) org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:258) org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:223) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:262) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:82) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) --------------------------------------------------------------------------------------------------------