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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]