You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by David Wood <d....@imb.uq.edu.au> on 2006/12/11 04:24:36 UTC

tomcat pauses then crashes after a period of time

Hi everyone,

I have set up tomcat to run as a daemon using jsvc, which is working well,
except when tomcat is idle for a period of time (usually overnight), and I
execute a web service client, tomcat receives the request then simply stops.
I can then restart and use it as normal.  The log messages say it is
pausing, but then nothing else is reported, eg:

Dec 8, 2006 4:21:03 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Dec 8, 2006 4:21:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5188 ms
Dec 11, 2006 9:16:06 AM org.apache.coyote.http11.Http11BaseProtocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080

Then it just crashes (eg Catalina no longer appears in the process list and
connections are refused).

I am running tomcat 5.5.20 and java 1.5 on redhat enterprise 4.  

I thought this might be a configuration (perhaps timeout) option, but cannot
find any such option in the server.xml or other configuration files.  I have
read the doco, which suggests using the environment variable
LD_ASSUME_KERNEL, but on further investigation I decided not to do this as
my version of java is later than 1.4.  There are other posts in this mailing
list referring to the same problem, but none with a solution, although one
does think it might be a memory issue.  A web search reveals other similar
problems with no solutions.  I have attached some links at the bottom with
threads I have found.

Does anyone know why tomcat is stopping? 

Many thanks,
Dave

http://forum.java.sun.com/thread.jspa?threadID=601519&messageID=3225604
http://www.nabble.com/tomcat-pauses-for-no-reason-at-all-tf1388752.html#a373
1594
http://www.nabble.com/Tomcat-5.X-dies-after-some-time-tf1216733.html#a321807
6




Re: tomcat pauses then crashes after a period of time

Posted by Jon Wingfield <jo...@mkodo.com>.
Another thing to note is that mysql automatically closes idle 
connections after 8hrs (by default).

You can configure DBCP to test on borrow or to periodically squirt some 
sql down idle connections.

HTH,

Jon

David Wood wrote:
> Chris,
> 
> Thanks very much for the suggestion.
> 
> I'm not using connection pooling at this stage.  I have deployed my web
> service scoped as an Application.  It only uses one connection, and the
> classes maintain some medium sized data structures which I do not want to
> have to re-create each time the service is consumed.  I'll investigate the
> pooling, as an auto-reconnect feature will be necessary in some form or
> another, and if DBCP can do it then that would be great, even if I maintain
> only one connection I guess...
> 
> cheers
> Dave
> 
> -----Original Message-----
> From: Christopher Schultz [mailto:chris@christopherschultz.net] 
> Sent: Tuesday, 12 December 2006 10:33 AM
> To: Tomcat Users List
> Subject: Re: tomcat pauses then crashes after a period of time
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> David,
> 
> David Wood wrote:
>> Ok, I have found the problem. A firewall between my tomcat server and a
>> MySQL server was closing the database connection.
> 
> [snip]
> 
>> The execution continued and an exception was thrown,
>> where in the catch{} section I was then calling System.exit(), which I
>> thought would shut down the web service only, but it is actually shutting
>> down the whole JVM, causing tomcat to stop too.
> 
> Heh, well /there's/ yer problem.
> 
> Firewalls are known for terminating "idle" TCP/IP connections after a
> certain period of time, which is unfortunate, as many deployments put
> the database behind the firewall and the app servers out front.
> 
> Are you using any kind of database connection pooling? If so, perhaps
> there is an auto-reconnect feature available for that component. For
> instance, Jakarta Commons DBCP includes such a feature. Once you are
> using DBCP, your code doesn't have to know how to handle unexpected
> disconnects like that, since the connection pool handles the automatic
> reconnection for you.
> 
> Hope that helps,
> - -chris
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iD8DBQFFffjT9CaO5/Lv0PARAl6EAJ4haR5ZfDodrGTK3oF3gdkotulG3ACgha8t
> wozRXyBuzTQDxPakjMFeqgI=
> =O8Fy
> -----END PGP SIGNATURE-----
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat pauses then crashes after a period of time

Posted by David Wood <d....@imb.uq.edu.au>.
Chris,

Thanks very much for the suggestion.

I'm not using connection pooling at this stage.  I have deployed my web
service scoped as an Application.  It only uses one connection, and the
classes maintain some medium sized data structures which I do not want to
have to re-create each time the service is consumed.  I'll investigate the
pooling, as an auto-reconnect feature will be necessary in some form or
another, and if DBCP can do it then that would be great, even if I maintain
only one connection I guess...

cheers
Dave

-----Original Message-----
From: Christopher Schultz [mailto:chris@christopherschultz.net] 
Sent: Tuesday, 12 December 2006 10:33 AM
To: Tomcat Users List
Subject: Re: tomcat pauses then crashes after a period of time

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David,

