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

Reply via email to