Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hotspot_jre_2 failures jdk8 arm32 hotspot #3297

Closed
Haroon-Khel opened this issue Jan 28, 2022 · 15 comments · Fixed by #4693
Closed

hotspot_jre_2 failures jdk8 arm32 hotspot #3297

Haroon-Khel opened this issue Jan 28, 2022 · 15 comments · Fixed by #4693
Assignees

Comments

@Haroon-Khel
Copy link
Contributor

Haroon-Khel commented Jan 28, 2022

3 tests from hotspot_jre_2 in the extended openjdk test suite fail on jdk8 arm32
Failure link https://ci.adoptopenjdk.net/job/Test_openjdk8_hs_extended.openjdk_arm_linux_testList_1/27/
Trss link https://trss.adoptium.net/output/test?id=61f04ed3a7df1a292406cf69

compiler/gcbarriers/PreserveFPRegistersTest.java.PreserveFPRegistersTest
Error log

OpenJDK Client VM warning: G1 GC is disabled in this release.
java.lang.ArithmeticException: / by zero
	at PreserveFPRegistersTest.<init>(PreserveFPRegistersTest.java:66)
	at PreserveFPRegistersTest.main(PreserveFPRegistersTest.java:39)

gc/TestMemoryMXBeansAndPoolsPresence.java.TestMemoryMXBeansAndPoolsPresence

OpenJDK Client VM warning: G1 GC is disabled in this release.
java.lang.RuntimeException: Expected 0 to equal 1
at com.oracle.java.testlibrary.Asserts.error(Asserts.java:450)
at com.oracle.java.testlibrary.Asserts.assertTrue(Asserts.java:377)

gc/g1/mixedgc/TestOldGenCollectionUsage.java.TestOldGenCollectionUsage
Error log:

17:02:26  OpenJDK Client VM warning: G1 GC is disabled in this release.
17:02:26  java.lang.RuntimeException: G1 Old Gen not found, test with -XX:+UseG1GC
17:02:26  	at TestOldGenCollectionUsage.run(TestOldGenCollectionUsage.java:82)

Rerunning https://ci.adoptopenjdk.net/job/Grinder/3349/console

@Haroon-Khel
Copy link
Contributor Author

Rerunning gc/g1/mixedgc/TestOldGenCollectionUsage.java with -XX:+UseG1GC https://ci.adoptopenjdk.net/job/Grinder/3363/console

@Haroon-Khel
Copy link
Contributor Author

Still fails with the same error. Looking back at the trss link, -XX:+UseG1GC was already being used as an option

[2022-01-25T11:41:53.504Z]         -Xbootclasspath/a:. \
[2022-01-25T11:41:53.504Z]         -XX:+UseG1GC \
[2022-01-25T11:41:53.504Z]         -XX:+UnlockExperimentalVMOptions \

@Haroon-Khel
Copy link
Contributor Author

Haroon-Khel commented Jan 28, 2022

https://bugs.openjdk.java.net/browse/JDK-8028772 is the closest I could find to a relevant upstream issue; it is simply a discussion of whether G1GC tests should be excluded on armhf. Not sure if that is enough to consider these failures to be non blocking

@sxa
Copy link
Member

sxa commented Jan 31, 2022

Do those tests fail when run against the last GA release? (8u312)?
Also if G1GC is not present on this platform, perhaps we should test REMOVING the +XX:UseG1GC if it's a default that we're passing in.

@Haroon-Khel
Copy link
Contributor Author

Haroon-Khel commented Jan 31, 2022

Rerunning with last GA release

compiler/gcbarriers/PreserveFPRegistersTest.java.PreserveFPRegistersTest
https://ci.adoptopenjdk.net/job/Grinder/3378/console

gc/TestMemoryMXBeansAndPoolsPresence.java.TestMemoryMXBeansAndPoolsPresence
https://ci.adoptopenjdk.net/job/Grinder/3379/console

gc/g1/mixedgc/TestOldGenCollectionUsage.java
https://ci.adoptopenjdk.net/job/Grinder/3380/console

@sxa
Copy link
Member

sxa commented Jan 31, 2022

Looks like they all had the same failures. @smlambert are you ok to skip considering these a stop ship on the basis of the re-runs against 8u312 listed above or do you wish to have further investigation?

@Haroon-Khel
Copy link
Contributor Author

The warning and error for gc/g1/mixedgc/TestOldGenCollectionUsage.java are interesting.

12:56:32  OpenJDK Client VM warning: G1 GC is disabled in this release.
12:56:32  java.lang.RuntimeException: G1 Old Gen not found, test with -XX:+UseG1GC
12:56:32  	at TestOldGenCollectionUsage.run(TestOldGenCollectionUsage.java:82)

If the test cannot find G1 because it has been disabled, then shouldn't this test be excluded?

@smlambert
Copy link
Contributor

re: #3297 (comment) - we will not block release due to these failures (as its shown, not a regression, that we have already released last GA binaries that fail in the same way).

This isn't to say we do not need to do further investigation to understand what next action to take, as these will continue to fail. I have not looked closely at all, but @Haroon-Khel when you look at the test code that prints out the test with -XX:+UseG1GC is there any indication why it actually ignores the fact that the option is already being set? I ran a Grinder with EXTRA_OPTION=-XX:+UseG1GC and see that it does ignore it.

@Haroon-Khel
Copy link
Contributor Author

Haroon-Khel commented Feb 1, 2022

@ShelleyLambert Looking at https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/2544d2a351eca1a3d62276f969dd2d95e4a4d2b6/hotspot/test/gc/g1/mixedgc/TestOldGenCollectionUsage.java#L82, nothing suggests that the option is being ignored. I think that the option is being ignored by the jdk and not by the test code.

Do we know why G1 GC is disabled?
12:56:32 OpenJDK Client VM warning: G1 GC is disabled in this release.

@smlambert
Copy link
Contributor

re: #3297 (comment) - sounds like we need a smoke test and a confirmation on which platforms/versions that feature is available in (much like we do for ZGC and Shenandoah features and smoke tests). If its not available on this platform, tests expecting it should certainly be excluded (and expectation it would happen in upstream problem lists, but we can do that in our problem lists first).

@Haroon-Khel
Copy link
Contributor Author

After @sxa's suggestion, rerunning gc/g1/mixedgc/TestOldGenCollectionUsage.java with https://github.com/adoptium/aarch32-jdk8u as the JDK_REPO parameter https://ci.adoptopenjdk.net/job/Grinder/3394/console

@Haroon-Khel
Copy link
Contributor Author

The test still fails, but with an error which suggests that it was able to actually run the test

13:55:51  OpenJDK Client VM warning: G1 GC is disabled in this release.
13:55:51  java.lang.RuntimeException: Expected 0 to equal 1
13:55:51  	at com.oracle.java.testlibrary.Asserts.error(Asserts.java:450)
13:55:51  	at com.oracle.java.testlibrary.Asserts.assertTrue(Asserts.java:377)
13:55:51  	at com.oracle.java.testlibrary.Asserts.assertEquals(Asserts.java:169)
13:55:51  	at com.oracle.java.testlibrary.Asserts.assertEquals(Asserts.java:152)

So perhaps this test does not need to be excluded, but we do need to make sure that the right JDK_REPO parameter is used

@smlambert
Copy link
Contributor

Yes, as discussed and lost in a Slack thread somewhere, because this platform is built from a special repo, the build pipeline should get triggered with USE_TESTENV_PROPERTIES=false, so that the test pipelines will use the correct JDK_REPO and the the RELEASE tag of it.

@sophia-guo
Copy link
Contributor

see #4679 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants