Closed balmydrizzle closed 6 years ago
The question is why the application had been stopped, right?
Apart from this, is this still relevant, or can we close this issue?
Yes. I'll close it. We've found the most possib;e cause of this problem could be due to that server has two ips with different C-class subnet and contantly makes memcached request lost. We delete one of the ips, and it seems to be "better" but not totally "well", though. Anyway, we could live this current situation. Thanks for reply, anyway.
Thanks for sharing your insights!
We use httpd+Tomcat (connected by using modjk connector) both on our product and lab environments. The only difference is class-auto-reload is off on product side whereas it's on on lab side. In our lab side, memcached session manager constantly failed and we have to restart httpd+Tomcat to recover it. But on product side, it almost never failed. When failed, the most frequent error sentence is: "Illegal access: this web application instance has been stopped already". Below is one of the sample error messages dumped in catalina.out ( a bit lengthy):
INFO: Illegal access: this web application instance has been stopped already. Could not load org.jasig.cas.client.validation.AssertionImpl. The eventual fo java.lang.IllegalStateException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1566) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:447) at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:561) at com.esotericsoftware.kryo.serialize.MapSerializer.readObjectData(MapSerializer.java:129) at com.esotericsoftware.kryo.Serializer.readObject(Serializer.java:61) at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:589) at com.esotericsoftware.kryo.ObjectBuffer.readObject(ObjectBuffer.java:213) at de.javakaffee.web.msm.serializer.kryo.KryoTranscoder.deserializeAttributes(KryoTranscoder.java:261) at de.javakaffee.web.msm.TranscoderService.deserializeAttributes(TranscoderService.java:169) at de.javakaffee.web.msm.TranscoderService.deserialize(TranscoderService.java:126) at de.javakaffee.web.msm.MemcachedSessionService.loadFromMemcached(MemcachedSessionService.java:1136) at de.javakaffee.web.msm.MemcachedSessionService.findSession(MemcachedSessionService.java:609) at de.javakaffee.web.msm.MemcachedBackupSessionManager.findSession(MemcachedBackupSessionManager.java:216) at org.apache.catalina.connector.Request.doGetSession(Request.java:2419) at org.apache.catalina.connector.Request.getSession(Request.java:2157) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:844) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:224) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:224) at newdata.Index.doGet(Index.java:104) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at newdata.CharsetFilter.doFilter(CharsetFilter.java:27) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at newdata.CharsetFilter.doFilter(CharsetFilter.java:27) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at de.javakaffee.web.msm.RequestTrackingContextValve.invoke(RequestTrackingContextValve.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at de.javakaffee.web.msm.RequestTrackingHostValve.invoke(RequestTrackingHostValve.java:170) at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:311) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Thread.java:662)