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=8275>.
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=8275

ContextConfig.start() attempts to create a $CATALINA_BASE/temp/ directory

           Summary: ContextConfig.start() attempts to create a
                    $CATALINA_BASE/temp/ directory
           Product: Tomcat 4
           Version: Nightly Build
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Catalina
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


The snapshot is from 2002-04-15.  While reading JAR files, Catalina's
ContextConfig.start() method calls the tldScan() method, which is attempting to
create files within a temporary directory at $CATALINA_BASE/temp/ (a directory
which AFAIK does not exist by default).  In a secure configuration, the unix
user which Catalina runs at has no permission to write directly to
$CATALINA_BASE directory, and thus cannot create the temporary directory.  This
hoses the web application bound to that context.

IMHO, Catalina shouldn't reference tag library descriptors -- I was under the
impression that those were JSP-specific, in which case wouldn't they be the
domain of Jasper?  Perhaps the Servlet spec. makes this impossible...

I'm also a bit curious as to where the directory name "temp" is coming from.  I
took my last snapshot on 2002-01-24, and didn't see any reference to it while
looking through the delta.

Here's the associated stack trace from Catalina's log file:

2002-04-18 12:47:14 ContextConfig[/scarab] Exception processing JAR at resource
path /WEB-INF/lib/commons-fileupload-0.1-dev.jar
javax.servlet.ServletException: Exception processing JAR at resource path
/WEB-INF/lib/commons-fileupload-0.1-dev.jar
        at
org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java,
Compiled Code)
        at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java,
Compiled Code)
        at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java,
Compiled Code)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java,
Compiled Code)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java,
Compiled Code)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java,
Compiled Code)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java,
Compiled Code)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java,
Compiled Code)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java,
Compiled Code)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java,
Compiled Code)
        at org.apache.catalina.core.StandardService.start(StandardService.java,
Compiled Code)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java,
Compiled Code)
        at org.apache.catalina.startup.Catalina.start(Catalina.java, Compiled Code)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java, Compiled
Code)
        at org.apache.catalina.startup.Catalina.process(Catalina.java, Compiled
Code)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java, Compiled Code)
----- Root Cause -----
java.io.IOException: No such file or directory
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java, Compiled Code)
        at java.io.File.createTempFile(File.java, Compiled Code)
        at java.io.File.createTempFile(File.java, Compiled Code)
        at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java, Compiled Code)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java,
Compiled Code)
        at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java,
Compiled Code)
        at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java,
Compiled Code)
        at
sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java,
Compiled Code)
        at
sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java,
Compiled Code)
        at
org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java,
Compiled Code)
        at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java,
Compiled Code)
        at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java,
Compiled Code)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java,
Compiled Code)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java,
Compiled Code)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java,
Compiled Code)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java,
Compiled Code)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java,
Compiled Code)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java,
Compiled Code)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java,
Compiled Code)
        at org.apache.catalina.core.StandardService.start(StandardService.java,
Compiled Code)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java,
Compiled Code)
        at org.apache.catalina.startup.Catalina.start(Catalina.java, Compiled Code)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java, Compiled
Code)
        at org.apache.catalina.startup.Catalina.process(Catalina.java, Compiled
Code)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java, Compiled Code)

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to