United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6949307 G1: raise a vm error, do not core dump, if target pause time and target interval are inconsistent
JDK-6949307 : G1: raise a vm error, do not core dump, if target pause time and target interval are inconsistent

Details
Type:
Enhancement
Submit Date:
2010-05-03
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:
hs18
Fixed Versions:
hs19 (b04)

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
Currently, the default pause time interval is 500ms. If a user sets a pause time target -XX:MaxGCPauseMillis=P, where P >= 500ms, without setting the interval explicitly with -XX:GCPauseIntervalMillis=T, G1 core dumps as we hit a guarantee that says that the pause time target should be less than the interval:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (g1CollectorPolicy.cpp:265), pid=7197, tid=2
#  Error: guarantee(max_gc_time < time_slice,"Max GC time should not be greater than the time slice")
#

There are two changes we should make:

a) raise a vm error, not a guarantee failure / core dump
b) deal quietly with the case where the specified pause time target is >= the default interval

                                    

Comments
EVALUATION

See Description.
                                     
2010-05-03
SUGGESTED FIX

The policy change is going to be the following: we are not going to give a default time interval. If the time interval is not explicitly set by the user, we are going to set it to pause_time_goal + 1 to basically give G1 maximum flexibility in terms of scheduling pauses. A user will, of course, be able to override that if they wish.
                                     
2010-05-04
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/79107c3a6bd5
                                     
2010-06-23



Hardware and Software, Engineered to Work Together