JDK-6898857 : [Regression] -XX:NewRatio with -XX:+UseConcMarkSweepGC causes fatal error
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 6u18
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2009-11-06
  • Updated: 2011-03-08
  • 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
6u18Fixed 7Fixed hs16Fixed
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_18-ea"
Java(TM) SE Runtime Environment (build 1.6.0_18-ea-b04)
Java HotSpot(TM) 64-Bit Server VM (build 16.0-b11, mixed mode)

FULL OS VERSION :
Fedora 11, output of uname -a:

Linux mac 2.6.30.9-90.fc11.x86_64 #1 SMP Sat Oct 17 11:25:35 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

A DESCRIPTION OF THE PROBLEM :
Execute java -XX:NewRatio=6 -XX:+UseConcMarkSweepGC. With JDK6u16, the Usage help text is shown. With JDK6u18b04, the output is:

#
# A fatal error has been detected by the Java Runtime Environment:
#
# java.lang.OutOfMemoryError: requested 14411518807585536 bytes for HeapWord* in /BUILD_AREA/jdk6_18/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp. Out of swap space?
#
#  Internal Error (allocation.inline.hpp:39), pid=17403, tid=139739792140560
#  Error: HeapWord* in /BUILD_AREA/jdk6_18/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
#
# JRE version: 6.0_18-b04
# Java VM: Java HotSpot(TM) 64-Bit Server VM (16.0-b11 mixed mode linux-amd64 )
# An error report file with more information is saved as:
# /home/ijuma/Download/jdk/hs_err_pid17403.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
zsh: abort      java -XX:NewRatio=6 -XX:+UseConcMarkSweepGC

THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Yes

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Execute java -XX:NewRatio=6 -XX:+UseConcMarkSweepGC (or any application with -XX:NewRatio and -XX:UseConcMarkSweepGC)

EXPECTED VERSUS ACTUAL BEHAVIOR :
Expected the usage help output to be shown, as it is with JDK6u16.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Attached seperatly

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Do not use -XX:NewRatio when using -XX:+UseConcMarkSweepGC.

Release Regression From : 6u16
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.

Comments
EVALUATION http://hg.openjdk.java.net/hsx/hsx16/master/rev/dba6aafa42ff
13-11-2009

EVALUATION http://hg.openjdk.java.net/hsx/hsx16/baseline/rev/dba6aafa42ff
13-11-2009

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/0e2d7ae2bc67
11-11-2009

EVALUATION This regression is cause by the fix for 6862534.
06-11-2009

EVALUATION In set_cms_and_parnew_gc_flags() MaxNewSize has to be reset if it has its default value (set to max_uintx in globals.hpp).
06-11-2009