tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Solofnenko <>
Subject Re: Can two Tomcat web apps deadlock each other?
Date Wed, 05 Sep 2007 20:58:48 GMT
There can be a simple problem with locking - see . On Linux the files are 
usually not locked, so you can get "class not found exception" when a 
jar file is replaced with a new one.

Ask administrators to get the stack trace (and check if CPU is at 100% 
or not - maybe it is not a deadlock). Otherwise you can look for a 
problem for a very long time.

You can also add try/catch with finite number of retries  around 
connection code. Please  also check that your application shuts down 
cleanly - no exceptions are thrown during shutdown (but they should be 
logged) and preferably there are no finally() methods.

Wm.A.Stafford wrote:
> Thanks Alexey.  Unfortunately, the server in question is not ours and 
> we do not even have log in on it, so any kind of sane analysis is 
> probably out of the question.
> All we can do is try deploying another version with changes that will 
> either fix the problem (we hope) or yield some more information about 
> what is going on.
> -=bill
> Alexey Solofnenko wrote:
>> Everything is possible, but unlikely. Please try running server stack 
>> trace from 
>> to get a thread dump. It will show the list of threads and what locks 
>> they have acquired and what locks they are waiting for.
>> - Alexey.
>> Wm.A.Stafford wrote:
>>> We are deploying a newer version of a web app to run in the same 
>>> Tomcat instance (1.4.31) as the existing version.  On our 
>>> development servers, winXP,  if the new version encounters a startup 
>>> problem the production app will start and only the new version will 
>>> fail.
>>> On the production server, which is linux, Tomcat seems to 'hang' on 
>>> the first failure encountered when starting the new app and nothing 
>>> further happens. Tomcat has to be restarted after deleting the new 
>>> app when it enters this state.  In the localhost log the last log 
>>> entry is the exception logged from the new app and there is no 
>>> further logging.  Since we have been doing some database changes the 
>>> usual error that causes this is Jakarta DBCP connection failure but 
>>> we have also seen it for a missing class file.  So I  don't think 
>>> the error per se is at the root of the problem.
>>> To me this looks like a deadlock.  Is it possible for one Tomcat web 
>>> application to deadlock with another? An obvious difference is 
>>> windows vs linux servers.  Could there be some config issue for 
>>> Tomcat on linux that would lead to this behavior?
>>> We are completely stumped by this, any ideas or suggestions would be 
>>> appreciated.
>>> -=bill
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail:
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To start a new topic, e-mail:
> To unsubscribe, e-mail:
> For additional commands, e-mail:

Alexey N. Solofnenko <>
Pleasant Hill, CA (GMT-8 usually)

View raw message