You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hivemind.apache.org by "Howard M. Lewis Ship (JIRA)" <hi...@jakarta.apache.org> on 2005/03/31 17:42:17 UTC
[jira] Resolved: (HIVEMIND-104) Thread Deadlock
[ http://issues.apache.org/jira/browse/HIVEMIND-104?page=history ]
Howard M. Lewis Ship resolved HIVEMIND-104:
-------------------------------------------
Assign To: Howard M. Lewis Ship
Resolution: Fixed
Fix Version: 1.1
I've checked in the proposed fix; let's let it stew for a while and see if it actually fixes the problem, or if we have to take a more radical approach.
> 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
> Assignee: Howard M. Lewis Ship
> Fix For: 1.1
>
> 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: hivemind-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-dev-help@jakarta.apache.org