State of Windows AARCH64 port after 8284161: Implementation of Virtual Threads (Preview)
Ahmed Muhsin
ahmedmuhsin at microsoft.com
Fri Jul 1 20:56:14 UTC 2022
Hey everyone,
We recently performed an analysis of Loom's impact on the Win/ARM64 port and found only one test that can be attributed to the VirtualThreads commit: jdk/jshell/ToolBasicTest.java (langtools: tier2). I've included more details about our testing below.
There are currently no blockers for the JDK 19 release. Please let us know what you think.
Thanks,
Ahmed Muhsin
Test procedure and results:
Tests:
* JDK: tier1, tier2, tier3, jdk_loom
* Hotspot: tier1, tier2, tier3, hotspot_loom
* Langtools: tier1, tier2, tier3
Comparison 1: JDK tip (commit: e0382c5<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenjdk%2Fjdk%2Fcommit%2Fe0382c552348d108e906792ad8ca7067f9f805ec&data=05%7C01%7Cahmedmuhsin%40microsoft.com%7Cc631a9d872734b0d1b6108da562dd5c9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637917052101443965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ytn8B9VdyoIWDlfUN4cyFE6M2FXAX2vKcldBwrYI10k%3D&reserved=0>) - VritualThreads on vs off
* Result: Turning VirtualThreads on led to 5 new jtreg test failures:
* java/lang/Thread/virtual/PreviewFeaturesNotEnabled.java
* java/lang/invoke/defineHiddenClass/PreviewHiddenClass.java
* jdk/modules/etc/DefaultModules.java
* tools/javac/launcher/GetResourceTest.java
* tools/javac/launcher/SourceLauncherTest.java
* Analysis: The new test failures are not concerning for these reasons:
* The failures are not due to any VirtualThreads related changes. All the tests failed because the test logic does not account for the possibility that the test JVM might run with the flag --enable-preview . The tests can be split into two groups:
* Tests that check the status of the flag --enable-preview and always assume that the test JVM does not use it.
* java/lang/Thread/virtual/PreviewFeaturesNotEnabled.java
* java/lang/invoke/defineHiddenClass/PreviewHiddenClass.java
* Tests that compile code but since they did not account for the case where the test JVM has preview features turned on, they run into this error: error: --enable-preview must be used with --source
* jdk/modules/etc/DefaultModules.java
* tools/javac/launcher/GetResourceTest.java
* tools/javac/launcher/SourceLauncherTest.java
* All the failing tests pass when --enable-preview is not used.
Comparison 2: JDK tip right before VirtualThreads (commit: 521253<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenjdk%2Fjdk%2Fcommit%2F5212535a276a92d96ca20bdcfccfbce956febdb1&data=05%7C01%7Cahmedmuhsin%40microsoft.com%7Cc631a9d872734b0d1b6108da562dd5c9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637917052101443965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lU6vXmM8yMXp%2BNYFBy1tNhwx0jr1zAPMA9eAd%2F8%2F3%2FU%3D&reserved=0>) vs right after (commit: 9583e36<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenjdk%2Fjdk%2Fcommit%2F9583e3657e43cc1c6f2101a64534564db2a9bd84&data=05%7C01%7Cahmedmuhsin%40microsoft.com%7Cc631a9d872734b0d1b6108da562dd5c9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637917052101443965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=dZWtviz2Uw0OvQuY5osRwZPB7js2CL%2Fd6jByQoCfl7w%3D&reserved=0> + ac274c4<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenjdk%2Fjdk%2Fcommit%2Fac274c4ca67555742065dc850823e924361f2ff7&data=05%7C01%7Cahmedmuhsin%40microsoft.com%7Cc631a9d872734b0d1b6108da562dd5c9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637917052101443965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kUVj5m11l43WLhi2d%2BdGSQJ%2FbXSM0YnkscAYJylwxZY%3D&reserved=0>)
* Results: There was only one new test failure that wasn't fixed in subsequent commits:
* jdk/jshell/ToolBasicTest.java
* Analysis: The new test failure pops up when VirtualThreads is both on and off.
* Test output: https://pastebin.com/Zj7BYzSx<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpastebin.com%2FZj7BYzSx&data=05%7C01%7Cahmedmuhsin%40microsoft.com%7Cc631a9d872734b0d1b6108da562dd5c9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637917052101443965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0466bzmkVhQ1ojLdhmevUWzT3Q9vasyXq5K1ctO%2BKNU%3D&reserved=0>
* A similar failure was reported in the past (before VritualThreads was committed) on another platform: https://bugs.openjdk.org/browse/JDK-8272744<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.org%2Fbrowse%2FJDK-8272744&data=05%7C01%7Cahmedmuhsin%40microsoft.com%7Cc631a9d872734b0d1b6108da562dd5c9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637917052101443965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=QJCqrnX5JanHEbSQZELuX96n4n%2FNnQ%2FywcTj%2BHFrVFE%3D&reserved=0>
Conclusion
* There is only 1 new test failure that can be attributed to the VirtualThreads commit that hasn't been already fixed is:
* jdk/jshell/ToolBasicTest.java
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/porters-dev/attachments/20220701/204787e4/attachment-0001.htm>
More information about the porters-dev
mailing list