There is a known issue with JVM crashes that is related to the Corda Server servlet and JIT compilation on the latest version of Sun's JVM (specifically, version 1.6_21).
When this JVM crash occurs, the JVM error log typically notes that the active thread is a compiler thread, similar to the following:
Current thread (0x00002aab04077800): JavaThread "CompilerThread1" daemon [_thread_in_native, id=2353, stack(0x0000000041123000,0x0000000041224000)]
The compilation task being performed is related to the method com.corda.b.dc.a(), similar to the following:
Current CompileTask: C2:4112 com.corda.b.dc.a(B)Z (559 bytes)
This issue can be resolved by disabling JIT compilation with the following JVM argument:
-XX:CompileCommand=exclude,com/corda/a/dc,a -XX:CompileCommand=exclude,com/corda/b/dc,aThere is an expected, albeit minimal, performance degradation associated with disabling JIT compilation. You should be aware of the change and may want to perform additional testing to ensure adequate performance.