|
Quick Lists
|
|
Bug ID:
|
6804746
|
|
Votes
|
0
|
|
Synopsis
|
G1: guarantee(variance() > -1.0,"variance should be >= 0") (due to evacuation failure)
|
|
Category
|
hotspot:garbage_collector
|
|
Reported Against
|
|
|
Release Fixed
|
hs15(b03),
7(b51) (Bug ID:2174469)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
6785211
,
6797754
,
6817608
,
6820321
|
|
Submit Date
|
12-FEB-2009
|
|
Description
|
Nightly testing uncovered this failure:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/tmp/jprt/P2/B/154324.ap159146/source/src/share/vm/utilities/numberSeq.cpp:177), pid=15885, tid=9
# Error: guarantee(variance() > -1.0,"variance should be >= 0")
#
# JRE version: 7.0-b46
# Java VM: Java HotSpot(TM) 64-Bit Server VM (15.0-b01-2009- customer -10-154324.ap159146.hotspot-g1-allocspec-6700941-fastdebug mixed mode solaris-amd64 )
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Posted Date : 2009-02-12 14:52:39.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
Even though it looks similar to 6785211 I think the cause is different. The failure in this CR was introduced by 6797754 and in particular this change:
+ if (!evacuation_failed()) {
g1_policy()->record_pause_time((end_time_sec - start_time_sec)*1000.0);
+ }
So, if there was an evacuation failure, record_pause_time() was not called to notify the policy how long the pause time was. As a result the policy will pick up junk if it reads _last_pause_ms (which is the case here), or pick up an incorrect value (if _last_pause_ms) had been set by a previous pause.
Posted Date : 2009-02-12 14:52:39.0
http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/3698e8f47799
Posted Date : 2009-02-25 06:44:12.0
http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/3698e8f47799
Posted Date : 2009-02-28 05:13:23.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |