Announcement Announcement Module
Collapse
No announcement yet.
New installation of tcserver given NoClassDefFound TomcatInstrumentableClassLoader Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • New installation of tcserver given NoClassDefFound TomcatInstrumentableClassLoader

    Hello,

    I just downloaded springsource-tc-server-developer-2.0.0.RELEASE.tar.gz and installed it on /temp/tcserver, now I'm trying to start the spring-insight-instance but I'm getting this error on catalina.log:

    Code:
    $ cd /temp/tcserver
    $ ./tcruntime-ctl.sh spring-insight-instance start
    SEVERE org.apache.catalina.startup.HostConfig.deployDirec tory Error deploying web application directory ROOT
    java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException: start: : java.lang.NoClassDefFoundError: org/springframework/instrument/classloading/tomcat/TomcatInstrumentableClassLoader
    at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:795)
    at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:568)
    What am I doing wrong?

  • #2
    Check the JDK

    What OS and architecture is this? What JDK are you using? Is the JAVA_HOME environment variable set when you start the tc Server? I would like to confirm that the expected JVM version is being used.

    Comment


    • #3
      Originally posted by rstjean View Post
      What OS and architecture is this? What JDK are you using? Is the JAVA_HOME environment variable set when you start the tc Server? I would like to confirm that the expected JVM version is being used.
      I'm using Mac OS 10.6.3, JDK 1.6.0_17 both 64bits. Yes the JAVA_HOME is set to /Library/Java/Home:

      Code:
      $ echo $JAVA_HOME
      /Library/Java/Home
      $ javac -version
      javac 1.6.0_17
      When I execute tcruntime-ctl.sh I get these values:

      INFO Instance name: spring-insight-instance
      INFO Script directory: /Users/felipecypriano/temp/tcserver
      INFO Instance base: /Users/felipecypriano/temp/tcserver
      INFO Binary dir: /Users/felipecypriano/temp/tcserver/tomcat-6.0.25.A-RELEASE
      INFO Runtime version: 6.0.25.A-RELEASE
      INFO Script version: 6.0.25.A-RELEASE
      Using CATALINA_BASE: /Users/felipecypriano/temp/tcserver/spring-insight-instance
      Using CATALINA_HOME: /Users/felipecypriano/temp/tcserver/tomcat-6.0.25.A-RELEASE
      Using CATALINA_TMPDIR: /Users/felipecypriano/temp/tcserver/spring-insight-instance/temp
      Using JRE_HOME: /Library/Java/Home
      Using CLASSPATH: /Users/felipecypriano/temp/tcserver/tomcat-6.0.25.A-RELEASE/bin/bootstrap.jar

      Comment


      • #4
        So this is an OOTB unmodified tc Server instance and you have not yet deployed any applications? You just unzipped the kit and started the server.

        I have not seen a problem like this on Linux 5 and Windows XP. I don't have a Mac to try it with.

        Comment


        • #5
          Originally posted by rstjean View Post
          So this is an OOTB unmodified tc Server instance and you have not yet deployed any applications? You just unzipped the kit and started the server.
          Yes, exactly.

          Just to help out these are the jars I found in spring-insight-instance:

          lib/aspectjweaver-1.6.8.jar
          lib/spring-insight-core-1.0.0.M2.jar
          lib/spring-instrument-tomcat-3.0.0.RELEASE.
          webapps/insight/WEB-INF/lib/
          aopalliance-1.0.jar
          com.springsource.insight.repo-1.0.0.M2.jar
          commons-beanutils-1.8.0.jar
          commons-collections-3.2.1.jar
          commons-digester-1.8.1.jar
          commons-logging-1.1.1.jar
          commons-logging-api-1.1.jar
          commons-math-2.0.jar
          freemarker-2.3.15.jar
          groovy-all-1.7.0.jar
          jackson-core-asl-1.0.1.jar
          jackson-mapper-asl-1.0.1.jar
          jline-0.9.94.jar
          jstl-1.2.jar
          log4j-1.2.14.jar
          snakeyaml-1.4.jar
          spring-asm-3.0.0.RELEASE.jar
          spring-beans-3.0.0.RELEASE.jar
          spring-context-3.0.0.RELEASE.jar
          spring-context-support-3.0.0.RELEASE.jar
          spring-core-3.0.0.RELEASE.jar
          spring-expression-3.0.0.RELEASE.jar
          spring-js-2.0.7.RELEASE.jar
          spring-web-3.0.0.RELEASE.jar
          spring-webmvc-3.0.0.RELEASE.jar
          tiles-api-2.1.3.jar
          tiles-core-2.1.3.jar
          tiles-jsp-2.1.3.jar
          tiles-servlet-2.1.3.jar
          trove4j-idea-7.0.2.jar
          urlrewritefilter-3.1.0.jar
          xpp3_min-1.1.3.4.O.jar
          xstream-1.2.2.jar
          webapps-libs/
          insight-annotation-1.0.0.M2.jar
          insight-grails-1.0.0.M2.jar
          insight-jdbc-1.0.0.M2.jar
          insight-servlet-1.0.0.M2.jar
          insight-springcore-1.0.0.M2.jar
          insight-springtx-1.0.0.M2.jar
          insight-springweb-1.0.0.M2.jar
          spring-insight-collection-1.0.0

          Comment


          • #6
            I have all the same files.

            The only difference I noticed is I have spring-insight-collection-1.0.0.M2.jar in the webapps-libs/ sub-directory. I'm guessing you just left part of the filename off when you pasted it.

            Comment


            • #7
              Originally posted by rstjean View Post
              The only difference I noticed is I have spring-insight-collection-1.0.0.M2.jar in the webapps-libs/ sub-directory.
              Double checked it, I haven't this file. Could you check if the missing class is in it?

              Comment


              • #8
                Actually the sub-dir is webapps-lib, not webapps-libs. The spring-insight-collection-1.0.0.M2.jar in there doesn't contain the TomcatInstrumentableClassLoader class mentioned in your error.

                I asked a developer to look at your issue. He's a Mac user and he couldn't reproduce your problem.

                Maybe it's something in your environment. A couple things you could try:

                1) Maybe something somehow got corrupted. Wipe out the install directory and untar/unzip the Dev Edition kit again. Check for that jar, I think will be present. See if the server start up works.

                2) If #1 doesn't work, wipe it out and unzip the kit again. With the Dev Edition you could use tcruntime-instance.sh to create a new instance directory, using the spring-insight-instance as a template. Remember to specify the full path to the template directory after the -t switch. See if you can start the server. If this works, but #1 doesn't then something is wrong with the bundled instance directory.

                3) You could try downloading a standard or node version of the tc Server 2.0.0 kit and see if you can start a server instance. If this doesn't work it could indicate a problem in your environment.

                Comment


                • #9
                  Hooray, solved the problem.

                  I redownload the tcserver dev edition, but this time in zip format instead of tar.gz. Just unzip it and started spring-insight-instance and evertything works.

                  I do believe there's a problem with the tar.gz archive.

                  Thanks for your help rstjean.

                  Comment


                  • #10
                    I'm glad the issue is resolved for you. I used the tar.gz kit on Linux w/o problems.

                    We'll have to look for any reoccurrence of this problem, especially on the Mac.

                    --Bob

                    Comment


                    • #11
                      Originally posted by fmcypriano View Post
                      I do believe there's a problem with the tar.gz archive.
                      I just confirmed the tar.gz archive works correctly on OS X 10.6 with Java 6. Can you double checked the sha1 of the archive you downloaded? It should be 6379bb011ee74f2aa77232daef6aab7623a90bff

                      Code:
                      $ openssl sha1 springsource-tc-server-developer-2.0.0.RELEASE.tar.gz

                      Comment


                      • #12
                        Just confirmed sha1 is correct, but the problem still happening with tar.gz archives. So I decide to investigate a little further.

                        The problem was my default app to untar was messing up with the files, I tested two apps and both extract the files in a way that makes tcserver don't work. Finally I execute the Compress Utility.app (not sure about the name, my Mac OS is in portuguese) which is the system's default and it worked fine.

                        FYI, don't use Rucksack nor The Unarchiver to unpack tar.gz files.


                        Thanks for your patience with this problem.

                        Comment

                        Working...
                        X