Check PerfCounter in core image through JSnap
Yasumasa Suenaga
yasuenag at gmail.com
Sat Jan 30 14:08:42 UTC 2016
Hi all,
I want to check PerfCounter in core image to analyze state of crashed JVM.
When I use JSnap tool, I encountered NPE on Fedora 23 x86_64.
I checked core image, and I found PerfMemory::_start, _top, etc are set to NULL,
however, PerfMemory::_initialized is set to 1.
PerfMemory::_start is set to NULL in PerfMemory::destroy(), and this function
is called at before aborting VM.
I fixed as below, and it works fine with JSnap:
-------------------
diff -r edfc9e2316e3 src/share/vm/runtime/perfMemory.cpp
--- a/src/share/vm/runtime/perfMemory.cpp Sun Jan 24 23:20:12 2016 +0900
+++ b/src/share/vm/runtime/perfMemory.cpp Sat Jan 30 22:41:05 2016 +0900
@@ -196,12 +196,6 @@
//
delete_memory_region();
}
-
- _start = NULL;
- _end = NULL;
- _top = NULL;
- _prologue = NULL;
- _capacity = 0;
}
// allocate an aligned block of memory from the PerfData memory
-------------------
I found JDK-6224040: enhance jstat to extract counter information from core files .
At least, we can control shared memory through coredump_filter in modern Linux kernel.
Should I work this fix in JDK-6224040 ? or another issue ?
Please cooperate.
Thanks,
Yasumasa
More information about the serviceability-dev
mailing list