| birt kills tomcat randomly [message #934321] |
Fri, 05 October 2012 17:33  |
Chris F Messages: 4 Registered: October 2012 |
Junior Member |
|
|
i'm running birt 2.5.1 w/ tomcat-7 & sun-jdk-1.6 and the apache jk connector, on a gentoo linux box. also running the espreadsheet engine for xls exporting. randomly tomcat becomes unresponsive, the service wont stop and you have to use kill -9 to terminate. The catalina logs usually dont show any errors around the time it stopped, and I haven't had the best luck replicating it. It seems to be fairly random, sometimes it wont happen for weeks sometimes it happens a couple times a day. I have replicated it a handful of time when I run really large reports (but usually when I run large reports it's fine), reports that may take several minutes to generate. I've tried playing around CATALINA_OPTS and JAVA_OPTS in the tomcat config file, and so far it hasn't seemed to help. Sometimes there is a recent error in the catalina log right before it crashes, but most times there is not. Here is one that happened today :
SEVERE: Error processing request
java.nio.BufferOverflowException
at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:327)
at org.apache.coyote.ajp.AjpAprProcessor.output(Unknown Source)
at org.apache.coyote.ajp.AbstractAjpProcessor$SocketOutputBuffer.doWrite(Unknown Source)
at org.apache.coyote.Response.doWrite(Unknown Source)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(Unknown Source)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(Unknown Source)
at org.apache.catalina.connector.OutputBuffer.doFlush(Unknown Source)
at org.apache.catalina.connector.OutputBuffer.close(Unknown Source)
at org.apache.catalina.connector.Response.finishResponse(Unknown Source)
at org.apache.catalina.connector.CoyoteAdapter.service(Unknown Source)
at org.apache.coyote.ajp.AjpAprProcessor.process(Unknown Source)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Unknown Source)
at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
this is a prod system with at least a thousand users, so it's quite the problem when tomcat freezes and renders the site useless. I've been battling with this for almost a year, it has been stable for the past couple months up until today. No nothing changed at all, no updates, no system files, nothing besides a reboot a few days ago when I was fixing some mysql issues.
I have this in my current /etc/conf.d/tomcat-7
CATALINE_OPTS="-Djava.library.path=/usr/lib -server -Xms1024M -Xmx4096M -XX:MaxPermSize=1024m"
JAVA_OPTS="$JAVA_OPTS -Xms1024M -Xmx4096M -XX:MaxPermSize=1024m"
Sometimes I have gotten memory heap errors around the time tomcat has crashed, so ive probably tried a dozen different opt settings to see if that would help, but it hasn't. i have 32gb of ram on this server so memory is not really an issue.
I know some people might suggests upgrading birt - but of the reports i tested none worked on the newer birt web deployment, and it would take quite some time to port everything over with birt/eclipse and figure out what all is broken on the old reports. Just not a task I've had time to entertain, hoping there's another way to get it stable - for the time being.
I'm open to any suggestions, thoughts, advice, or questions. Please help!
Thanks!
[Updated on: Fri, 05 October 2012 17:42] Report message to a moderator
|
|
|