2012/5/10 Jesse Farinacci <jie...@gmail.com>: > Greetings, > > I'm running Apache Tomcat 7.0.27 on Linux 2.6.32.x kernel, where > Tomcat reports at startup: > > Loaded APR based Apache Tomcat Native library 1.1.22 > > and Connector definitions look like: > > <Connector scheme="http" address="a.b.c.d" port="8080" > compression="on" enableLookups="false" URIEncoding="UTF-8"/> > <Connector scheme="https" address="a.b.c.d" port="8443" secure="true" > compression="on" enableLookups="false" URIEncoding="UTF-8" > SSLEnabled="true" > SSLCertificateFile="${catalina.home}/conf/cacert.pem" > SSLCertificateKeyFile="${catalina.home}/conf/privkey.pem"/> > > The web application was deployed via the manager application, and it > is unpacked into ROOT/ directory. On most every request we're seeing > delays and then in the log: > > 10-May-2012 08:13:58.523 SEVERE [AsyncFileHandlerWriter-1685021807] > org.apache.coyote.http11.AbstractHttp11Processor.process Error > processing request > java.lang.IllegalStateException: zip file closed > at java.util.jar.JarFile.getMetaInfEntryNames(Native Method) > at java.util.jar.JarFile.maybeInstantiateVerifier(JarFile.java:329) > at java.util.jar.JarFile.getInputStream(JarFile.java:433) > at > org.apache.naming.resources.WARDirContext$WARResource.streamContent(WARDirContext.java:988) > at > org.apache.naming.resources.ProxyDirContext.cacheLoad(ProxyDirContext.java:1656) > at > org.apache.naming.resources.ProxyDirContext.cacheLookup(ProxyDirContext.java:1536) > at > org.apache.naming.resources.ProxyDirContext.lookup(ProxyDirContext.java:297) > at > org.apache.tomcat.util.http.mapper.Mapper.internalMapWrapper(Mapper.java:996) > at > org.apache.tomcat.util.http.mapper.Mapper.internalMap(Mapper.java:808) > at org.apache.tomcat.util.http.mapper.Mapper.map(Mapper.java:671) > at > org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:646) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) > at > org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1770) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:898) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:920) > at java.lang.Thread.run(Thread.java:736) > > This has been happening for a while, but it never really caused > delays. Now users are seeing the delays and so the issue has > escalated.. Any help is appreciated, let me know if I can provide some > better data,
I can easily reproduce this "zip file closed" issue in trunk with a simple jar containing Tomcat's icon in META-INF/resources/favicon.ico if I change configuration by removing JreMemoryLeakPreventionListener from server.xml. The first request to <appname>/favicon.ico hits the error. It is a rare configuration and IMHO a broken one. I think that running without JreMemoryLeakPreventionListener is wrong. A place that I know that closes JARs is WebappClassLoader#closeJARs(). The closeJARs() is called after StandardContext has started up. But WebappClassLoader and WARDirContext use different API to locate and open the JAR file and I do not see how they can interfere with each other. I cannot reproduce the issue with the standard configuration. Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org