2 Replies Latest reply on Oct 29, 2003 9:31 AM by juha

    deadlock on startup

    aptimus

      I'm having problems on startup with a deadlock that seems to surround the tomcat ssl connector, a ssl resource being requested during startup, and the external classloader. Everything runs great once it starts up, as long as no ssl requests come until startup is completed.

      I've seen others w/ this issue but w/ no concrete fix or workaround. Ideas, solution, help, anything would be much appreciated.

      The environment looks as such:
      JDK 1.4.1 from IBM
      Linux 2.4.18-18.7.xsmp,x86
      JBoss 3.2.1 w/ tomcat 4.1.27
      JSSE 1.0.3 from Sun installed in the ext lib and java.security modifed for sun's jsse.

      Thread dump snippet:
      1LKDEADLOCK Deadlock detected !!!
      NULL ---------------------
      NULL
      2LKDEADLOCKTHR Thread "HttpConnector[443]" (0x429D1708)
      3LKDEADLOCKWTR is waiting for:
      4LKDEADLOCKMON sys_mon_t:0x0805B7C0 infl_mon_t: 0x0805ADB0:
      4LKDEADLOCKOBJ sun.misc.Launcher$AppClassLoader@1006B710/1006B718:
      3LKDEADLOCKOWN which is owned by:
      2LKDEADLOCKTHR Thread "main" (0x415D5D40)
      3LKDEADLOCKWTR which is waiting for:
      4LKDEADLOCKMON sys_mon_t:0x0805B340 infl_mon_t: 0x00000000:
      4LKDEADLOCKOBJ sun.misc.Launcher$ExtClassLoader@1006B788/1006B790:
      3LKDEADLOCKOWN which is owned by:
      2LKDEADLOCKTHR Thread "HttpConnector[443]" (0x429D1708

      URL of similar problem:
      http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23180

        • 1. Re: deadlock on startup
          arabin

          I'd like to know how I need to organize my classes and .jar files.
          I have a startup class A.class, that is used in user-service.xml for automatic startup. That means that I need to put my .jar file containing A.class into jboss-home\server\default\lib directory. Do I ALSO need to put it into jboss-home\server\default\deploy directory? Or just in one place - jboss-home\server\default\lib?
          This class uses class B.class. Where should the .jar file, containing B.class, be located?
          Should it be located in jboss-home\server\default\lib or in jboss-home\server\default\deploy? Or in both?

          Basically, .jar files with what exactly classes should be located in jboss-home\server\default\lib and .jar files with what exactly classes should be located in jboss-home\server\default\deploy?

          Another question. I could have just one combined .jar file with all classes, located in both directories. Can I split it somehow? Am I allowed to have several .jar files under jboss-home\server\default\deploy? Under jboss-home\server\default\lib?
          Can I split it to several .jar files? Where exactly do I put them? In both places?
          For instance, I split it to two .jar files. Do I need to put both into both places?

          Can I put several classes into several different .jar files? Like if I put A.class into both B.jar and C.jar into jboss-home\server\default\deploy, will I have any problems? Like trying to redeploy certain things twice? Like EJBs or Message Driven Beans?

          Can you give me any explanations on those questions? I am definitely doing something wrong. At this point the only way I succeed is to put everything into ONE .jar file, and put it into both directories. I can live with it, but that is not what I want.

          I do not want to duplicated files unnecessarily into two directories, and I do not want conflicts between different files, between EJBs and MDBs. But I want all my EJBs and MDBs to be deployed correctly. At the same time I want to put as small amount of files as possible into jboss-home\server\default\lib directory (moving the rest to jboss-home\server\default\deploy), and I also want to split my .jar file in jboss-home\server\default\deploy directory into several .jar files, related to different packages.

          Please give my some kind of guidelines to do that. Thanks

          • 2. Re: deadlock on startup

            Stop spamming the forums and only post your question ONCE.

            -- Juha