I have a Spring/Hibernate app running in Tomcat 5.5.20 that we've tested in
many environments that is currently faltering when running in a Ubuntu 7 VM.
Basically on startup, frequently, the startup process will halt when trying
to read Hibernate's HBM files and in various other places in startup
process. When it stops both CPUs are pegged at 200% usage by the java
process (from 'top'). At this point, the only recourse is to kill the app
with "kill -9 <pid>". Occasionally the app will start all the way up. Then,
I can trigger a re-index of the content in the app's database using Lucene
and the app will freeze again.

The only thing I've been able to find in common about these operations is
that they seem to be heavy I/O.

A few notable environment variables
- JAVA_OPTS="-Xmx512M -XX:MaxPermSize=128m -Djava.awt.headless=true
-Dfile.encoding=UTF-8"
- running Sun's Java 1.5.0.16
- running Ubuntu 4.2.3-2ubuntu7 (from "cat /proc/version")

Strangely, I tried to debug the application by enabling JPDA:
JAVA_OPTS="-Xmx512M -XX:MaxPermSize=128m -Xdebug
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-Djava.awt.headless=true -Dfile.encoding=UTF-8"
and the application starts up flawlessly. In fact, when running with JPDA
enabled, it's impossible to get it to freeze even when doing the content
re-index.

Any debugging next steps or ideas are appreciated.

Should I look at:
- different ubuntu versions
- different Java versions
- different Tomcat versions

Is the fact that it works with JPDA indicative of some kind of race
condition possibly?

Thanks,
Bradley

Reply via email to