Thread Deadlock --------------- Key: HIVEMIND-104 URL: http://issues.apache.org/jira/browse/HIVEMIND-104 Project: HiveMind Type: Bug Components: framework Versions: 1.1 Environment: HiveMind 1.1-alpha-3 Reporter: Howard M. Lewis Ship
Occasionally my Tapestry applications seem to lock up. Just happened when I was in the debugger and I was able to pause and see what the contention is. Thread [http-8080-Processor25] (Suspended) PooledServiceModel.returnServiceToPool(PooledServiceModel$PooledService) line: 213 PooledServiceModel.unbindPooledServiceFromCurrentThread(PooledServiceModel$PooledService) line: 248 PooledServiceModel.access$100(PooledServiceModel, PooledServiceModel$PooledService) line: 38 PooledServiceModel$PooledService.threadDidCleanup() line: 96 ThreadEventNotifierImpl.fireThreadCleanup() line: 75 $ThreadEventNotifier_102f0461661.fireThreadCleanup() line: not available RegistryInfrastructureImpl.cleanupThread() line: 420 RegistryImpl.cleanupThread() line: 86 ApplicationPortlet.render(RenderRequest, RenderResponse) line: 165 PortletApplicationHandler.render_aroundBody8(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: 226 PortletApplicationHandler.render_aroundBody9$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletFilterAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 458 PortletApplicationHandler.render_aroundBody10(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody11$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletContentAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 340 PortletApplicationHandler.render_aroundBody12(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody13$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletCacheAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 172 PortletApplicationHandler.render_aroundBody14(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody15$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletSecurityAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 738 PortletApplicationHandler.render_aroundBody16(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody17$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletMonitorAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 628 PortletApplicationHandler.process(ServletContext, HttpServletRequest, HttpServletResponse, Input, Output, PortletWindowInternal, boolean) line: 226 ServletWrapper.service(HttpServletRequest, HttpServletResponse) line: 70 ServletWrapper(HttpServlet).service(ServletRequest, ServletResponse) line: 802 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 237 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 157 ApplicationDispatcher.invoke(ServletRequest, ServletResponse) line: 704 ApplicationDispatcher.doInclude(ServletRequest, ServletResponse) line: 590 ApplicationDispatcher.include(ServletRequest, ServletResponse) line: 510 PortletContainerDispatcher.dispatch(HttpServletRequest, HttpServletResponse, String) line: 370 PortletContainerDispatcher.process(HttpServletRequest, HttpServletResponse, Input, boolean) line: 310 PortletContainerDispatcher.render(HttpServletRequest, HttpServletResponse, RenderInput) line: 271 PortletContainerServiceImpl.render(HttpServletRequest, HttpServletResponse, RenderInput) line: 144 PortletRenderer.encodeChildren(FacesContext, UIComponent) line: 100 UIPortlet(UIComponentBase).encodeChildren(FacesContext) line: 693 ContainerRowRenderer.renderViewMode(FacesContext, UIContainer) line: 40 ContainerRowRenderer(ContainerRenderer).encodeChildren(FacesContext, UIComponent) line: 34 UIContainer(UIComponentBase).encodeChildren(FacesContext) line: 693 PortalRenderer(HtmlBasicRenderer).renderChildren(FacesContext, UIComponent) line: 63 PortalRenderer.encodeChildren(FacesContext, UIComponent) line: 58 UIPortal(UIComponentBase).encodeChildren(FacesContext) line: 693 ExoPortalViewHandler.renderView(FacesContext, UIViewRoot) line: 63 RenderResponsePhase.execute(FacesContext) line: 87 LifecycleImpl.phase(PhaseId, Phase, FacesContext) line: 200 LifecycleImpl.render(FacesContext) line: 117 FacesServlet.service(ServletRequest, ServletResponse) line: 198 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 237 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 157 PrivateRequestFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 82 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 186 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 157 StandardWrapperValve.invoke(Request, Response, ValveContext) line: 214 StandardValveContext.invokeNext(Request, Response) line: 104 StandardPipeline.invoke(Request, Response) line: 520 StandardContextValve.invokeInternal(Wrapper, Request, Response) line: 198 StandardContextValve.invoke(Request, Response, ValveContext) line: 152 StandardValveContext.invokeNext(Request, Response) line: 104 FormAuthenticator(AuthenticatorBase).invoke(Request, Response, ValveContext) line: 540 StandardValveContext.invokeNext(Request, Response) line: 102 StandardPipeline.invoke(Request, Response) line: 520 StandardHostValve.invoke(Request, Response, ValveContext) line: 137 StandardValveContext.invokeNext(Request, Response) line: 104 ErrorReportValve.invoke(Request, Response, ValveContext) line: 117 StandardValveContext.invokeNext(Request, Response) line: 102 StandardPipeline.invoke(Request, Response) line: 520 StandardEngineValve.invoke(Request, Response, ValveContext) line: 109 StandardValveContext.invokeNext(Request, Response) line: 104 StandardPipeline.invoke(Request, Response) line: 520 StandardEngine(ContainerBase).invoke(Request, Response) line: 929 CoyoteAdapter.service(Request, Response) line: 160 Http11Processor.process(InputStream, OutputStream) line: 799 Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection, Object[]) line: 705 TcpWorkerThread.runIt(Object[]) line: 577 ThreadPool$ControlRunnable.run() line: 683 ThreadWithAttributes(Thread).run() line: 536 private synchronized void returnServiceToPool(PooledService pooled) { if (_servicePool == null) // line 213 _servicePool = new ArrayList(); _servicePool.add(pooled); } and Thread [http-8080-Processor22] (Suspended) RegistryInfrastructureImpl.checkShutdown() line: 345 RegistryInfrastructureImpl.getServicePoint(String, Module) line: 153 RegistryInfrastructureImpl.getService(String, Class, Module) line: 168 ModuleImpl.getService(String, Class) line: 97 ServiceTranslator.translate(Module, Class, String, Location) line: 40 BuilderPropertyFacet.getFacetValue(ServiceImplementationFactoryParameters, Class) line: 41 BuilderFactoryLogic.wireProperty(Object, BuilderFacet) line: 357 BuilderFactoryLogic.setProperties(Object) line: 320 BuilderFactoryLogic.createService() line: 77 BuilderFactory.createCoreServiceImplementation(ServiceImplementationFactoryParameters) line: 42 InvokeFactoryServiceConstructor.constructCoreServiceImplementation() line: 84 PooledServiceModel(AbstractServiceModelImpl).constructCoreServiceImplementation() line: 106 PooledServiceModel.constructPooledService() line: 223 PooledServiceModel.obtainPooledService() line: 196 PooledServiceModel.getServiceImplementationForCurrentThread() line: 180 $ApplicationStateManager_102f04616a3._service() line: not available $ApplicationStateManager_102f04616a3.flush() line: not available $ApplicationStateManager_102f04616a4.flush() line: not available BaseEngine(AbstractEngine).service(WebRequest, WebResponse) line: 312 InvokeEngineTerminator.service(WebRequest, WebResponse) line: 60 RenderRequestServicerToWebRequestServicerBridge.service(RenderRequest, RenderResponse) line: 49 ApplicationPortlet.render(RenderRequest, RenderResponse) line: 157 PortletApplicationHandler.render_aroundBody8(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: 226 PortletApplicationHandler.render_aroundBody9$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletFilterAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 458 PortletApplicationHandler.render_aroundBody10(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody11$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletContentAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 340 PortletApplicationHandler.render_aroundBody12(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody13$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletCacheAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 172 PortletApplicationHandler.render_aroundBody14(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody15$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletSecurityAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 738 PortletApplicationHandler.render_aroundBody16(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse) line: not available PortletApplicationHandler.render_aroundBody17$advice(PortletApplicationHandler, Portlet, RenderRequest, RenderResponse, PortletMonitorAspect, Portlet, RenderRequest, RenderResponse, AroundClosure) line: 628 PortletApplicationHandler.process(ServletContext, HttpServletRequest, HttpServletResponse, Input, Output, PortletWindowInternal, boolean) line: 226 ServletWrapper.service(HttpServletRequest, HttpServletResponse) line: 70 ServletWrapper(HttpServlet).service(ServletRequest, ServletResponse) line: 802 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 237 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 157 ApplicationDispatcher.invoke(ServletRequest, ServletResponse) line: 704 ApplicationDispatcher.doInclude(ServletRequest, ServletResponse) line: 590 ApplicationDispatcher.include(ServletRequest, ServletResponse) line: 510 PortletContainerDispatcher.dispatch(HttpServletRequest, HttpServletResponse, String) line: 370 PortletContainerDispatcher.process(HttpServletRequest, HttpServletResponse, Input, boolean) line: 310 PortletContainerDispatcher.render(HttpServletRequest, HttpServletResponse, RenderInput) line: 271 PortletContainerServiceImpl.render(HttpServletRequest, HttpServletResponse, RenderInput) line: 144 PortletRenderer.encodeChildren(FacesContext, UIComponent) line: 100 UIPortlet(UIComponentBase).encodeChildren(FacesContext) line: 693 ContainerRowRenderer.renderViewMode(FacesContext, UIContainer) line: 40 ContainerRowRenderer(ContainerRenderer).encodeChildren(FacesContext, UIComponent) line: 34 UIContainer(UIComponentBase).encodeChildren(FacesContext) line: 693 PortalRenderer(HtmlBasicRenderer).renderChildren(FacesContext, UIComponent) line: 63 PortalRenderer.encodeChildren(FacesContext, UIComponent) line: 58 UIPortal(UIComponentBase).encodeChildren(FacesContext) line: 693 ExoPortalViewHandler.renderView(FacesContext, UIViewRoot) line: 63 RenderResponsePhase.execute(FacesContext) line: 87 LifecycleImpl.phase(PhaseId, Phase, FacesContext) line: 200 LifecycleImpl.render(FacesContext) line: 117 FacesServlet.service(ServletRequest, ServletResponse) line: 198 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 237 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 157 PrivateRequestFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 82 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 186 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 157 StandardWrapperValve.invoke(Request, Response, ValveContext) line: 214 StandardValveContext.invokeNext(Request, Response) line: 104 StandardPipeline.invoke(Request, Response) line: 520 StandardContextValve.invokeInternal(Wrapper, Request, Response) line: 198 StandardContextValve.invoke(Request, Response, ValveContext) line: 152 StandardValveContext.invokeNext(Request, Response) line: 104 FormAuthenticator(AuthenticatorBase).invoke(Request, Response, ValveContext) line: 540 StandardValveContext.invokeNext(Request, Response) line: 102 StandardPipeline.invoke(Request, Response) line: 520 StandardHostValve.invoke(Request, Response, ValveContext) line: 137 StandardValveContext.invokeNext(Request, Response) line: 104 ErrorReportValve.invoke(Request, Response, ValveContext) line: 117 StandardValveContext.invokeNext(Request, Response) line: 102 StandardPipeline.invoke(Request, Response) line: 520 StandardEngineValve.invoke(Request, Response, ValveContext) line: 109 StandardValveContext.invokeNext(Request, Response) line: 104 StandardPipeline.invoke(Request, Response) line: 520 StandardEngine(ContainerBase).invoke(Request, Response) line: 929 CoyoteAdapter.service(Request, Response) line: 160 Http11Processor.process(InputStream, OutputStream) line: 799 Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection, Object[]) line: 705 TcpWorkerThread.runIt(Object[]) line: 577 ThreadPool$ControlRunnable.run() line: 683 ThreadWithAttributes(Thread).run() line: 536 private synchronized void checkShutdown() { if (_shutdown) // Line 345 throw new ApplicationRuntimeException(HiveMindMessages.registryShutdown()); } Are the only threads in the application anywhere near HiveMind. Unfortunately, I was running with JDK 1.4, so I can't use Eclipse's debugger to get at threads and monitors. This is something that needs more attention ... and I can't see how they would be conflicting. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]