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

Reply via email to