Mercurial > hg > graal-jvmci-8
changeset 23836:58fdc4a7c328
8150518: G1 GC crashes at G1CollectedHeap::do_collection_pause_at_safepoint(double)
Reviewed-by: jmasa, kbarrett, tschatzl
author | kevinw |
---|---|
date | Tue, 29 Mar 2016 13:05:07 +0100 |
parents | f21c5c4d5231 |
children | 83dc7e55f715 |
files | src/share/vm/runtime/arguments.cpp test/TEST.groups test/gc/8000311/Test8000311.java test/gc/TestG1ZeroPGCTJcmdThreadPrint.java |
diffstat | 4 files changed, 2 insertions(+), 100 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp Fri Mar 11 11:10:53 2016 +0530 +++ b/src/share/vm/runtime/arguments.cpp Tue Mar 29 13:05:07 2016 +0100 @@ -1675,9 +1675,8 @@ FLAG_SET_DEFAULT(ParallelGCThreads, Abstract_VM_Version::parallel_worker_threads()); if (ParallelGCThreads == 0) { - FLAG_SET_DEFAULT(ParallelGCThreads, - Abstract_VM_Version::parallel_worker_threads()); - } + vm_exit_during_initialization("The flag -XX:+UseG1GC can not be combined with -XX:ParallelGCThreads=0", NULL); + } #if INCLUDE_ALL_GCS if (G1ConcRefinementThreads == 0) {
--- a/test/TEST.groups Fri Mar 11 11:10:53 2016 +0530 +++ b/test/TEST.groups Tue Mar 29 13:05:07 2016 +0100 @@ -61,7 +61,6 @@ # can be resolved in some cases by using tools from the compile-jdk. # needs_jdk = \ - gc/TestG1ZeroPGCTJcmdThreadPrint.java \ gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \ gc/metaspace/TestMetaspacePerfCounters.java \ gc/metaspace/TestPerfCountersAndMemoryPools.java \
--- a/test/gc/8000311/Test8000311.java Fri Mar 11 11:10:53 2016 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/** - * @test Test8000311 - * @key gc - * @bug 8000311 - * @summary G1: ParallelGCThreads==0 broken - * @run main/othervm -XX:+UseG1GC -XX:ParallelGCThreads=0 -XX:+ResizePLAB -XX:+ExplicitGCInvokesConcurrent Test8000311 - * @author filipp.zhinkin@oracle.com - */ - -import java.util.*; - -public class Test8000311 { - public static void main(String args[]) { - for(int i = 0; i<100; i++) { - byte[] garbage = new byte[1000]; - System.gc(); - } - } -}
--- a/test/gc/TestG1ZeroPGCTJcmdThreadPrint.java Fri Mar 11 11:10:53 2016 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* @test TestG1ZeroPGCTJcmdThreadPrint - * @key gc - * @bug 8005875 - * @summary Use jcmd to generate a thread dump of a Java program being run with PGCT=0 to verify 8005875 - * @library /testlibrary - * @run main/othervm -XX:+UseG1GC -XX:ParallelGCThreads=0 -XX:+IgnoreUnrecognizedVMOptions TestG1ZeroPGCTJcmdThreadPrint - */ - -import com.oracle.java.testlibrary.*; - -public class TestG1ZeroPGCTJcmdThreadPrint { - public static void main(String args[]) throws Exception { - - // Grab the pid from the current java process - String pid = Integer.toString(ProcessTools.getProcessId()); - - // Create a ProcessBuilder - ProcessBuilder pb = new ProcessBuilder(); - - // Run jcmd <pid> Thread.print - pb.command(JDKToolFinder.getJDKTool("jcmd"), pid, "Thread.print"); - - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - - // There shouldn't be a work gang for concurrent marking. - output.shouldNotContain("G1 Parallel Marking Threads"); - - // Make sure we didn't crash - output.shouldHaveExitValue(0); - } -}