RFR: 8152905: hs_err file is missing gc threads (original) (raw)
Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Mar 30 15:44:08 UTC 2016
- Previous message (by thread): RFR: 8152905: hs_err file is missing gc threads
- Next message (by thread): RFR: 8152905: hs_err file is missing gc threads
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 3/29/16 9:32 PM, Derek White wrote:
Summary: List the GC threads in the hserr file in the "Other Threads" section
There are 4 small parts to this: 1) Fix G1CollectedHeap::gcthreadsdo() to also iterate over concurrent mark worker threads. 2) Have Thread::printonerror() print the thread name of NamedThreads. 3) Factor out code that prints out each "Other Thread" to Threads::printonerror(). 4) Call Threads::printonerror() on every GC thread. BUG: 8152905: hserr file is missing gc threads <https://bugs.openjdk.java.net/browse/JDK-8152905> WEBREV: http://cr.openjdk.java.net/~drwhite/8152905/webrev.01/
src/share/vm/runtime/thread.hpp No comments.
src/share/vm/runtime/thread.cpp L831: else st->print("Thread"); L832: L833: if (is_Named_thread()) { L834: st->print(" "%s"", name()); L835: }
The new is_Named_thread() check is currently made for
every thread type, but only applies to the else-statement
on L831. That else-statement should change into an
else-block. Perhaps:
else {
st->print("Thread");
if (is_Named_thread()) {
st->print(" \"%s\"", name());
}
}
L4496: if (this_thread) {
Should not use an implied boolean. This should be:
if (this_thread != NULL) {
L4533: bool is_current = (current == thread);
L4534: found_current = found_current || is_current;
L4535:
L4536: st->print("%s", is_current ? "=>" : " ");
L4537:
L4538: st->print(PTR_FORMAT, p2i(thread));
L4539: st->print(" ");
L4540: thread->print_on_error(st, buf, buflen);
L4541: st->cr();
I think this block can refactor into:
print_on_error(thread, st, current, buf, buflen, &found_current);
src/share/vm/gc/g1/g1CollectedHeap.cpp No comments.
src/share/vm/gc/g1/g1ConcurrentMark.cpp No comments.
src/share/vm/gc/g1/g1ConcurrentMark.hpp No comments.
Dan
TESTING: - Tested "java -XX:ErrorHandlerTest=1 -version" on all collectors. - jprt
Thanks, - Derek
- Previous message (by thread): RFR: 8152905: hs_err file is missing gc threads
- Next message (by thread): RFR: 8152905: hs_err file is missing gc threads
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]