Try synchronizing the code that uses Jfreechart classes.

-Sameer

Kumar Pandey <[EMAIL PROTECTED]> wrote: Hi
  I'm using Tomcat 5.0.26 that comes with JBoss 3.2.5
with default configurations

A servlet creates pie/bar charts using JFreeChart.
This is refreshed every 5 seconds via javascript
refresh in the brower. All this has been workign fine
for most customers.
Suddenly for a specific customer sessions coming from
a specific newtwork/georaphical location we see that
the 5 seconds chart refreshes are hanging the thread.
Charts are 20 KB. For a single user in the system
sometimes these requests are talking up 20 ~30 threads
and each stuck for 15~16 minutes before it finally
clears up.
We ran ethereal on the tcp packet and see that when
the threads are hung, browser is sending FIN, ACK
eventhough server hasn't completed sending the data.
Thus we see TCP retranmissions of same packets as its
not receiveing any ack from the client.

How do I troubleshoot this issue.
System is not memory starved and cpu is 98% idle.

Any pointers on trouble shooting this would be greatly
appreciated.

Thanks
Kumar
 
Here's the thread dump of one of the hung request.

java.net.SocketOutputStream.socketWrite0(Native
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
java.net.SocketOutputStream.write(SocketOutputStream.java:136)
org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:714)
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:398)
org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:318)
org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:737)
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:125)
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:569)
org.apache.coyote.Response.doWrite(Response.java:542)
org.apache.coyote.tomcat5.OutputBuffer.realWriteBytes(OutputBuffer.java:368)
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:398)
org.apache.coyote.tomcat5.OutputBuffer.doFlush(OutputBuffer.java:318)
org.apache.coyote.tomcat5.OutputBuffer.flush(OutputBuffer.java:297)
org.apache.coyote.tomcat5.CoyoteOutputStream.flush(CoyoteOutputStream.java:85)
sun.awt.image.codec.JPEGImageEncoderImpl.writeJPEGStream(Native
locked
sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:472)
sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:228)
locked
sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:235)
locked
org.jfree.chart.encoders.SunJPEGEncoderAdapter.encode(SunJPEGEncoderAdapter.java:139)
org.jfree.chart.encoders.EncoderUtil.writeBufferedImage(EncoderUtil.java:136)
org.jfree.chart.ChartUtilities.writeChartAsJPEG(ChartUtilities.java:442)
org.jfree.chart.ChartUtilities.writeChartAsJPEG(ChartUtilities.java:388)
com.transerainc.rtmcui.util.ChartUtil.drawChartAsJPEG(ChartUtil.java:46)

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

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



                
---------------------------------
Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone.  Get Yahoo! 
Messenger with Voice

Reply via email to