Bug#547202: Tomcat6 Debian Squeeze fails to find classes in provided Jars in WARs
Brian Milnes
briangmilnes at gmail.com
Thu Sep 17 17:45:59 UTC 2009
Package: tomcat6
Version: 6.0.20-5
Folks,
Tomcat6 is failing to find some classes for us in valid WAR files on
Squeeze. This has been extensively tested
and works beautifully for us on older revisions of java/tomcat6 (squeeze)
packages back installed on Lenny
and on the current tomcat6 on Ubuntu.
Potentially useful problem information:
I have also run this with both the openjdk and sun java 6, so it's Tomcat's
problem with a very high likelihood.
I have compiled our JARs with sun 1.5 sun 6 and openjdk, it does not matter
which.
I have all three installed (as I actually need this in dev/production) but
this also occurs with
just the openjdk.
Running Jar files have been copied from UBUNTU to Debian to demonstrate
that this is really a debian not a build
problem.
And of course, it's CRITICAL.
I have multiple javas installed (due to some packages requiring 1.5 and
You'll see traces like (but I can not provide the jar, sorry):
HTTP Status 500 -
------------------------------
*type* Exception report
*message*
*description* *The server encountered an internal error () that prevented it
from fulfilling this request.*
*exception*
javax.servlet.ServletException: com/noelios/restlet/ClientHelper
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:324)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:636)
*root cause*
java.lang.NoClassDefFoundError: com/noelios/restlet/ClientHelper
com.noelios.restlet.ext.servlet.ServerServlet.createComponent(ServerServlet.java:375)
com.noelios.restlet.ext.servlet.ServerServlet.getComponent(ServerServlet.java:740)
com.noelios.restlet.ext.servlet.ServerServlet.init(ServerServlet.java:819)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:636)
*root cause*
java.lang.ClassNotFoundException: com.noelios.restlet.ClientHelper
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
com.noelios.restlet.ext.servlet.ServerServlet.createComponent(ServerServlet.java:375)
com.noelios.restlet.ext.servlet.ServerServlet.getComponent(ServerServlet.java:740)
com.noelios.restlet.ext.servlet.ServerServlet.init(ServerServlet.java:819)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:636)
*note* *The full stack trace of the root cause is available in the Apache
Tomcat/6.0.20 logs.*
On Squeeze where it fails:
Amazon EC2 Debian testing squeeze AMI built by Eric Hammond
http://alestic.com http://ec2debian-group.notlong.com
amazon ami ami-fb46a792dpkg-query --list "tomcat*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-==================================-==================================-====================================================================================
ii tomcat6 6.0.20-5
Servlet and JSP engine
ii tomcat6-admin 6.0.20-5
Servlet and JSP engine -- admin web applications
ii tomcat6-common 6.0.20-5
Servlet and JSP engine -- common files
ii tomcat6-user 6.0.20-5
Servlet and JSP engine -- tools to create user instances
ip-10-245-193-173:~# dpkg-query --list "*java*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-==================================-==================================-====================================================================================
ii ca-certificates-java 20090629
Common CA certificates (JKS keystore)
ii java-common 0.33
Base of all Java packages
ii libaccess-bridge-java 1.26.2-1
Java Access Bridge for GNOME
ii libaccess-bridge-java-jni 1.26.2-1
Java Access Bridge for GNOME (jni bindings)
ii libcommons-collections-java 2.1.1-8 A
set of abstract data type interfaces and implementations
ii libcommons-daemon-java 1.0.2~svn20061127-9
library to launch Java applications as daemons
ii libcommons-dbcp-java 1.3~svn803474-1
Database Connection Pooling Services
ii libcommons-pool-java 1.5.2-1
pooling implementation for Java objects
ii libecj-java 3.5+20090820-1
Eclipse Java compiler (library)
ii libhamcrest-java 1.1-2
library of matchers for building test expressions
ii libjaxp1.3-java 1.3.04-5
Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)
ii libjaxp1.3-java-gcj 1.3.04-5
Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)
ii libjline-java 0.9.94-5
Java library for handling console input
ii libservlet2.5-java 6.0.20-5
Servlet 2.5 and JSP 2.1 Java API classes
ii libtomcat6-java 6.0.20-5
Servlet and JSP engine -- core libraries
ii libxerces2-java 2.9.1-4
Validating XML parser for Java with DOM level 3 support
ii libxerces2-java-gcj 2.9.1-4
Validating XML parser for Java with DOM level 3 support (native code)
ii tzdata-java 2009l-1
time zone and daylight-saving time data for use by java runtimes
ip-10-245-193-173:~# dpkg-query --list "*jdk*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-==================================-==================================-====================================================================================
ii openjdk-6-jdk 6b16-4
OpenJDK Development Kit (JDK)
ii openjdk-6-jre 6b16-4
OpenJDK Java runtime, using Hotspot JIT
ii openjdk-6-jre-headless 6b16-4
OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-6-jre-lib 6b16-4
OpenJDK Java runtime (architecture independent libraries)
ip-10-245-193-173:~# dpkg-query --list "*jre*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-==================================-==================================-====================================================================================
ii icedtea-6-jre-cacao 6b16-4
Alternatve JVM for OpenJDK, using Cacao
ii openjdk-6-jre 6b16-4
OpenJDK Java runtime, using Hotspot JIT
ii openjdk-6-jre-headless 6b16-4
OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-6-jre-lib 6b16-4
OpenJDK Java runtime (architecture independent libraries)
On Ubuntu where it runs nicely:
dpkg-query --list "*tomcat*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-===================================-===================================-======================================================================================
ii libtomcat6-java 6.0.18-0ubuntu6.1
Servlet and JSP engine -- core libraries
ii tomcat6 6.0.18-0ubuntu6.1
Servlet and JSP engine
ii tomcat6-admin 6.0.18-0ubuntu6.1
Servlet and JSP engine -- admin web applications
ii tomcat6-common 6.0.18-0ubuntu6.1
Servlet and JSP engine -- common files
ii tomcat6-user 6.0.18-0ubuntu6.1
Servlet and JSP engine -- tools to create user instances
root at ip-10-242-202-34:~# dpkg-query --list "*java*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-===================================-===================================-======================================================================================
ii ca-certificates-java 20081028
Common CA certificates (JKS keystore)
ii java-common 0.30ubuntu4
Base of all Java packages
ii libaccess-bridge-java 1.24.0-0ubuntu2
Java Access Bridge for GNOME
ii libcommons-collections-java 2.1.1-8ubuntu1
A set of abstract data type interfaces and implementations
ii libcommons-daemon-java 1.0.2~svn20061127-9ubuntu2
library to launch Java applications as daemons
ii libcommons-dbcp-java 1.2.2-1ubuntu1
Database Connection Pooling Services
ii libcommons-pool-java 1.4-0ubuntu1
pooling implementation for Java objects
ii libecj-java 3.4.2-0ubuntu1
Eclipse Java compiler (library)
ii libecj-java-gcj 3.4.2-0ubuntu1
Eclipse Java compiler (native library)
ii libjaxp1.3-java 1.3.04-3ubuntu2
Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)
ii libjaxp1.3-java-gcj 1.3.04-3ubuntu2
Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)
ii libservlet2.5-java 6.0.18-0ubuntu6.1
Servlet 2.5 and JSP 2.1 Java API classes
ii libtomcat6-java 6.0.18-0ubuntu6.1
Servlet and JSP engine -- core libraries
ii libxerces2-java 2.9.1-2ubuntu2
Validating XML parser for Java with DOM level 3 support
ii libxerces2-java-gcj 2.9.1-2ubuntu2
Validating XML parser for Java with DOM level 3 support (native code)
ii sun-java5-bin 1.5.0-19-0ubuntu0.9.04
Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture dependent files)
ii sun-java5-demo 1.5.0-19-0ubuntu0.9.04
Sun Java(TM) Development Kit (JDK) 5.0 demos and examples
ii sun-java5-jdk 1.5.0-19-0ubuntu0.9.04
Sun Java(TM) Development Kit (JDK) 5.0
ii sun-java5-jre 1.5.0-19-0ubuntu0.9.04
Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture independent files)
ii sun-java6-bin 6-16-0ubuntu1.9.04
Sun Java(TM) Runtime Environment (JRE) 6 (architecture dependent files)
ii sun-java6-jdk 6-16-0ubuntu1.9.04
Sun Java(TM) Development Kit (JDK) 6
ii sun-java6-jre 6-16-0ubuntu1.9.04
Sun Java(TM) Runtime Environment (JRE) 6 (architecture independent files)
ii tzdata-java 2009m-0ubuntu0.9.04
time zone and daylight-saving time data for use by java runtimes
root at ip-10-242-202-34:~# dpkg-query --list "*jdk*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-===================================-===================================-======================================================================================
ii openjdk-6-jdk 6b14-1.4.1-0ubuntu11
OpenJDK Development Kit (JDK)
ii openjdk-6-jre 6b14-1.4.1-0ubuntu11
OpenJDK Java runtime, using Hotspot JIT
ii openjdk-6-jre-headless 6b14-1.4.1-0ubuntu11
OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-6-jre-lib 6b14-1.4.1-0ubuntu11
OpenJDK Java runtime (architecture independent libraries)
ii sun-java5-jdk 1.5.0-19-0ubuntu0.9.04
Sun Java(TM) Development Kit (JDK) 5.0
ii sun-java6-jdk 6-16-0ubuntu1.9.04
Sun Java(TM) Development Kit (JDK) 6
root at ip-10-242-202-34:~# dpkg-query --list "*jre*" | grep -v none
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
||/ Name Version
Description
+++-===================================-===================================-======================================================================================
ii icedtea-6-jre-cacao 6b14-1.4.1-0ubuntu11
Alternatve JVM for OpenJDK, using Cacao
ii openjdk-6-jre 6b14-1.4.1-0ubuntu11
OpenJDK Java runtime, using Hotspot JIT
ii openjdk-6-jre-headless 6b14-1.4.1-0ubuntu11
OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-6-jre-lib 6b14-1.4.1-0ubuntu11
OpenJDK Java runtime (architecture independent libraries)
ii sun-java5-jre 1.5.0-19-0ubuntu0.9.04
Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture independent files)
ii sun-java6-jre 6-16-0ubuntu1.9.04
Sun Java(TM) Runtime Environment (JRE) 6 (architecture independent files)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-java-maintainers/attachments/20090917/9bd738ff/attachment-0001.htm>
More information about the pkg-java-maintainers
mailing list