You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Dan McGowan <dm...@ebia.com> on 2003/02/13 00:01:02 UTC

tomcat crash puzzle

All,
     I am having recurring problems with tomcat crashing. It crashes 
routinely several times per week during peek access and off hours. 
Particulars:

version:  4.1.12
os:   Mac OS X 10.2.3
hardware: X-Serve 512 mb ram
java: 1.3.1
db: MySQL 3.23.53
java framework: struts 1.0

Note: not using connector with apache. Tomcat using port 80

I have examined tomcat and application logs and I am not seeing any 
correlation to the actual crash. It would be great to post associated 
tracebacks but I am having difficulty establishing a pattern. The 
application exceptions are normal and the servlet log exceptions are 
commonly a broken pipe:

(Example: 2003-02-12 14:08:14 StandardWrapperValve[default]: 
Servlet.service() for servlet default threw exception
java.io.IOException: Broken pipe…). Again the time correlation for 
these exceptions do not match the time the server crashes.  The logs I 
have examined are

Application log: log4j.log …logging exceptions
Tomcat system log: Catalina.out
Various loggers for the deployed contexts
Connection pool log
Cryptic apple crash log…here is an excerpt:

“…Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000008…”

Within this log Thread 2 seems to be the thread that crashes most often.

My first thought was a resource problem, so I closely examined my 
database connection pooling. Logs confirm that connections are opened 
and closed properly and the growth of the pool is managed and never 
grows beyond the specified number of connections. When the server 
crashes the pool is behaving normally.

In addition I have set the memory min and max parameters for tomcat in 
the startup script (JAVA_OPTS = -server -Xmx256m -Xms128m). Any 
suggestions on causation and/or data collection would be greatly 
appreciated. Thanks,

Dan McGowan
dmcgowan@ebia.com

Re: tomcat crash puzzle

Posted by Justin Ruthenbeck <ju...@nextengine.com>.
Hi Dan --

If you're seeing intermittent crashes and there isn't an obvious machine or 
OS level problem, I'd suspect it has something to do with available 
memory.  I'm doubly suspicious because you're allocating max 256M, which 
wouldn't take a long time to get eaten up, depending on your app.  You can 
try some lightweight memory monitoring (not profiling, just observing used 
and available JVM heap sizes) and see if it grows unbounded.  I've seen 
this done with a simple jsp that reads available and used memory sizes and 
tracks the history to show changes over time.  This works well if it's a 
production system that you can't play around with to debug.  Hopefully you 
won't have to pull out the profiling "heavy artillery"...  ;)

justin

At 03:01 PM 2/12/2003, you wrote:
>All,
>     I am having recurring problems with tomcat crashing. It crashes 
> routinely several times per week during peek access and off hours. Particulars:
>
>version:  4.1.12
>os:   Mac OS X 10.2.3
>hardware: X-Serve 512 mb ram
>java: 1.3.1
>db: MySQL 3.23.53
>java framework: struts 1.0
>
>Note: not using connector with apache. Tomcat using port 80
>
>I have examined tomcat and application logs and I am not seeing any 
>correlation to the actual crash. It would be great to post associated 
>tracebacks but I am having difficulty establishing a pattern. The 
>application exceptions are normal and the servlet log exceptions are 
>commonly a broken pipe:
>
>(Example: 2003-02-12 14:08:14 StandardWrapperValve[default]: 
>Servlet.service() for servlet default threw exception
>java.io.IOException: Broken pipe…). Again the time correlation for these 
>exceptions do not match the time the server crashes.  The logs I have 
>examined are
>
>Application log: log4j.log …logging exceptions
>Tomcat system log: Catalina.out
>Various loggers for the deployed contexts
>Connection pool log
>Cryptic apple crash log…here is an excerpt:
>
>“…Exception:  EXC_BAD_ACCESS (0x0001)
>Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000008…”
>
>Within this log Thread 2 seems to be the thread that crashes most often.
>
>My first thought was a resource problem, so I closely examined my database 
>connection pooling. Logs confirm that connections are opened and closed 
>properly and the growth of the pool is managed and never grows beyond the 
>specified number of connections. When the server crashes the pool is 
>behaving normally.
>
>In addition I have set the memory min and max parameters for tomcat in the 
>startup script (JAVA_OPTS = -server -Xmx256m -Xms128m). Any suggestions on 
>causation and/or data collection would be greatly appreciated. Thanks,
>
>Dan McGowan
>dmcgowan@ebia.com


____________________________________
Justin Ruthenbeck
Software Engineer, NextEngine Inc.
justinr@nextengine.com
Confidential -
    See http://www.nextengine.com/confidentiality.php
____________________________________


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org