Hi,
I still haven't solved my strange tomcat problem, and I really hope some of you can help me in the right direction:


I am still looking for some advice on tackling the following problem.
We have to maintain an application not written by us, and about three times a day the server hangs.
We are using tomcat 4.1.29, oracle 8 and use connection pooling.
Upon calling a certain method: readDidactischTypes() (don't mind the language mixing), the log should print:
2004-06-07 00:04:32 kwaliteitskaart.SchoolsBean[4402]: readDidactischTypes()
2004-06-07 00:04:32 kwaliteitskaart.SchoolsBean[4416]: SELECT DISTINCT vis.vis_code AS dedactTypeCode, vis.vis_omschrijving AS dedactTypeName FROM ins_visies vis ORDER BY vis.vis_omschrijving


The log query action is the first thing printed AFTER getting a connection from the pool, in other words:
public DidactischTypeBean readDidactischTypes()
{
log("readDidactischTypes()", 4402);
DidactischTypeBean didactischTypeBean = null;
DidactischTypeDetailsBean didactischTypeDetailsBean = null;
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
int didactCounter = 0;
int rowCount = 0;
try {
didactischTypeBean = new DidactischTypeBean();
conn = getConnection();
log(SQL_all_didact, 4416);


(don't mind the cumbersome logger either ;-)).
Now sometimes during the day, the following happens:
2004-06-07 13:34:50 kwaliteitskaart.SchoolsBean[4402]: readDidactischTypes()
2004-06-07 13:34:51 kwaliteitskaart.SchoolsBean[4402]: readDidactischTypes()
... and this about 20 times more.....
2004-06-07 13:37:21 kwaliteitskaart.SchoolsBean[4402]: readDidactischTypes()
2004-06-07 13:37:31 kwaliteitskaart.SchoolsBean[4402]: readDidactischTypes()
2004-06-07 13:37:33 ApplicationDispatcher[] Servlet.service() for servlet Stream threw exception
ClientAbortException: java.io.IOException: Broken pipe
at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:404)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:428)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:348)
at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:432)
at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:419)
at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:108)


at com.mediasurface.client.servlets.StreamServlet.doGet(StreamServlet.java:365)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
--truncated--
and lower:
2004-06-07 13:49:55 StandardHost[localhost]: Removing web application at context path /ms
2004-06-07 13:49:55 StandardHost[localhost]: Removing web application at context path /cmc
2004-06-07 13:49:55 StandardHost[localhost]: Removing web application at context path
2004-06-07 13:49:57 StandardWrapper[:jsp]: Waiting for 276 instance(s) to be deallocated
2004-06-07 13:49:58 StandardWrapper[:MediasurfaceController]: Waiting for 72 instance(s) to be deallocated
2004-06-07 13:49:58 StandardWrapper[:PdfServlet]: Waiting for 1 instance(s) to be deallocated


My questions are:
- does anybody know how to identify different clients in the log, can I print an ip for example after each timestamp?
- does anybody know what the 'waiting for 276 instances' means, does it mean I have 276 concurrent clients?
- did anyone experience a similar problem and found a solution ;-)?
- does anyone have any pointers of how to detect where the application or the server goes wrong?


The application uses jsp's and almost no servlets except a pdf and fopservlet. It does use thirdparty libs such as classes12.jar for oracle and the commons-dbcp

Thank you very much in advance for any advice you can offer.
Hans


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to