tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 18650] - Exception while processing a JAR file
Date Mon, 03 Nov 2003 23:46:46 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18650>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18650

Exception while processing a JAR file





------- Additional Comments From emailbillgraham@yahoo.com  2003-11-03 23:46 -------
Here's a valid test case for you, as simple as it gets:

1. Install tomcat 4.1.27.
2. Delete, rename or remove write privileges on $CATALINA_BASE/temp.
3. Start catalina.
4. Inspect the logs of any webapp that contains a jar that needs the catalina 
temp/ directory (i.e., localhost_admin_log.<date>.txt). You will see something 
like this:

2003-11-03 15:18:44 ContextConfig[/admin] Exception processing JAR at resource 
path /WEB-INF/lib/struts.jar
javax.servlet.ServletException: Exception processing JAR at resource path /WEB-
INF/lib/struts.jar
        at org.apache.catalina.startup.ContextConfig.tldScanJar
(ContextConfig.java:930)
        at org.apache.catalina.startup.ContextConfig.tldScan
(ContextConfig.java:868)
        at org.apache.catalina.startup.ContextConfig.start
(ContextConfig.java:647)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent
(ContextConfig.java:243)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:166)
        at org.apache.catalina.core.StandardContext.start
(StandardContext.java:3568)
        at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:821)
        at org.apache.catalina.core.ContainerBase.addChild
(ContainerBase.java:807)
        at org.apache.catalina.core.StandardHost.addChild
(StandardHost.java:579)
        at org.apache.catalina.core.StandardHostDeployer.addChild
(StandardHostDeployer.java:700)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.commons.beanutils.MethodUtils.invokeMethod
(MethodUtils.java:252)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java:276)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement
(Unknown Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher
.dispatch(Unknown Source
)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1567)
        at org.apache.catalina.core.StandardHostDeployer.install
(StandardHostDeployer.java:385)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:803)
        at org.apache.catalina.startup.HostConfig.deployDescriptors
(HostConfig.java:442)
        at org.apache.catalina.startup.HostConfig.deployApps
(HostConfig.java:399)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent
(HostConfig.java:358)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:166)
        at org.apache.catalina.core.ContainerBase.start
(ContainerBase.java:1196)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
        at org.apache.catalina.core.ContainerBase.start
(ContainerBase.java:1188)
        at org.apache.catalina.core.StandardEngine.start
(StandardEngine.java:347)
        at org.apache.catalina.core.StandardService.start
(StandardService.java:497)
        at org.apache.catalina.core.StandardServer.start
(StandardServer.java:2190)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
----- Root Cause -----
java.io.IOException: No such file or directory
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java:1314)
        at java.io.File.createTempFile(File.java:1402)
        at java.io.File.createTempFile(File.java:1439)
        at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:169)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:164)
        at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:42)
        at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:68)
        at sun.net.www.protocol.jar.JarURLConnection.connect
(JarURLConnection.java:85)
        at sun.net.www.protocol.jar.JarURLConnection.getJarFile
(JarURLConnection.java:69)
        at org.apache.catalina.startup.ContextConfig.tldScanJar
(ContextConfig.java:906)
        at org.apache.catalina.startup.ContextConfig.tldScan
(ContextConfig.java:868)
        at org.apache.catalina.startup.ContextConfig.start
(ContextConfig.java:647)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent
(ContextConfig.java:243)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:166)
        at org.apache.catalina.core.StandardContext.start
(StandardContext.java:3568)
        at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:821)
        at org.apache.catalina.core.ContainerBase.addChild
(ContainerBase.java:807)
        at org.apache.catalina.core.StandardHost.addChild
(StandardHost.java:579)
        at org.apache.catalina.core.StandardHostDeployer.addChild
(StandardHostDeployer.java:700)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.commons.beanutils.MethodUtils.invokeMethod
(MethodUtils.java:252)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java:276)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement
(Unknown Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher
.dispatch(Unknown Source
)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1567)
        at org.apache.catalina.core.StandardHostDeployer.install
(StandardHostDeployer.java:385)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:803)
        at org.apache.catalina.startup.HostConfig.deployDescriptors
(HostConfig.java:442)
        at org.apache.catalina.startup.HostConfig.deployApps
(HostConfig.java:399)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent
(HostConfig.java:358)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:166)
        at org.apache.catalina.core.ContainerBase.start
(ContainerBase.java:1196)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
        at org.apache.catalina.core.ContainerBase.start
(ContainerBase.java:1188)
        at org.apache.catalina.core.StandardEngine.start
(StandardEngine.java:347)

This is a bug in the error messaging when the required temp/ directory is not 
available to write to, which hardly apparent by the messaging. This bug took 
me half a day to track down while trying to test a tomcat upgrade from 4.0.3 -
> 4.1.27. IMHO, comments like "I doubt you can find a valid [test case to 
reproduce]" are condesending and uncalled for.

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message