Bug 25217 - Catalina ContextConfig Exception
Summary: Catalina ContextConfig Exception
Status: RESOLVED FIXED
Alias: None
Product: Tomcat 4
Classification: Unclassified
Component: Catalina (show other bugs)
Version: 4.1.31
Hardware: PC Windows XP
: P3 minor (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-04 18:17 UTC by Ilija Gojkovic
Modified: 2006-04-14 04:19 UTC (History)
0 users



Attachments
This is the jar file which we are not able to load. (115.94 KB, application/octet-stream)
2004-11-15 12:44 UTC, Shrinivas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ilija Gojkovic 2003-12-04 18:17:48 UTC
When starting the server, it does not start /admin application. The log shows 
the following error:

2003-12-04 10:01:16 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)
.......
.....
....
..
.

This occurres with majority (but not all) of the *.jar files included in a WEB-
INF/lib directory. I have problems running AXIS1.1, some of custom made taglibs.

I have two XP machines and no matter I try it produces the same result.

Identical installattion (Tomcat version and Sun j2sdk 1.4.2._01) on Win 2000 
Pro and Linux Mandarake 9 works like a charm. 

I have tried to unpack the jar files and include the *.class files (and the 
directory structure) into WEB-INF/classes directory and it appears to be 
working all right (kind of slower than usual), but this is not the way it was 
intended to be.

I have tried Tomcat version 4.1.12 and it produces the same result like 4.1.29

Tomcat 5.0.16 works well, so I strongly believe this is not a Java problem.

I run Tomcat in stand alone mode.
Comment 1 Mark Thomas 2004-06-22 23:04:29 UTC
Most likely cause is that the $CATALINA_BASE/temp directory does not exist or 
is not available. As a result of a recently fixed bug (18650), a much better 
error message is displayed if this is the case.
Comment 2 Shrinivas 2004-11-15 12:44:43 UTC
Created attachment 13461 [details]
This is the jar file which we are not able to load.
Comment 3 Shrinivas 2004-11-15 12:47:10 UTC
Comment on attachment 13461 [details]
This is the jar file which we are not able to load.

Guys we are facing the same problem with jar files & unable to run webapps.
Here is what we are using Tomcat 4.1.29 woth JDK 1.4.2_03. If we add this file
into folder common/lib it loads, but then cries for other jar file.Note that we
do not get the error for all the jar files but selected one. Attached is a jar
file which fails to open with the error in log:

2004-11-15 16:42:48 ContextConfig[/] Exception processing JAR at resource path
/WEB-INF/lib/saxpath.jar
javax.servlet.ServletException: Exception processing JAR at resource path
/WEB-INF/lib/saxpath.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.j
ava:166)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3582)
	at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
	at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
	at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
	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.ja
va:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
----- Root Cause -----
java.util.zip.ZipException: Access is denied
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:112)
	at java.util.jar.JarFile.<init>(JarFile.java:127)
	at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:51)
	at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:178)
	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:78)
	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.j
ava:166)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3582)
	at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
	at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
	at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
	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.ja
va:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
Comment 4 serkan 2004-12-02 11:21:19 UTC
I have the same issue with tomcat 4.1.30 and 4.1.31 on win XP
And I have some suspicions of McAfee Viruscan On-Access scan.
By the way, we dont get this error on tomcat 5.5.4.
This is the log :

2004-12-02 11:37:09 ContextConfig[/admin] IOException processing JAR at resource
path /WEB-INF/lib/struts.jar
javax.servlet.ServletException: IOException processing JAR at resource path
/WEB-INF/lib/struts.jar
	at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:875)
	at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:809)
	at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:587)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:181)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3523)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:774)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:548)
	at
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:653)
	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:338)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:395)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:352)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:671)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1149)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:707)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1141)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:316)
	at org.apache.catalina.core.StandardService.start(StandardService.java:450)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2143)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:463)
	at org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
	at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
	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.catalina.startup.Bootstrap.main(Bootstrap.java:156)
----- Root Cause -----
java.util.zip.ZipException: Access is denied
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:112)
	at java.util.jar.JarFile.<init>(JarFile.java:127)
	at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:51)
	at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:178)
	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:78)
	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:847)
	at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:809)
	at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:587)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:181)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3523)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:774)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:548)
	at
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:653)
	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:338)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:395)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:352)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:671)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1149)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:707)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1141)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:316)
	at org.apache.catalina.core.StandardService.start(StandardService.java:450)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2143)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:463)
	at org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
	at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
	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.catalina.startup.Bootstrap.main(Bootstrap.java:156)

2004-12-02 11:37:09 ContextConfig[/admin]: Marking this application unavailable
due to previous error(s)
Comment 5 Mark Thomas 2004-12-03 00:08:34 UTC
The admin app works for me on a clean install of 4.1.31.

This is a configuration error. Bugzilla is not the right forum for these 
issues. Please follow this up on the tomcat-user mailing list.
Comment 6 Zhi An 2006-03-31 17:22:50 UTC
This bug still exists:  I have identified the cuase also:  If the directory
WEB-INF is capitalized, the problem will occur.  Changing it to web-inf will fix
the problem so one can use web-inf as a work around till this bug is fixed.

Zhi An
Comment 7 Mark Thomas 2006-04-14 11:19:13 UTC
The /admin application works for me on a clean install. The WEB-INF directory is
in upper case so by default I don't think this is relevant for the original report.

You may have identified a different bug. In this case what is needed is a new
bug report, ideally with a test case.