|
Quick Lists
|
|
Bug ID:
|
6306922
|
|
Votes
|
2
|
|
Synopsis
|
Dump dump created by +HeapDumpOnOutOfMemoryError should include stack traces for stack roots
|
|
Category
|
hotspot:tools
|
|
Reported Against
|
|
|
Release Fixed
|
hs14(b06),
6u14(b01) (Bug ID:2172783)
|
|
State
|
10-Fix Delivered,
request for enhancement
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
6759840
,
6760477
,
6765718
|
|
Submit Date
|
05-AUG-2005
|
|
Description
|
The dump file produced by +HeapDumpOnOutOfMemoryError when OutOfMemoryError is thrown includes stack roots (both locals and JNI locals). These locals are emitted to the dump with an empty stack trace. It would be desirable to emit the stack trace all threads so that the stack roots could be better understood.
Posted Date : 2005-08-05 11:05:51.0
This work is also related to the new heap snapshot format that we hope to include in JDK 7, see
https://heap-snapshot.dev.java.net/
for more information.
Posted Date : 2006-08-23 17:18:25.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
The heap dump format is being redesigned for dolphin so that is a good time to revisit this issue.
--
A JDC comment on this bug asked for +StackDumpOnOutOfMemoryError. Since mustang b34 there is a stack trace generated when OOME is thrown because the java heap or perm gen is full (see 4753347). Also, on Solaris and Linux it is possible to generate a complete thread dump at OOME time using this:
-XX:OnOutOfMemoryError="jstack -F %p"
This option runs the jstack utility when OOME is first thrown. The -F option means "force" and %p is replaced by the pid of the VM process.
Posted Date : 2006-05-24 08:18:08.0
Snapshot the thread dump at heap dump time and include the stack traces as HPROF_TRACE and HPROF_FRAME records. The following records will link with the proper stack trace:
HPROF_GC_ROOT_THREAD_OBJ
HPROF_GC_ROOT_JAVA_FRAME
HPROF_GC_ROOT_JNI_LOCAL
Posted Date : 2008-10-15 00:35:54.0
http://hg.openjdk.java.net/jdk7/hotspot-svc/hotspot/rev/4d05b7cb7842
Posted Date : 2008-10-15 03:46:02.0
http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4d05b7cb7842
Posted Date : 2008-10-16 21:29:58.0
|
|
Comments
|
Submitted On 25-APR-2006
gojomo
Or even, a +StackDumpOnOutOfMemoryError option would be nice... so that if the true culprit for unexpected memory exhaustion is something still in progress in another thread, it can be recognized.
Submitted On 07-AUG-2006
vladimirkondratyev
YourKit Java Profiler already can import and visualize HPROF binary dumps. Stack traces is very useful information, because it allows to "bind" local variables (GC roots) and stack frames which hold references to these variables.
Is there any chance to fix this RFE in 6.0 or one of update releases?
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |