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.

To download the current JDK release, click here.
JDK 8 JDK 9
8u102Fixed 9 b60Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
#  Internal Error (numberSeq.cpp:166), pid=20946, tid=140218297272080
#  guarantee(variance() > -1.0) failed: variance should be >= 0

Comments
URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/af95803d12f2 User: lana Date: 2015-04-15 22:02:01 +0000
15-04-2015

URL: http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/af95803d12f2 User: jmasa Date: 2015-04-01 22:47:51 +0000
01-04-2015

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.
23-06-2013