Article:Tips for troubleshooting a JVM crash


The Sun JDK uses a runtime engine called the hotspot JVM. This JVM has at least 2 compiler optimizers (client and server, also known as C1 and C2) as well as a shared runtime environment and a number of garbage collectors (gc).

This means that a JVM can fail in either of these distinct components and apart from the runtime an error can be narrowed down by selecting a different compiler. eg java -client or java -server.

The JVM will try and help diagnose a crash for you, it will print out a stack trace and try and work out if the current instruction was inside its code or a native library that it had loaded. The JVM traps many unix signals and generating a SEGV, which would be fatal to a normal app is part of the mechanism hotspot uses to allocate memory.

If the pc occurs in a native library then that is most likely that library at fault or the library is interferring with the JVM.

For more advanced notes see the Sun troubleshooting guide http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf



Most Recent

Most Popular

Most Active Categories




Back To Top Add New Article Printable Page

JVM
Java

MediaWiki

This page has been accessed 3,540 times.

This page was last modified 01:17, 27 September 2005.