Good News: C stack frames now decoded on crash

Zhengyu Gu zhengyu.gu at oracle.com
Wed Dec 15 18:09:45 PST 2010


Hi,

I would like to share a good that should be very helpful to all hotspot 
developers. In near future, once the change set is pushed to open 
baseline, the hotspot crash report should contain decoded C stack frames 
whenever the symbols are available.

Currently hotspot does ship private symbols on Windows/Solaris/Linux 
platforms. On Solaris and Linux, there are not extra dependencies for 
decoding C stack frame.

But on Windows, "dbghelp.dll" is needed to decode stack. So we encourage 
you to have latest "dbghelp.dll" installed.

Following is an example of decoded native frame section:

Stack: [0x018e0000,0x01930000],  sp=0x0192fad8,  free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, 
C=native code)
C  [KERNELBASE.dll+0x9617]  RaiseException+0x54
C  [MSVCR100D.dll+0xfc382]  CxxThrowException+0x52
C  [CrashVM.dll+0x1145a]  Java_CrashVM_crashvm+0xaa
j  CrashVM.crashvm()V+0
j  CrashVM.main([Ljava/lang/String;)V+5
v  ~StubRoutines::call_stub
V  [jvm.dll+0x1d5cd3]  JavaCalls::call_helper+0x2e3
V  [jvm.dll+0x2b3bd2]  os::os_exception_wrapper+0xa2
V  [jvm.dll+0x1d5d88]  JavaCalls::call+0x48
V  [jvm.dll+0x110d38]  jni_invoke_static+0x148
V  [jvm.dll+0x124596]  jni_CallStaticVoidMethod+0x226
C  [java.exe+0x2155]
C  [java.exe+0x85b4]
C  [kernel32.dll+0x51194]  BaseThreadInitThunk+0x12
C  [ntdll.dll+0x5b495]  RtlInitializeExceptionChain+0x63
C  [ntdll.dll+0x5b468]  RtlInitializeExceptionChain+0x36


Thanks,

-Zhengyu


More information about the hotspot-dev mailing list