8293563: [macos-aarch64] SA core file tests failing with sun.jvm.hotspot.oops.UnknownOopException

Reviewed-by: sspitsyn, kevinw
This commit is contained in:
Chris Plummer 2022-09-28 20:35:33 +00:00
parent 9db95edd01
commit 76f1865124
7 changed files with 28 additions and 15 deletions

View File

@ -114,13 +114,14 @@ serviceability/jvmti/ModuleAwareAgents/ThreadStart/MAAThreadStart.java 8225354 w
serviceability/jvmti/vthread/GetSetLocalTest/GetSetLocalTest.java 8286836 generic-all
serviceability/dcmd/gc/RunFinalizationTest.java 8227120 linux-all,windows-x64
serviceability/sa/ClhsdbCDSCore.java 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/ClhsdbFindPC.java#xcomp-core 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/ClhsdbFindPC.java#no-xcomp-core 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/ClhsdbPmap.java#core 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/ClhsdbPstack.java#core 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/TestJmapCore.java 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/TestJmapCoreMetaspace.java 8269982,8267433 macosx-aarch64,macosx-x64
serviceability/sa/ClhsdbCDSCore.java 8267433 macosx-x64
serviceability/sa/ClhsdbFindPC.java#xcomp-core 8267433 macosx-x64
serviceability/sa/ClhsdbFindPC.java#no-xcomp-core 8267433 macosx-x64
serviceability/sa/ClhsdbPmap.java#core 8267433 macosx-x64
serviceability/sa/ClhsdbPstack.java#core 8267433 macosx-x64
serviceability/sa/TestJmapCore.java 8267433 macosx-x64
serviceability/sa/TestJmapCoreMetaspace.java 8267433 macosx-x64
serviceability/attach/ConcAttachTest.java 8290043 linux-all
#############################################################################

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2022, 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
@ -82,6 +82,7 @@ public class ClhsdbCDSCore {
"-Xshare:auto",
"-XX:+ProfileInterpreter",
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
CoreUtils.getAlwaysPretouchArg(true),
CrashApp.class.getName()
};

View File

@ -93,9 +93,9 @@ public class ClhsdbFindPC {
theApp = new LingeredApp();
theApp.setForceCrash(withCore);
if (withXcomp) {
LingeredApp.startApp(theApp, "-Xcomp");
LingeredApp.startApp(theApp, "-Xcomp", CoreUtils.getAlwaysPretouchArg(withCore));
} else {
LingeredApp.startApp(theApp, "-Xint");
LingeredApp.startApp(theApp, "-Xint", CoreUtils.getAlwaysPretouchArg(withCore));
}
System.out.print("Started LingeredApp ");
if (withXcomp) {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2022, 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
@ -60,7 +60,7 @@ public class ClhsdbPmap {
ClhsdbLauncher test = new ClhsdbLauncher();
theApp = new LingeredApp();
theApp.setForceCrash(withCore);
LingeredApp.startApp(theApp);
LingeredApp.startApp(theApp, CoreUtils.getAlwaysPretouchArg(withCore));
System.out.println("Started LingeredApp with pid " + theApp.getPid());
if (withCore) {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2022, 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
@ -60,7 +60,7 @@ public class ClhsdbPstack {
ClhsdbLauncher test = new ClhsdbLauncher();
theApp = new LingeredApp();
theApp.setForceCrash(withCore);
LingeredApp.startApp(theApp);
LingeredApp.startApp(theApp, CoreUtils.getAlwaysPretouchArg(withCore));
System.out.println("Started LingeredApp with pid " + theApp.getPid());
if (withCore) {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2022, 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
@ -73,6 +73,7 @@ public class TestJmapCore {
static void test(String type) throws Throwable {
ProcessBuilder pb = ProcessTools.createTestJvm("-XX:+CreateCoredumpOnCrash",
"-Xmx512m", "-XX:MaxMetaspaceSize=64m", "-XX:+CrashOnOutOfMemoryError",
CoreUtils.getAlwaysPretouchArg(true),
TestJmapCore.class.getName(), type);
// If we are going to force a core dump, apply "ulimit -c unlimited" if we can.

View File

@ -260,4 +260,14 @@ public class CoreUtils {
}
}
public static String getAlwaysPretouchArg(boolean withCore) {
// macosx-aarch64 has an issue where sometimes the java heap will not be dumped to the
// core file. Using -XX:+AlwaysPreTouch fixes the problem.
if (withCore && Platform.isOSX() && Platform.isAArch64()) {
return "-XX:+AlwaysPreTouch";
} else {
return "-XX:-AlwaysPreTouch";
}
}
}