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