Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 5324 invoked from network); 27 Dec 2001 00:31:54 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 27 Dec 2001 00:31:54 -0000 Received: (qmail 17288 invoked by uid 97); 27 Dec 2001 00:31:52 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 17272 invoked by uid 97); 27 Dec 2001 00:31:52 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 17261 invoked from network); 27 Dec 2001 00:31:51 -0000 Sender: glenn@zathras.earthdome.org Message-ID: <3C2A6BF5.503F011B@voyager.apg.more.net> Date: Wed, 26 Dec 2001 18:31:49 -0600 From: Glenn Nielsen X-Mailer: Mozilla 4.74 [en] (X11; U; FreeBSD 3.4-RELEASE i386) X-Accept-Language: en MIME-Version: 1.0 To: Tomcat Developers List Subject: Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startupCatalina.java References: <20011226114116.O5585-100000@localhost> <3C2A36FA.F012D64A@voyager.apg.more.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Glenn Nielsen wrote: > > "Craig R. McClanahan" wrote: > > > > On Wed, 26 Dec 2001, Glenn Nielsen wrote: > > > > > > > > I did some more testing, and Apache soap 2.2 might be causing Tomcat 4.1-dev > > > to exhibit this behaviour. Again, this behaviour is not seen with Tomcat 4.0.1. > > > If I comment out the config for that Context, Tocmat shutsdown normally. > > > I grepped through the soap source and it does not implement the > > > SingleThreadModel. > > > > > > I set debug="99" in server.xml and compared start/stop of Tomcat 4.0.1 > > > and 4.1-dev. > > > > > > The only difference I found in the logs were the additional lines below > > > from the Tomcat 4.1-dev start/stop, indicated with a *: > > > > > > > > > 2001-12-26 12:30:39 HostConfig[localhost]: HostConfig: Processing START > > > * 2001-12-26 12:30:39 HostConfig[localhost]: Starting background thread > > > * 2001-12-26 12:30:39 HostConfig[localhost]: BACKGROUND THREAD Starting > > > 2001-12-26 12:30:39 HostConfig[localhost]: Deploying discovered web applications > > > 2001-12-26 12:30:51 HostConfig[localhost]: HostConfig: Processing STOP > > > * 2001-12-26 12:30:51 HostConfig[localhost]: Stopping background thread > > > * 2001-12-26 12:30:51 HostConfig[localhost]: BACKGROUND THREAD Stopping > > > 2001-12-26 12:30:51 HostConfig[localhost]: Undeploying deployed web applications > > > > > > I also added some code to Catalina.java for thread debug purposed in Tomcat 4.1-dev, > > > here is the list of ThreadGroups after waiting 10 seconds for Tomcat to stop: > > > > > > Catalina.stop active threads: 3 > > > java.lang.ThreadGroup[name=main,maxpri=10] > > > Thread[main,5,main] > > > Thread[Thread-0,5,main] > > > Thread[Thread-1,5,main] > > > > > > > Looks like some background threads are not getting created as daemons. > > HostConfig calls thread.setDaemon(true) after creating its background > > thread (as well as setting the thread name), so it doesn't look like that > > is the culprit. > > > > Right, I saw that as I was looking through the code to see where threads > were created. > > > Does Apache SOAP try to create background threads without cleaning them > > up afterwards? Or, maybe the XML parser it's using? > > > > Nothing has changed in the soap web application except running it > in Tomcat 4.1-dev instead of Tocmat 4.0.1. Under 4.1-dev the java > process fails to terminate on a stop, under 4.0.1 the process terminated > normally. > After playing around with my server.xml config and the soap web app web.xml I have isolated the problem down to a configured in the web.xml. Removing the config fixes the problem. >From looking at the list of Threads in the main ThreadGroup, if a listener is configured there is an additional thread created that is never destroyed or setDaemon(). The listener class itself does not use threads. Getting closer. Regards, Glenn ---------------------------------------------------------------------- Glenn Nielsen glenn@more.net | /* Spelin donut madder | MOREnet System Programming | * if iz ina coment. | Missouri Research and Education Network | */ | ---------------------------------------------------------------------- -- To unsubscribe, e-mail: For additional commands, e-mail: