JDK-6820321 : G1: Error: guarantee(check_nums(total, n, parts),"all seq lengths should match")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs14,hs15
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-03-20
  • Updated: 2013-09-18
  • Resolved: 2011-03-08
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 6 JDK 7 Other
6u14Fixed 7Fixed hs14Fixed
Related Reports
Relates :  
Relates :  
Whe enabling -XX:+TraceGen0Time and if we get an evacuation failure, G1 gives the following error:

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/numberSeq.cpp:116
# A fatal error has been detected by the Java Runtime Environment:
#  Internal Error (/java/east/u2/ap31282/hotspot-g1-debugging/src/share/vm/utilities/numberSeq.cpp:116), pid=533, tid=2
#  Error: guarantee(check_nums(total, n, parts),"all seq lengths should match")
# JRE version: 6.0_04-b12
# Java VM: OpenJDK Server VM (15.0-b02-internal-jvmg mixed mode solaris-sparc )
# An error report file with more information is saved as:
# /java/east/u2/ap31282/bench/specjvm98/hs_err_pid533.log
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp

Here's a command line that can cause this (but, really, any run with evacuation failure would cause this):

java -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -Xms32m -Xmx32m -XX:G1YoungGenSize=24m -XX:+PrintGCDetails -XX:+TraceGen0Time SpecApplication -g _213_javac

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2314b7336582

EVALUATION I also see some negative values in the Update RS (Start), Update RS, Processed Buffers, and Scan RS fields (in fact, they are the initial value of those values). This happens when the band aid is in place (see 6677708). When I turn off the "band aid", the problem goes away. I assume some values are not correctly initialized when the "band aid" is enabled. I'll fix this too as part of this CR.

EVALUATION The problem was introduced by the fix for 6804746. It looks as if, when evacuation failure happens, one of the number sequences is not updated. I also get negative parallel Other values: [Other: -42171439503711075156658445313205213829616762170031450681981956990950592427590181883883879326330635061378536476893789515778853445048393175941801216038534712333690919100703371842370783027183596531098185228701077155818308083767135822862168388513557228486967955589266981086622089939193873369510692493360889856.0 ms] when evacuation fails, which I guess it's related.