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