DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=29093>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=29093 When reloading context IllegalStateException is not catched Summary: When reloading context IllegalStateException is not catched Product: Tomcat 5 Version: 5.0.24 Platform: PC OS/Version: Linux Status: NEW Severity: Major Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] We have noticed the following behaviour of manager application: sometimes when reloading context, it is stopped and than it is not started. It happens when server is heavily loaded. We think, that the reason of it is the following: org.apache.catalina.core.StandardContext, method reload() ... try { stop(); } catch (LifecycleException e) { log.error(sm.getString("standardContext.stoppingContext"), e); } try { start(); } catch (LifecycleException e) { log.error(sm.getString("standardContext.startingContext"), e); } ... Method stop() can throw a runtime exception (org.apache.catalina.session.StandardSession): public void removeAttribute(String name, boolean notify) { // Validate our current state if (!isValid()) throw new IllegalStateException (sm.getString("standardSession.removeAttribute.ise")); removeAttributeInternal(name, notify); } Is it possible to catch this exception: try { stop(); } catch (LifecycleException e) { log.error(sm.getString("standardContext.stoppingContext"), e); } catch (IllegalStateException illegalStateException) { log.error(sm.getString("standardContext.stoppingContext"), illegalStateException); } Stack trace is provided: java.lang.IllegalStateException: removeAttribute: Session already invalidated at org.apache.catalina.session.StandardSession.removeAttribute (StandardSession.java:1144) at org.apache.catalina.session.StandardSession.removeAttribute (StandardSession.java:1119) at org.apache.catalina.session.StandardSession.writeObject (StandardSession.java:1401) at org.apache.catalina.session.StandardSession.writeObjectData (StandardSession.java:899) at org.apache.catalina.session.StandardManager.doUnload (StandardManager.java:539) at org.apache.catalina.session.StandardManager.unload (StandardManager.java:485) at org.apache.catalina.session.StandardManager.stop (StandardManager.java:687) at org.apache.catalina.core.StandardContext.stop (StandardContext.java:4474) at org.apache.catalina.core.StandardContext.reload (StandardContext.java:3015) at org.apache.catalina.manager.ManagerServlet.reload (ManagerServlet.java:1014) at org.apache.catalina.manager.HTMLManagerServlet.reload (HTMLManagerServlet.java:477) at org.apache.catalina.manager.HTMLManagerServlet.doGet (HTMLManagerServlet.java:100) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:540) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.valves.RequestFilterValve.process (RequestFilterValve.java:287) at org.apache.catalina.valves.RemoteAddrValve.invoke (RemoteAddrValve.java:84) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service (CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio n(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt (PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:644) at java.lang.Thread.run(Thread.java:534) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]