David Wood wrote:
> Ok, I have found the problem. A firewall between my tomcat server and a
> MySQL server was closing the database connection.

[snip]

> The execution continued and an exception was thrown,
> where in the catch{} section I was then calling System.exit(), which I
> thought would shut down the web service only, but it is actually shutting
> down the whole JVM, causing tomcat to stop too.

Heh, well /there's/ yer problem.

Firewalls are known for terminating "idle" TCP/IP connections after a
certain period of time, which is unfortunate, as many deployments put
the database behind the firewall and the app servers out front.

Are you using any kind of database connection pooling? If so, perhaps
there is an auto-reconnect feature available for that component. For
instance, Jakarta Commons DBCP includes such a feature. Once you are
using DBCP, your code doesn't have to know how to handle unexpected
disconnects like that, since the connection pool handles the automatic
reconnection for you.

Hope that helps,
- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFffjT9CaO5/Lv0PARAl6EAJ4haR5ZfDodrGTK3oF3gdkotulG3ACgha8t
wozRXyBuzTQDxPakjMFeqgI=
=O8Fy
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: tomcat pauses then crashes after a period of time

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David,

David Wood wrote:
> Ok, I have found the problem. A firewall between my tomcat server and a
> MySQL server was closing the database connection.

[snip]

> The execution continued and an exception was thrown,
> where in the catch{} section I was then calling System.exit(), which I
> thought would shut down the web service only, but it is actually shutting
> down the whole JVM, causing tomcat to stop too.

Heh, well /there's/ yer problem.

Firewalls are known for terminating "idle" TCP/IP connections after a
certain period of time, which is unfortunate, as many deployments put
the database behind the firewall and the app servers out front.

Are you using any kind of database connection pooling? If so, perhaps
there is an auto-reconnect feature available for that component. For
instance, Jakarta Commons DBCP includes such a feature. Once you are
using DBCP, your code doesn't have to know how to handle unexpected
disconnects like that, since the connection pool handles the automatic
reconnection for you.

Hope that helps,
- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFffjT9CaO5/Lv0PARAl6EAJ4haR5ZfDodrGTK3oF3gdkotulG3ACgha8t
wozRXyBuzTQDxPakjMFeqgI=
=O8Fy
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat pauses then crashes after a period of time

Posted by David Wood <d....@imb.uq.edu.au>.
Ok, I have found the problem.   A firewall between my tomcat server and a
MySQL server was closing the database connection.  I was checking if this
was closed in the web service, using the Connection.isClosed() method, but
that does not work as expected and was returning true even though the
connection was closed.  The execution continued and an exception was thrown,
where in the catch{} section I was then calling System.exit(), which I
thought would shut down the web service only, but it is actually shutting
down the whole JVM, causing tomcat to stop too.

Thanks for you help,
Dave

-----Original Message-----
From: Caldarale, Charles R [mailto:Chuck.Caldarale@unisys.com] 
Sent: Monday, 11 December 2006 2:28 PM
To: Tomcat Users List
Subject: RE: tomcat pauses then crashes after a period of time

> From: David Wood [mailto:d.wood@imb.uq.edu.au] 
> Subject: tomcat pauses then crashes after a period of time
> 
> I have set up tomcat to run as a daemon using jsvc, which is 
> working well, except when tomcat is idle for a period of time
> (usually overnight), and I execute a web service client, tomcat
> receives the request then simply stops.

No answers, but could you run Tomcat from a shell for a while and see if
anything informative comes out on the console?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat pauses then crashes after a period of time

Posted by David Wood <d....@imb.uq.edu.au>.
I'll try that but I think it will give me the same error message.  I have
redirected console output to the Catalina.out file.

-----Original Message-----
From: Caldarale, Charles R [mailto:Chuck.Caldarale@unisys.com] 
Sent: Monday, 11 December 2006 2:28 PM
To: Tomcat Users List
Subject: RE: tomcat pauses then crashes after a period of time

> From: David Wood [mailto:d.wood@imb.uq.edu.au] 
> Subject: tomcat pauses then crashes after a period of time
> 
> I have set up tomcat to run as a daemon using jsvc, which is 
> working well, except when tomcat is idle for a period of time
> (usually overnight), and I execute a web service client, tomcat
> receives the request then simply stops.

No answers, but could you run Tomcat from a shell for a while and see if
anything informative comes out on the console?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat pauses then crashes after a period of time

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: David Wood [mailto:d.wood@imb.uq.edu.au] 
> Subject: tomcat pauses then crashes after a period of time
> 
> I have set up tomcat to run as a daemon using jsvc, which is 
> working well, except when tomcat is idle for a period of time
> (usually overnight), and I execute a web service client, tomcat
> receives the request then simply stops.

No answers, but could you run Tomcat from a shell for a while and see if
anything informative comes out on the console?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org