Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 201959

Summary: www-servers/tomcat-6.0.14-r1 - manager silently fails to deploy unpacked webapp with bad symlink
Product: Gentoo Linux Reporter: Owen Kaser <o.kaser>
Component: [OLD] ServerAssignee: William L. Thomson Jr. (RETIRED) <wltjr>
Status: RESOLVED INVALID    
Severity: normal CC: java
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Owen Kaser 2007-12-11 16:53:42 UTC
Deploying unpacked webapp from outside of tomcat, via manager:
   Presence of a bad symlink in WEB-INF/lib makes the deployment stop early, with only some of the application files copied to /var/lib/tomcat-6/webapps.  There seem to be no warnings generated.  In my case, I did not get the "classes" directory copied over, and (unsurprisingly), the classloader complained that it could not find my classes when I tried to invoke my servlet.



Reproducible: Always

Steps to Reproduce:
cd /tmp  
  270  mkdir test1
  271  mkdir -p test1/WEB-INF/lib
  272  mkdir -p test1/WEB-INF/classes
  273  touch test1/WEB-INF/lib/foo.jar
  274  touch test1/WEB-INF/classes/bar.class
  275  echo deploy via manager GUI at contextpath /tester, url file:/tmp/test1
  276  ls -R /var/lib/tomcat-6/webapps/tester/*  (will need to be root or tomcat)
 
  278  ln -sf /nosuchfile test1/WEB-INF/lib/badlink.jar
  279  echo undeploy then redeploy as before, via GUI.
  280  echo it says 'ok' and manager logs say nothing exciting
  281  ls -R /var/lib/tomcat-6/webapps/tester/*
  282  echo this time, there is no "classes"




Actual Results:  

First ls shows that the entire subdirectory is copied over.

After the bad symlink is added and I redeploy, we see that the copying was apparently aborted midway through, probably when it reached the bad link.

Expected Results:  

Manager ought to have said it failed to deploy the application, and it should have written some kind of error to its logs.  If kind, it would indicate the offending file and path.

I am running a fresh Gentoo install, with ~amd64, and using tomcat-6.0.14-r1.  

Suspect this is an Apache problem, but not sure.  Also, I don't know whether the bug may have existed in earlier versions, as my symlinks broke during a machine and OS upgrade.
Comment 1 William L. Thomson Jr. (RETIRED) gentoo-dev 2007-12-11 22:38:15 UTC
From the sounds of this I believe this is a Tomcat bug, not specific to Tomcat running on Gentoo Linux. Or a result of how it's packaged or etc. It might be, if  it's our fault the broken symlink is created in the first place.

Otherwise Tomcat is pretty notorious, at least from my experience, on dealing with broken symlinks horribly. I haven't tried it with 6.0.x, but any 5.x version if you place a broken symlink in any of Tomcat's lib dirs with jars, like common/lib or server/lib. Tomcat will fail to start, and give pathetic, if any log output. Most always nothing even hinting at a cnfe, or broken link, or etc.

Unless we can determine the broken symlink is caused by something we do to Tomcat on gentoo as part of it being packaged. Or as a result of running on this distro/OS, etc specifically. Then it's an upstream bug for them to resolve.
Comment 2 William L. Thomson Jr. (RETIRED) gentoo-dev 2007-12-23 05:53:24 UTC
No comment or response from reporter, assuming problem is not specific to tomcat on Gentoo. Closing as invaild, please reopen if problem persists and is specific to Tomcat on Gentoo.