RFR: 8152905: hs_err file is missing gc threads
Coleen Phillimore
coleen.phillimore at oracle.com
Tue Apr 5 18:51:07 UTC 2016
Hi Derek,
I reviewed .02 webrev and it looks good.
thanks,
Coleen
On 3/30/16 11:44 AM, Daniel D. Daugherty wrote:
> On 3/29/16 9:32 PM, Derek White wrote:
>> Summary: List the GC threads in the hs_err file in the "Other
>> Threads" section
>>
>> There are 4 small parts to this:
>> 1) Fix G1CollectedHeap::gc_threads_do() to also iterate over
>> concurrent mark worker threads.
>> 2) Have Thread::print_on_error() print the thread name of NamedThreads.
>> 3) Factor out code that prints out each "Other Thread" to
>> Threads::print_on_error().
>> 4) Call Threads::print_on_error() on every GC thread.
>>
>> BUG: 8152905: hs_err 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
>>
>
More information about the hotspot-runtime-dev
mailing list