Bug 47680 - error messages while deploying war
Summary: error messages while deploying war
Status: RESOLVED INVALID
Alias: None
Product: Tomcat 6
Classification: Unclassified
Component: Catalina (show other bugs)
Version: 6.0.20
Hardware: Sun Solaris
: P2 normal (vote)
Target Milestone: default
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-11 12:37 UTC by Suresh T
Modified: 2009-09-12 09:27 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Suresh T 2009-08-11 12:37:42 UTC
Hi
I am getting following errors in catalina.out while deploying war files.
However I can access the web application fine and the actual files MANIFEST.MF,context.xml and web.xml are present in the war file. I am getting these errors every time application is deployed.

========================================================================
Aug 11, 2009 12:51:17 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Aug 11, 2009 12:51:17 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
Aug 11, 2009 12:51:22 PM org.apache.catalina.startup.ContextConfig init
SEVERE: Exception fixing docBase: {0} 
java.io.FileNotFoundException: /export/people/tomcat/apache-tomcat-6.0.20/webapps/biorep/META-INF/MANIFEST.MF (No such file or directory)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
	at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:312)
	at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:158)
	at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:897)
	at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1012)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.StandardContext.init(StandardContext.java:5398)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4177)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
	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:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Aug 11, 2009 12:51:22 PM org.apache.catalina.core.StandardContext resourcesStart
SEVERE: Error starting static Resources
java.lang.NullPointerException
	at java.io.File.<init>(File.java:194)
	at org.apache.catalina.core.StandardContext.getBasePath(StandardContext.java:4840)
	at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4048)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4217)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
	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:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Aug 11, 2009 12:51:22 PM org.apache.catalina.core.StandardContext start
SEVERE: Error in resourceStart()
Aug 11, 2009 12:51:22 PM org.apache.catalina.startup.HostConfig deployDescriptor
SEVERE: Error deploying configuration descriptor biorep.xml
java.lang.NullPointerException
	at java.io.File.<init>(File.java:194)
	at org.apache.catalina.core.StandardContext.getBasePath(StandardContext.java:4840)
	at org.apache.catalina.core.StandardContext.getServletContext(StandardContext.java:1725)
	at org.apache.catalina.core.StandardContext.postWorkDirectory(StandardContext.java:5108)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4253)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
	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:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Aug 11, 2009 12:51:22 PM org.apache.catalina.startup.HostConfig deployWAR
Comment 1 Mark Thomas 2009-08-11 13:20:06 UTC
Please attach the simplest war that replicates this issue to this bug report and someone will take a look.
Comment 2 Konstantin Kolinko 2009-08-11 20:09:50 UTC
I think that this is caused by Unix permissions: I think that the user running Tomcat cannot create the following directory:

/export/people/tomcat/apache-tomcat-6.0.20/webapps/biorep


Note, that File.mkdirs() does not throw an IOException on failures, so I think the following happens inside of ExpandWar#expand():
 - if (docBase.exists()) check is false
 - docBase.mkdir(); call silently fails
 - parent.mkdirs(); call silently fails
 - expand(input, docBase, name) fails to open the file for writing and throws the exception

By the way, besides ignored mkdir errors, there are other things that are wrong:
2. " Exception fixing docBase: {0}" message with an unfilled placeholder
3. java.lang.NullPointerException  in StandardContext.getBasePath(StandardContext.java:4840)
apparently caused by null docBase
4. "However I can access the web application fine" phrase -- is the app just running off an unexpanded war ?
Comment 3 Suresh T 2009-08-12 07:30:18 UTC
Hi developers,
   Looks like the web application (WAR files) had permission problem in unwaring and the JSP/Servlets were running directly of the WAR files and work directory with deployment errors.

  Thanks very much Konstantin,
   
-Suresh
Comment 4 Mark Thomas 2009-09-12 09:27:54 UTC
Resolving based on OP's comment #3