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