United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6820321 G1: Error: guarantee(check_nums(total, n, parts),"all seq lengths should match")
JDK-6820321 : G1: Error: guarantee(check_nums(total, n, parts),"all seq lengths should match")

Details
Type:
Bug
Submit Date:
2009-03-20
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs14,hs15
Fixed Versions:
hs15 (b04)

Related Reports
Backport:
Backport:
Backport:
Backport:
Relates:
Relates:

Sub Tasks

Description
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

                                    

Comments
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.
                                     
2009-03-20
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.
                                     
2009-03-20
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2314b7336582
                                     
2009-03-22



Hardware and Software, Engineered to Work Together