JDK-8017462 : G1: guarantee fails with UseDynamicNumberOfGCThreads
Type:Bug
Component:hotspot
Sub-Component:gc
Affected Version:hs25
Priority:P4
Status:Resolved
Resolution:Fixed
Submitted:2013-06-23
Updated:2023-08-31
Resolved:2015-04-01
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Another stack trace from a crash
#0 0x00007faf3b44982d in read () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007faf3a2dead0 in os::message_box (
title=0x7faf3a8f61fb "Unexpected Error",
message=0x7faf3af24440 <VMError::report_and_die()::buffer> "Internal Error at g1GCPhaseTimes.cpp:236, pid=32462, tid=140386441885440\nassert(_data[i] != WorkerDataArray<T>::uninitialized()) failed: Invalid data for worker 2 in 'GC Worker Start (ms)'\n\nDo you wan"...)
at /export/jmasa/java/jdk9-gc-ref/src/os/linux/vm/os_linux.cpp:5017
#2 0x00007faf3a4fdc78 in VMError::show_message_box (this=0x7fae43ffe510,
buf=0x7faf3af24440 <VMError::report_and_die()::buffer> "Internal Error at g1GCPhaseTimes.cpp:236, pid=32462, tid=140386441885440\nassert(_data[i] != WorkerDataArray<T>::uninitialized()) failed: Invalid data for worker 2 in 'GC Worker Start (ms)'\n\nDo you wan"..., buflen=2000)
at /export/jmasa/java/jdk9-gc-ref/src/os/linux/vm/vmError_linux.cpp:53
#3 0x00007faf3a4fc862 in VMError::report_and_die (this=0x7fae43ffe510)
at /export/jmasa/java/jdk9-gc-ref/src/share/vm/utilities/vmError.cpp:912
#4 0x00007faf39d0680e in report_vm_error (
file=0x7faf3a6cd488 "/export/jmasa/java/jdk9-gc-ref/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp", line=236,
error_msg=0x7faf3a6cdb78 "assert(_data[i] != WorkerDataArray<T>::uninitialized()) failed",
detail_msg=0x7fae43ffe5b8 "Invalid data for worker 2 in 'GC Worker Start (ms)'") at /export/jmasa/java/jdk9-gc-ref/src/share/vm/utilities/debug.cpp:216
#5 0x00007faf39e4bf2d in WorkerDataArray<double>::verify (this=0x7faf34028a80)
at /export/jmasa/java/jdk9-gc-ref/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp:235
#6 0x00007faf39e49960 in G1GCPhaseTimes::note_gc_end (this=0x7faf340288f0)
at /export/jmasa/java/jdk9-gc-ref/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp:309
#7 0x00007faf39e1e239 in G1CollectedHeap::log_gc_footer (this=0x7faf3402adc0,
pause_time_sec=0.016348194999999954)
at /export/jmasa/java/jdk9-gc-ref/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp:3682
#8 0x00007faf39e1f273 in G1CollectedHeap::do_collection_pause_at_safepoint (
this=0x7faf3402adc0, target_pause_time_ms=200)
31-03-2015
The calculations of variances that are failing are doing so because the maximum number of threads is being used in the calculation and, when UseDynamicNumberOfGCThreads is being used, only the active GC threads should be used. In one situation the number of active threads was being calculated too late in the collection rather than earlier in the collection. The number of active GC threads was changed so as to be the same over a larger part of the collection.
06-03-2015
Information in comments extracted from this error log.