From duke at openjdk.org Mon Dec 1 15:44:44 2025 From: duke at openjdk.org (duke) Date: Mon, 1 Dec 2025 15:44:44 GMT Subject: git: openjdk/loom: fibers: 3 new changesets Message-ID: <6f6297d9-90ae-4722-8f0d-19b7e74866d2@openjdk.org> Changeset: a865084f Branch: fibers Author: Alan Bateman Date: 2025-11-30 09:18:45 +0000 URL: https://git.openjdk.org/loom/commit/a865084f1cbf5a6d7eb69db94ca30a604ec4065b Simplify custom scheduler with management interface ! loom-docs/CustomSchedulers.md ! src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java Changeset: a985bf27 Branch: fibers Author: Alan Bateman Date: 2025-12-01 09:09:31 +0000 URL: https://git.openjdk.org/loom/commit/a985bf27224a8fb0dd94642cc99d7eb3fe1a3dbe Sync up FJP from pull/26479 ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 8b353efd Branch: fibers Author: Alan Bateman Date: 2025-12-01 14:23:01 +0000 URL: https://git.openjdk.org/loom/commit/8b353efda21c32fb2fe4c72cdefdfdd30454779f preferredCarrier ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/ThreadBuilders.java ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/sun/nio/ch/Poller.java From stigdoessing at gmail.com Mon Dec 1 20:16:23 2025 From: stigdoessing at gmail.com (=?UTF-8?Q?Stig_Rohde_D=C3=B8ssing?=) Date: Mon, 1 Dec 2025 21:16:23 +0100 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor Message-ID: Hi, I stumbled on a minor landmine with newVirtualThreadPerTaskExecutor, and figured I'd share in case something can be done to communicate this behavior a little better, because it caught me by surprise. JEP 444 suggests code like the following try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { var future1 = executor.submit(() -> fetchURL(url1)); var future2 = executor.submit(() -> fetchURL(url2)); response.send(future1.get() + future2.get()); } catch (ExecutionException | InterruptedException e) { response.fail(e); } This led me to believe that I could write code like that, and get something that reacts to interrupts promptly. But unfortunately, the close method on this executor does not interrupt the two submitted fetches. Instead, if the main thread in this code is interrupted, the thread will block until the two fetches complete on their own time, and then it will fail the request, which seems a little silly. Due to how try-with-resources works, the executor is closed before the catch block is hit, so in order to "stop early" when interrupted, you'd need to add a nested try-catch inside the try-with-resources to either interrupt the two futures or call shutdownNow on the executor when the main thread is interrupted. I know that the structured concurrency API will be a better fit for this kind of thing, but given that virtual threads are likely to spend a lot of their time blocking waiting for something to occur, it seems a little unfortunate that the ThreadPerTaskExecutor for virtual threads doesn't do shutdownNow on close when used in the most straightforward way. -------------- next part -------------- An HTML attachment was scrubbed... URL: From viktor.klang at oracle.com Mon Dec 1 21:19:26 2025 From: viktor.klang at oracle.com (Viktor Klang) Date: Mon, 1 Dec 2025 22:19:26 +0100 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor In-Reply-To: References: Message-ID: Hi Stig, *Executors.newVirtualThreadPerTaskExecutor()*'s Javadoc states: /"Creates an Executor that starts a new virtual Thread for each task. The number of threads created by the Executor is unbounded. *This method is equivalent to invoking newThreadPerTaskExecutor(ThreadFactory) with a thread factory that creates virtual threads.*"/ - https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/Executors.html#newVirtualThreadPerTaskExecutor() And if we look at how `ExecutorService::close()` is specified: /"*Initiates an orderly shutdown in which previously submitted tasks are executed*, but no new tasks will be accepted. *This method waits until all tasks have completed execution and the executor has terminated.*"/ - https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ExecutorService.html#close() >This led me to believe that I could write code like that, and get something that reacts to interrupts promptly. But unfortunately, the close method on this executor does not interrupt the two submitted fetches. Instead, if the main thread in this code is interrupted, the thread will block until the two fetches complete on their own time, and then it will fail the request,?which seems a little silly. No, the specification for ExecutorService::close() further states: /"*If interrupted while waiting, this method stops all executing tasks as if by invoking shutdownNow().* It then continues to wait until all actively executing tasks have completed. Tasks that were awaiting execution are not executed. The interrupt status will be re-asserted before this method returns." / Given the above: It looks like you want to use Structured Concurrency instead of Executors.newVirtualThreadPerTaskExecutor() On 2025-12-01 21:16, Stig Rohde D?ssing wrote: > Hi, > > I stumbled on a minor landmine with newVirtualThreadPerTaskExecutor, > and figured?I'd share in case something can be done to communicate > this behavior a little better,?because it caught me by surprise. > > JEP 444 suggests code like the following > > try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { > ? ? ? ? var future1 = executor.submit(() -> fetchURL(url1)); > ? ? ? ? var future2 = executor.submit(() -> fetchURL(url2)); > ? ? ? ? response.send(future1.get() + future2.get()); > } catch (ExecutionException | InterruptedException e) { > ? ? ? ? response.fail(e); > } > > This led me to believe that I could write code like that, and get > something that reacts to interrupts promptly. But unfortunately, the > close method on this executor does not interrupt the two submitted > fetches. Instead, if the main thread in this code is interrupted, the > thread will block until the two fetches complete on their own time, > and then it will fail the request,?which seems a little silly. > > Due to how try-with-resources works, the executor is closed before the > catch block is hit, so in order to "stop early" when interrupted, > you'd need to add a nested try-catch inside the try-with-resources to > either interrupt the two futures or call shutdownNow on the executor > when the main thread is interrupted. > > I know that the structured concurrency API will be a better fit for > this kind of thing, but given that virtual threads are likely to spend > a lot of their time blocking waiting for something to occur, it seems > a little unfortunate that the ThreadPerTaskExecutor for virtual > threads doesn't do shutdownNow on close when used in the most > straightforward way. -- Cheers, ? Viktor Klang Software Architect, Java Platform Group Oracle -------------- next part -------------- An HTML attachment was scrubbed... URL: From stigdoessing at gmail.com Mon Dec 1 22:38:20 2025 From: stigdoessing at gmail.com (=?UTF-8?Q?Stig_Rohde_D=C3=B8ssing?=) Date: Mon, 1 Dec 2025 23:38:20 +0100 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor In-Reply-To: References: Message-ID: Hi Viktor, You are right, the documentation already outlines this behavior, and reading the try-with-resources specification makes the rest clear. It is just an unfortunate example in JEP 444. If the main thread is only sent a single interrupt, then by the time ExecutorService.close is called, the main thread will no longer be interrupted, since that flag is cleared when the InterruptedException is thrown. This means that if you send the main thread a single interrupt, the code ends up blocking for just as long as it would have otherwise, the only effect the interrupt has is to cause the request to fail, but that failure happens "late" only after the two fetches have completed normally. That's not the kind of behavior I think you'd want from this kind of code, you likely would want those two fetches to be cancelled, so it was surprising to me. The only way to get this code to actually stop early is to have an external source send repeated interrupts to the main thread, such that the main thread will be interrupted twice: Once to leave future.get, and once to cause ExecutorService.close to interrupt the tasks. But I think it's just a slightly unclear example, and it's possible to work around by creating a wrapping ExecutorService that invokes shutdownNow on close. Thanks for your answer, and you are right, we likely want to use SC instead of this executor. Den man. 1. dec. 2025 kl. 22.19 skrev Viktor Klang : > Hi Stig, > > *Executors.newVirtualThreadPerTaskExecutor()*'s Javadoc states: > > > *"Creates an Executor that starts a new virtual Thread for each task. The > number of threads created by the Executor is unbounded. This method is > equivalent to invoking newThreadPerTaskExecutor(ThreadFactory) with a > thread factory that creates virtual threads."* > > - > https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/Executors.html#newVirtualThreadPerTaskExecutor() > > And if we look at how `ExecutorService::close()` is specified: > > *"Initiates an orderly shutdown in which previously submitted tasks are > executed, but no new tasks will be accepted. This method waits until all > tasks have completed execution and the executor has terminated."* > > - > https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ExecutorService.html#close() > > >This led me to believe that I could write code like that, and get > something that reacts to interrupts promptly. But unfortunately, the close > method on this executor does not interrupt the two submitted fetches. > Instead, if the main thread in this code is interrupted, the thread will > block until the two fetches complete on their own time, and then it will > fail the request, which seems a little silly. > > No, the specification for ExecutorService::close() further states: > > > *"If interrupted while waiting, this method stops all executing tasks as > if by invoking shutdownNow(). It then continues to wait until all actively > executing tasks have completed. Tasks that were awaiting execution are not > executed. The interrupt status will be re-asserted before this method > returns." * > Given the above: It looks like you want to use Structured Concurrency > instead of Executors.newVirtualThreadPerTaskExecutor() > > On 2025-12-01 21:16, Stig Rohde D?ssing wrote: > > Hi, > > I stumbled on a minor landmine with newVirtualThreadPerTaskExecutor, and > figured I'd share in case something can be done to communicate this > behavior a little better, because it caught me by surprise. > > JEP 444 suggests code like the following > > try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { > var future1 = executor.submit(() -> fetchURL(url1)); > var future2 = executor.submit(() -> fetchURL(url2)); > response.send(future1.get() + future2.get()); > } catch (ExecutionException | InterruptedException e) { > response.fail(e); > } > > This led me to believe that I could write code like that, and get > something that reacts to interrupts promptly. But unfortunately, the close > method on this executor does not interrupt the two submitted fetches. > Instead, if the main thread in this code is interrupted, the thread will > block until the two fetches complete on their own time, and then it will > fail the request, which seems a little silly. > > Due to how try-with-resources works, the executor is closed before the > catch block is hit, so in order to "stop early" when interrupted, you'd > need to add a nested try-catch inside the try-with-resources to either > interrupt the two futures or call shutdownNow on the executor when the main > thread is interrupted. > > I know that the structured concurrency API will be a better fit for this > kind of thing, but given that virtual threads are likely to spend a lot of > their time blocking waiting for something to occur, it seems a little > unfortunate that the ThreadPerTaskExecutor for virtual threads doesn't do > shutdownNow on close when used in the most straightforward way. > > -- > Cheers, > ? > > > Viktor Klang > Software Architect, Java Platform Group > Oracle > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon Dec 1 22:48:13 2025 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Mon, 1 Dec 2025 23:48:13 +0100 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor In-Reply-To: References: Message-ID: In my opinion, the core of the issue is not the behavior of close (if it did shutdownNow, then there are other nasty things which could happen, and would be equally surprising, but in other circumstances). The root of the problem is that thread interruption is a poor way to manage cancellation (they suffer from the same issue as global variables do). This poor cancellation mechanism was the main reason I created my own executor framework a long time ago. I wish Java never tried to use thread interrupts for cancellation. Stig Rohde D?ssing ezt ?rta (id?pont: 2025. dec. 1., H, 21:17): > Hi, > > I stumbled on a minor landmine with newVirtualThreadPerTaskExecutor, and > figured I'd share in case something can be done to communicate this > behavior a little better, because it caught me by surprise. > > JEP 444 suggests code like the following > > try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { > var future1 = executor.submit(() -> fetchURL(url1)); > var future2 = executor.submit(() -> fetchURL(url2)); > response.send(future1.get() + future2.get()); > } catch (ExecutionException | InterruptedException e) { > response.fail(e); > } > > This led me to believe that I could write code like that, and get > something that reacts to interrupts promptly. But unfortunately, the close > method on this executor does not interrupt the two submitted fetches. > Instead, if the main thread in this code is interrupted, the thread will > block until the two fetches complete on their own time, and then it will > fail the request, which seems a little silly. > > Due to how try-with-resources works, the executor is closed before the > catch block is hit, so in order to "stop early" when interrupted, you'd > need to add a nested try-catch inside the try-with-resources to either > interrupt the two futures or call shutdownNow on the executor when the main > thread is interrupted. > > I know that the structured concurrency API will be a better fit for this > kind of thing, but given that virtual threads are likely to spend a lot of > their time blocking waiting for something to occur, it seems a little > unfortunate that the ThreadPerTaskExecutor for virtual threads doesn't do > shutdownNow on close when used in the most straightforward way. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Mon Dec 1 23:13:25 2025 From: robaho at me.com (Robert Engels) Date: Mon, 1 Dec 2025 17:13:25 -0600 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor In-Reply-To: References: Message-ID: <0BDE9A09-3C61-4A8D-971A-3B233C44D87B@me.com> Hi, But don?t you have to use interrupts - that is the only way to force a return from many if not all system calls? - except for socket calls where I think you need to close the socket to interrupt a blocking read. > On Dec 1, 2025, at 4:48?PM, Attila Kelemen wrote: > > In my opinion, the core of the issue is not the behavior of close (if it did shutdownNow, then there are other nasty things which could happen, and would be equally surprising, but in other circumstances). The root of the problem is that thread interruption is a poor way to manage cancellation (they suffer from the same issue as global variables do). This poor cancellation mechanism was the main reason I created my own executor framework a long time ago. I wish Java never tried to use thread interrupts for cancellation. > > Stig Rohde D?ssing > ezt ?rta (id?pont: 2025. dec. 1., H, 21:17): >> Hi, >> >> I stumbled on a minor landmine with newVirtualThreadPerTaskExecutor, and figured I'd share in case something can be done to communicate this behavior a little better, because it caught me by surprise. >> >> JEP 444 suggests code like the following >> >> try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { >> var future1 = executor.submit(() -> fetchURL(url1)); >> var future2 = executor.submit(() -> fetchURL(url2)); >> response.send(future1.get() + future2.get()); >> } catch (ExecutionException | InterruptedException e) { >> response.fail(e); >> } >> >> This led me to believe that I could write code like that, and get something that reacts to interrupts promptly. But unfortunately, the close method on this executor does not interrupt the two submitted fetches. Instead, if the main thread in this code is interrupted, the thread will block until the two fetches complete on their own time, and then it will fail the request, which seems a little silly. >> >> Due to how try-with-resources works, the executor is closed before the catch block is hit, so in order to "stop early" when interrupted, you'd need to add a nested try-catch inside the try-with-resources to either interrupt the two futures or call shutdownNow on the executor when the main thread is interrupted. >> >> I know that the structured concurrency API will be a better fit for this kind of thing, but given that virtual threads are likely to spend a lot of their time blocking waiting for something to occur, it seems a little unfortunate that the ThreadPerTaskExecutor for virtual threads doesn't do shutdownNow on close when used in the most straightforward way. -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon Dec 1 23:18:19 2025 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Tue, 2 Dec 2025 00:18:19 +0100 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor In-Reply-To: <0BDE9A09-3C61-4A8D-971A-3B233C44D87B@me.com> References: <0BDE9A09-3C61-4A8D-971A-3B233C44D87B@me.com> Message-ID: Yes, but that doesn't mean the JDK libraries should (such as the executor framework, but really anything else) expose the interrupts on their public API. Interrupts should be used similarly like notifyAll(), and then methods should check, if they were actually cancelled or not. Robert Engels ezt ?rta (id?pont: 2025. dec. 2., K, 0:13): > Hi, > > But don?t you have to use interrupts - that is the only way to force a > return from many if not all system calls? - except for socket calls where I > think you need to close the socket to interrupt a blocking read. > > On Dec 1, 2025, at 4:48?PM, Attila Kelemen > wrote: > > In my opinion, the core of the issue is not the behavior of close (if it > did shutdownNow, then there are other nasty things which could happen, and > would be equally surprising, but in other circumstances). The root of the > problem is that thread interruption is a poor way to manage cancellation > (they suffer from the same issue as global variables do). This poor > cancellation mechanism was the main reason I created my own executor > framework a long time ago. I wish Java never tried to use thread interrupts > for cancellation. > > Stig Rohde D?ssing ezt ?rta (id?pont: 2025. dec. > 1., H, 21:17): > >> Hi, >> >> I stumbled on a minor landmine with newVirtualThreadPerTaskExecutor, and >> figured I'd share in case something can be done to communicate this >> behavior a little better, because it caught me by surprise. >> >> JEP 444 suggests code like the following >> >> try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { >> var future1 = executor.submit(() -> fetchURL(url1)); >> var future2 = executor.submit(() -> fetchURL(url2)); >> response.send(future1.get() + future2.get()); >> } catch (ExecutionException | InterruptedException e) { >> response.fail(e); >> } >> >> This led me to believe that I could write code like that, and get >> something that reacts to interrupts promptly. But unfortunately, the close >> method on this executor does not interrupt the two submitted fetches. >> Instead, if the main thread in this code is interrupted, the thread will >> block until the two fetches complete on their own time, and then it will >> fail the request, which seems a little silly. >> >> Due to how try-with-resources works, the executor is closed before the >> catch block is hit, so in order to "stop early" when interrupted, you'd >> need to add a nested try-catch inside the try-with-resources to either >> interrupt the two futures or call shutdownNow on the executor when the main >> thread is interrupted. >> >> I know that the structured concurrency API will be a better fit for this >> kind of thing, but given that virtual threads are likely to spend a lot of >> their time blocking waiting for something to occur, it seems a little >> unfortunate that the ThreadPerTaskExecutor for virtual threads doesn't do >> shutdownNow on close when used in the most straightforward way. >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From christian.fredriksson.2 at volvocars.com Tue Dec 2 07:12:29 2025 From: christian.fredriksson.2 at volvocars.com (Fredriksson, Christian) Date: Tue, 2 Dec 2025 07:12:29 +0000 Subject: Significant degradation of Thread.sleep with virtual threads in JDK 25 vs JDK 21 In-Reply-To: References: <7d1d0db6-6a6b-481e-b0d9-994fc604240e@oracle.com> Message-ID: Hi, To clarify, is the previous mentioned issue (JDK-8370887) already fixed and in 26 EA? So I can test with e.g. the image openjdk:26-ea-jdk ? Regards, Christian Mvh, Christian ________________________________ From: Alan Bateman Sent: Thursday, November 27, 2025 12:31:53 PM To: Fredriksson, Christian ; loom-dev at openjdk.org Subject: Re: Significant degradation of Thread.sleep with virtual threads in JDK 25 vs JDK 21 On 25/11/2025 16:04, Fredriksson, Christian wrote: I have tested with latest JDK 24 and do *not* see the issue there, only on JDK 25. I have attached the output of running that jcmd every 15 seconds when the issue happened on JDK 25. Thanks, that rules out a signalling issue. Are you able to test with JDK 26 EA builds? -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Tue Dec 2 07:37:01 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 2 Dec 2025 07:37:01 +0000 Subject: Significant degradation of Thread.sleep with virtual threads in JDK 25 vs JDK 21 In-Reply-To: References: <7d1d0db6-6a6b-481e-b0d9-994fc604240e@oracle.com> Message-ID: <3c2e6b7e-c939-4d2c-846a-c682571602db@oracle.com> On 02/12/2025 07:12, Fredriksson, Christian wrote: > Hi, > > To clarify, is the previous mentioned issue (JDK-8370887) already > fixed and in 26 EA? > So I can test with e.g. the image openjdk:26-ea-jdk ? > Yes, it was fixed in JDK 26 build 26, so available in the latest EA builds [1]. -Alan [1] https://jdk.java.net/26/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Tue Dec 2 07:52:47 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Tue, 2 Dec 2025 07:52:47 +0000 Subject: Non-obvious behavior in newVirtualThreadPerTaskExecutor In-Reply-To: References: Message-ID: On 01/12/2025 22:38, Stig Rohde D?ssing wrote: > : > > If the main thread is only sent a single interrupt, then by the time > ExecutorService.close is called, the main thread will no longer be > interrupted,?since that flag is cleared when the InterruptedException > is thrown. > Right, in the example, the interrupted status is cleared by Future::get when it throws InterruptedException, and the translation of try-with-resources means the close method does not have a reference to the "pending exception". In general, cancellation and shutdown is difficult topic, and a big motivation for the StructuredTaskScope API. -Alan From duke at openjdk.org Tue Dec 2 14:10:47 2025 From: duke at openjdk.org (duke) Date: Tue, 2 Dec 2025 14:10:47 GMT Subject: git: openjdk/loom: fibers: 35 new changesets Message-ID: Changeset: 282f3394 Branch: fibers Author: Lance Andersen Date: 2025-11-30 12:53:00 +0000 URL: https://git.openjdk.org/loom/commit/282f339406d67d189e06c0bf8c7ca8d8cf5774e0 8369432: Add Support for JDBC 4.5 MR Reviewed-by: alanb, rriggs ! src/java.sql/share/classes/java/sql/Array.java ! src/java.sql/share/classes/java/sql/Blob.java ! src/java.sql/share/classes/java/sql/Clob.java ! src/java.sql/share/classes/java/sql/Connection.java ! src/java.sql/share/classes/java/sql/DriverPropertyInfo.java ! src/java.sql/share/classes/java/sql/JDBCType.java ! src/java.sql/share/classes/java/sql/NClob.java ! src/java.sql/share/classes/java/sql/SQLPermission.java + src/java.sql/share/classes/java/sql/SQLUtils.java ! src/java.sql/share/classes/java/sql/SQLXML.java ! src/java.sql/share/classes/java/sql/Statement.java ! src/java.sql/share/classes/java/sql/Timestamp.java ! src/java.sql/share/classes/java/sql/Types.java ! src/java.sql/share/classes/java/sql/package-info.java ! test/jdk/java/sql/testng/test/sql/CallableStatementTests.java + test/jdk/java/sql/testng/test/sql/ConnectionTests.java ! test/jdk/java/sql/testng/test/sql/PreparedStatementTests.java ! test/jdk/java/sql/testng/test/sql/StatementTests.java ! test/jdk/java/sql/testng/test/sql/TimestampTests.java ! test/jdk/java/sql/testng/util/BaseTest.java ! test/jdk/java/sql/testng/util/StubCallableStatement.java ! test/jdk/java/sql/testng/util/StubConnection.java + test/jdk/java/sql/testng/util/StubDatabaseMetaData.java ! test/jdk/java/sql/testng/util/StubPreparedStatement.java ! test/jdk/java/sql/testng/util/StubStatement.java ! test/jdk/javax/sql/testng/test/rowset/serial/SQLInputImplTests.java ! test/jdk/javax/sql/testng/test/rowset/serial/SQLOutputImplTests.java Changeset: 3fd551f9 Branch: fibers Author: SendaoYan Date: 2025-12-01 02:29:53 +0000 URL: https://git.openjdk.org/loom/commit/3fd551f9926601b05a13a22b556d55425a37ee4d 8371769: TestMemoryInvisibleParent.java fails with java.nio.file.AccessDeniedException Reviewed-by: sgehwolf, shade ! test/hotspot/jtreg/containers/docker/TestMemoryInvisibleParent.java Changeset: c7a489db Branch: fibers Author: Jayathirth D V Date: 2025-12-01 05:40:51 +0000 URL: https://git.openjdk.org/loom/commit/c7a489db9e4a7d696623fc2155a5504d9d2adb0d 8372534: Update Libpng to 1.6.51 Reviewed-by: serb, azvegint, prr ! make/modules/java.desktop/lib/ClientLibraries.gmk ! src/java.desktop/share/legal/libpng.md ! src/java.desktop/share/native/libsplashscreen/libpng/CHANGES ! src/java.desktop/share/native/libsplashscreen/libpng/README ! src/java.desktop/share/native/libsplashscreen/libpng/png.c ! src/java.desktop/share/native/libsplashscreen/libpng/png.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngconf.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngdebug.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngerror.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngget.c ! src/java.desktop/share/native/libsplashscreen/libpng/pnginfo.h ! src/java.desktop/share/native/libsplashscreen/libpng/pnglibconf.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngmem.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngpread.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngread.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrio.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrtran.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrutil.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngset.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngstruct.h Changeset: e0311ecb Branch: fibers Author: Jatin Bhateja Date: 2025-12-01 06:04:23 +0000 URL: https://git.openjdk.org/loom/commit/e0311ecb85b78b6d97387c17102a8b6759eefc36 8351016: RA support for EVEX to REX/REX2 demotion to optimize NDD instructions Reviewed-by: sviswanathan, dlunden, vlivanov, qamai ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/node.hpp Changeset: 81b26ba8 Branch: fibers Author: Emanuel Peter Date: 2025-12-01 06:42:53 +0000 URL: https://git.openjdk.org/loom/commit/81b26ba8131b74a7bb4309bd3608dda2ba99a6ca 8372685: C2 SuperWord: wrong requires in test after JDK-8371146 Reviewed-by: chagedorn, mbaesken ! test/hotspot/jtreg/compiler/loopopts/superword/TestAliasingCheckPreLimitNotAvailable.java Changeset: ca96366c Branch: fibers Author: Axel Boldt-Christmas Date: 2025-12-01 06:51:03 +0000 URL: https://git.openjdk.org/loom/commit/ca96366c03b89fa90a015e6c2d5912a9f2554c92 8372528: Unify atomic exchange and compare exchange Reviewed-by: kbarrett, stefank ! src/hotspot/cpu/ppc/atomicAccess_ppc.hpp ! src/hotspot/os_cpu/bsd_aarch64/atomicAccess_bsd_aarch64.hpp ! src/hotspot/os_cpu/bsd_x86/atomicAccess_bsd_x86.hpp ! src/hotspot/os_cpu/bsd_zero/atomicAccess_bsd_zero.hpp ! src/hotspot/os_cpu/linux_aarch64/atomicAccess_linux_aarch64.hpp ! src/hotspot/os_cpu/linux_arm/atomicAccess_linux_arm.hpp ! src/hotspot/os_cpu/linux_riscv/atomicAccess_linux_riscv.hpp ! src/hotspot/os_cpu/linux_s390/atomicAccess_linux_s390.hpp ! src/hotspot/os_cpu/linux_x86/atomicAccess_linux_x86.hpp ! src/hotspot/os_cpu/linux_zero/atomicAccess_linux_zero.hpp ! src/hotspot/os_cpu/windows_aarch64/atomicAccess_windows_aarch64.hpp ! src/hotspot/os_cpu/windows_x86/atomicAccess_windows_x86.hpp ! src/hotspot/share/runtime/atomic.hpp ! src/hotspot/share/runtime/atomicAccess.hpp ! test/hotspot/gtest/runtime/test_atomic.cpp ! test/hotspot/gtest/runtime/test_atomicAccess.cpp Changeset: 293fec7e Branch: fibers Author: Christian Hagedorn Date: 2025-12-01 07:06:46 +0000 URL: https://git.openjdk.org/loom/commit/293fec7e28ed06f0942e94b1c21affdf6aabe9ca 8372461: [IR Framework] Multiple test failures after JDK-8371789 Reviewed-by: epeter, syan, dfenacci ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java Changeset: a6bc9b3b Branch: fibers Author: Matthias Baesken Date: 2025-12-01 07:44:54 +0000 URL: https://git.openjdk.org/loom/commit/a6bc9b3ba50c5d669213f082a32e30c9ab2f923d 8372588: [asan] serviceability/sa/TestJmapCore.java and TestJmapCoreMetaspace.java fail after recent improvements Reviewed-by: stuefe, azeller, lucy ! test/hotspot/jtreg/serviceability/sa/TestJmapCore.java ! test/hotspot/jtreg/serviceability/sa/TestJmapCoreMetaspace.java Changeset: 969eb1ce Branch: fibers Author: Mikhail Yankelevich Date: 2025-12-01 07:51:39 +0000 URL: https://git.openjdk.org/loom/commit/969eb1ce2419324582ee8d8108031323f82e125e 8365861: test/jdk/sun/security/pkcs11/Provider/ tests skipped without SkippedException Reviewed-by: rhalade ! test/jdk/sun/security/pkcs11/Provider/Absolute.java ! test/jdk/sun/security/pkcs11/Provider/ConfigShortPath.java ! test/jdk/sun/security/pkcs11/Provider/LoginISE.java Changeset: ef5e744a Branch: fibers Author: Thomas Schatzl Date: 2025-12-01 08:05:55 +0000 URL: https://git.openjdk.org/loom/commit/ef5e744a8136c3d983bdf8721a84fd1488b3c7a8 8372684: G1: Missing load_acquire() in G1 allocation path Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp Changeset: 3481252c Branch: fibers Author: Aleksey Shipilev Date: 2025-12-01 08:41:18 +0000 URL: https://git.openjdk.org/loom/commit/3481252ced7c06c44154ceccc56b12cfd9a490c3 8372188: AArch64: Generate atomic match rules from M4 stencils Reviewed-by: aph, haosun ! make/hotspot/gensrc/GensrcAdlc.gmk ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/aarch64_atomic.ad + src/hotspot/cpu/aarch64/aarch64_atomic_ad.m4 - src/hotspot/cpu/aarch64/cas.m4 Changeset: 5bd7db03 Branch: fibers Author: Matthias Baesken Date: 2025-12-01 09:03:30 +0000 URL: https://git.openjdk.org/loom/commit/5bd7db034aaf8aa6780945e02a7f9a35e16b036e 8372730: Problem list compiler/arguments/TestCodeEntryAlignment.java on x64 Reviewed-by: lucy, goetz ! test/hotspot/jtreg/ProblemList.txt Changeset: 160148cc Branch: fibers Author: Thomas Schatzl Date: 2025-12-01 11:28:22 +0000 URL: https://git.openjdk.org/loom/commit/160148cc7b0c2774e7aa5fece653e41c9fa7c970 8372610: G1: JDK-8297692 broke code roots scan measurements Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: f5eecc45 Branch: fibers Author: Matthew Donovan Date: 2025-12-01 12:18:19 +0000 URL: https://git.openjdk.org/loom/commit/f5eecc454eb78fc1a3714dfe3cb94113238dd3ac 8353738: Update TLS unit tests to not use certificates with MD5 signatures Reviewed-by: djelinski, abarashev ! test/jdk/javax/management/security/keystoreAgent ! test/jdk/javax/management/security/keystoreClient ! test/jdk/javax/management/security/truststoreAgent ! test/jdk/javax/management/security/truststoreClient ! test/jdk/javax/net/ssl/HttpsURLConnection/CriticalSubjectAltName.java - test/jdk/javax/net/ssl/HttpsURLConnection/crisubn.jks - test/jdk/javax/net/ssl/HttpsURLConnection/trusted.jks ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java - test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/Identities.java + test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IdentitiesBase.java ! test/lib/jdk/test/lib/security/CertificateBuilder.java Changeset: 785ca67e Branch: fibers Author: Daniel Fuchs Date: 2025-12-01 12:30:02 +0000 URL: https://git.openjdk.org/loom/commit/785ca67e46c762ed0ffaeda1e26e5f90276181e8 8372409: java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java timed out during warmup Reviewed-by: djelinski ! src/java.net.http/share/classes/jdk/internal/net/http/Http3Connection.java ! test/jdk/java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java Changeset: b98114f4 Branch: fibers Author: Coleen Phillimore Date: 2025-12-01 13:28:21 +0000 URL: https://git.openjdk.org/loom/commit/b98114f4a20bcf3390114b56d05c38b23268979a 8365526: Crash with null Symbol passed to SystemDictionary::resolve_or_null Reviewed-by: dholmes, never, jsjolen ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/resolutionErrors.hpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: d328e4e7 Branch: fibers Author: Matthias Baesken Date: 2025-12-01 13:37:32 +0000 URL: https://git.openjdk.org/loom/commit/d328e4e7e2f58fbfeb661f3502f95016159d7230 8372272: Hotspot shared lib loading - add load attempts to Events::log Reviewed-by: lucy, azeller ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: a1cc8f4e Branch: fibers Author: William Kemper Date: 2025-12-01 15:37:39 +0000 URL: https://git.openjdk.org/loom/commit/a1cc8f4e4107e361f64cf51ff73985e471cdde03 8372444: Genshen: Optimize evacuation function Reviewed-by: ysr, xpeng ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp Changeset: 002fff39 Branch: fibers Author: Brian Burkhalter Date: 2025-12-01 16:57:59 +0000 URL: https://git.openjdk.org/loom/commit/002fff39aace870b27a9068de1662fcb0b3033a6 8220816: (fs) Files.createDirectory should make it more obvious that it fails when the directory already exists Reviewed-by: alanb, jpai ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 6cb1c8f9 Branch: fibers Author: Jiangli Zhou Date: 2025-12-01 17:29:15 +0000 URL: https://git.openjdk.org/loom/commit/6cb1c8f9cfcb797af788ca8fb490f388cc68f525 8371864: GaloisCounterMode.implGCMCrypt0 AVX512/AVX2 intrinsics stubs cause AES-GCM encryption failure for certain payload sizes Co-authored-by: Thomas Holenstein Co-authored-by: Lukas Zobernig Reviewed-by: shade, sviswanathan ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp + test/jdk/com/sun/crypto/provider/Cipher/AES/TestGCMSplitBound.java Changeset: 45c0600d Branch: fibers Author: Justin Lu Date: 2025-12-01 18:17:00 +0000 URL: https://git.openjdk.org/loom/commit/45c0600d3abfa4bcd0338840523c0df69283afe2 8372609: Bug4944439 does not enforce locale correctly Reviewed-by: liach, jpai ! test/jdk/java/text/Format/NumberFormat/Bug4944439.java Changeset: 79e99bb0 Branch: fibers Author: Xiaolong Peng Date: 2025-12-01 18:30:38 +0000 URL: https://git.openjdk.org/loom/commit/79e99bb0778608733a677821a0bb35041e9fb939 8372566: Genshen: crash at ShenandoahScanRemembered::process_clusters after JDK-8371667 Reviewed-by: wkemper, kdnilsen, ysr ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 84ffe872 Branch: fibers Author: Aleksey Shipilev Date: 2025-12-02 08:38:22 +0000 URL: https://git.openjdk.org/loom/commit/84ffe87260753973835ea6b88443e28bcaf0122f 8342175: MemoryEaterMT fails intermittently with ExceptionInInitializerError Reviewed-by: lmesnik, aboldtch ! test/hotspot/jtreg/vmTestbase/nsk/share/gc/GC.java Changeset: 7278d2e8 Branch: fibers Author: Per Minborg Date: 2025-12-02 09:39:29 +0000 URL: https://git.openjdk.org/loom/commit/7278d2e8e5835f090672f7625d391a1b4c1a6626 8372258: Improve TypeVariable support Reviewed-by: liach ! src/java.base/share/classes/java/lang/reflect/TypeVariable.java ! src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java + test/jdk/java/lang/reflect/Generics/ProtectInnerStateOfTypeVariableImplTest.java Changeset: f636fcad Branch: fibers Author: Axel Boldt-Christmas Date: 2025-12-02 10:58:44 +0000 URL: https://git.openjdk.org/loom/commit/f636fcadd72eba7aefbf3f89777c14b3e3f19fb8 8372645: ParallelGC: Remove race between allocation and expansion before is_init_completed Reviewed-by: ayang, sjohanss, eosterlund ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp Changeset: e27abe8a Branch: fibers Author: Axel Boldt-Christmas Date: 2025-12-02 10:59:04 +0000 URL: https://git.openjdk.org/loom/commit/e27abe8a979880f308c69ea53319565dcd2142b6 8372540: SerialGC: Remove race between allocation and expansion before is_init_completed Reviewed-by: ayang, sjohanss, eosterlund ! src/hotspot/share/gc/serial/serialHeap.cpp Changeset: 3f046f6d Branch: fibers Author: Joel Sikstr?m Date: 2025-12-02 11:56:22 +0000 URL: https://git.openjdk.org/loom/commit/3f046f6dec72392d0693655c0f0ef9189529ce45 8372747: G1: Conservative heap alignment does not account for card table constraint Reviewed-by: mdoerr, stefank, tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1Arguments.cpp Changeset: fd7283be Branch: fibers Author: Doug Lea
Date: 2025-12-02 12:05:31 +0000 URL: https://git.openjdk.org/loom/commit/fd7283be47489d3297aac6ecf6658ee9500b2891 8360046: Scalability issue when submitting virtual threads with almost empty tasks Reviewed-by: vklang ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! test/jdk/java/util/concurrent/forkjoin/Starvation.java Changeset: 13e062e7 Branch: fibers Author: Daniel Jeli?ski Date: 2025-12-02 12:13:03 +0000 URL: https://git.openjdk.org/loom/commit/13e062e7a36cf9880416a4e867de13778c6bed2b 8366578: Remove the field tagSize in various QuicPacketEncoder.OutgoingQuicPacket subclasses Reviewed-by: jpai, dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/quic/packets/QuicPacketEncoder.java Changeset: 5cba2c84 Branch: fibers Author: Daniel Jeli?ski Date: 2025-12-02 12:13:21 +0000 URL: https://git.openjdk.org/loom/commit/5cba2c8461005f2f7bcafdce622126a113f4bbd4 8368093: Remove Stream::createPseudoHeaders Reviewed-by: dfuchs, jpai, vyazici ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java Changeset: 07856fce Branch: fibers Author: Jaikiran Pai Date: 2025-12-02 12:17:40 +0000 URL: https://git.openjdk.org/loom/commit/07856fce34ba14a83fc1ac0faffe3b5ba883e0b5 8372787: ModuleReader should throw IOException consistently when using --patch-module and ModuleReader is closed Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java + test/jdk/java/lang/module/ModuleReader/patched/PatchedModuleReaderTest.java = test/jdk/java/lang/module/ModuleReader/patched/java.base/java/lang/PatchedFoo.java Changeset: d3083ac0 Branch: fibers Author: Yasumasa Suenaga Date: 2025-12-02 12:19:48 +0000 URL: https://git.openjdk.org/loom/commit/d3083ac05453c9dd303038f90ddab50d52124e51 8371194: serviceability/sa/TestJhsdbJstackMixedWithXComp.java failing Co-authored-by: Patricio Chilano Mateo Reviewed-by: cjplummer, pchilanomate ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/cdbg/CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/aarch64/LinuxAARCH64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/ppc64/LinuxPPC64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/riscv64/LinuxRISCV64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/aarch64/AARCH64Frame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixedWithXComp.java Changeset: 8311aa18 Branch: fibers Author: Alan Bateman Date: 2025-12-02 12:37:34 +0000 URL: https://git.openjdk.org/loom/commit/8311aa185ed0762e7251fcb96a518de08a2d5b67 Merge branch 'master' into fibers ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/ProblemList.txt Changeset: 5caf98db Branch: fibers Author: Alan Bateman Date: 2025-12-02 12:38:19 +0000 URL: https://git.openjdk.org/loom/commit/5caf98db7d3ddbe091ce24759352c4fbde2609d2 Replace VTS.newThread with unstarted overload ! loom-docs/CustomSchedulers.md ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/ThreadBuilders.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/sun/nio/ch/Poller.java ! test/jdk/java/foreign/TestRestricted.java ! test/jdk/java/lang/Thread/virtual/CustomScheduler.java ! test/jdk/java/nio/channels/vthread/BlockingChannelOps.java ! test/lib/jdk/test/lib/thread/VThreadScheduler.java Changeset: a43e3ab3 Branch: fibers Author: Alan Bateman Date: 2025-12-02 12:38:30 +0000 URL: https://git.openjdk.org/loom/commit/a43e3ab3097fffdc3839c97f2f21ab1773d8a4cd Merge loom into fibers From duke at openjdk.org Tue Dec 2 14:12:36 2025 From: duke at openjdk.org (duke) Date: Tue, 2 Dec 2025 14:12:36 GMT Subject: git: openjdk/loom: master: 32 new changesets Message-ID: Changeset: 282f3394 Branch: master Author: Lance Andersen Date: 2025-11-30 12:53:00 +0000 URL: https://git.openjdk.org/loom/commit/282f339406d67d189e06c0bf8c7ca8d8cf5774e0 8369432: Add Support for JDBC 4.5 MR Reviewed-by: alanb, rriggs ! src/java.sql/share/classes/java/sql/Array.java ! src/java.sql/share/classes/java/sql/Blob.java ! src/java.sql/share/classes/java/sql/Clob.java ! src/java.sql/share/classes/java/sql/Connection.java ! src/java.sql/share/classes/java/sql/DriverPropertyInfo.java ! src/java.sql/share/classes/java/sql/JDBCType.java ! src/java.sql/share/classes/java/sql/NClob.java ! src/java.sql/share/classes/java/sql/SQLPermission.java + src/java.sql/share/classes/java/sql/SQLUtils.java ! src/java.sql/share/classes/java/sql/SQLXML.java ! src/java.sql/share/classes/java/sql/Statement.java ! src/java.sql/share/classes/java/sql/Timestamp.java ! src/java.sql/share/classes/java/sql/Types.java ! src/java.sql/share/classes/java/sql/package-info.java ! test/jdk/java/sql/testng/test/sql/CallableStatementTests.java + test/jdk/java/sql/testng/test/sql/ConnectionTests.java ! test/jdk/java/sql/testng/test/sql/PreparedStatementTests.java ! test/jdk/java/sql/testng/test/sql/StatementTests.java ! test/jdk/java/sql/testng/test/sql/TimestampTests.java ! test/jdk/java/sql/testng/util/BaseTest.java ! test/jdk/java/sql/testng/util/StubCallableStatement.java ! test/jdk/java/sql/testng/util/StubConnection.java + test/jdk/java/sql/testng/util/StubDatabaseMetaData.java ! test/jdk/java/sql/testng/util/StubPreparedStatement.java ! test/jdk/java/sql/testng/util/StubStatement.java ! test/jdk/javax/sql/testng/test/rowset/serial/SQLInputImplTests.java ! test/jdk/javax/sql/testng/test/rowset/serial/SQLOutputImplTests.java Changeset: 3fd551f9 Branch: master Author: SendaoYan Date: 2025-12-01 02:29:53 +0000 URL: https://git.openjdk.org/loom/commit/3fd551f9926601b05a13a22b556d55425a37ee4d 8371769: TestMemoryInvisibleParent.java fails with java.nio.file.AccessDeniedException Reviewed-by: sgehwolf, shade ! test/hotspot/jtreg/containers/docker/TestMemoryInvisibleParent.java Changeset: c7a489db Branch: master Author: Jayathirth D V Date: 2025-12-01 05:40:51 +0000 URL: https://git.openjdk.org/loom/commit/c7a489db9e4a7d696623fc2155a5504d9d2adb0d 8372534: Update Libpng to 1.6.51 Reviewed-by: serb, azvegint, prr ! make/modules/java.desktop/lib/ClientLibraries.gmk ! src/java.desktop/share/legal/libpng.md ! src/java.desktop/share/native/libsplashscreen/libpng/CHANGES ! src/java.desktop/share/native/libsplashscreen/libpng/README ! src/java.desktop/share/native/libsplashscreen/libpng/png.c ! src/java.desktop/share/native/libsplashscreen/libpng/png.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngconf.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngdebug.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngerror.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngget.c ! src/java.desktop/share/native/libsplashscreen/libpng/pnginfo.h ! src/java.desktop/share/native/libsplashscreen/libpng/pnglibconf.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngmem.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngpread.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngread.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrio.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrtran.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrutil.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngset.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngstruct.h Changeset: e0311ecb Branch: master Author: Jatin Bhateja Date: 2025-12-01 06:04:23 +0000 URL: https://git.openjdk.org/loom/commit/e0311ecb85b78b6d97387c17102a8b6759eefc36 8351016: RA support for EVEX to REX/REX2 demotion to optimize NDD instructions Reviewed-by: sviswanathan, dlunden, vlivanov, qamai ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/node.hpp Changeset: 81b26ba8 Branch: master Author: Emanuel Peter Date: 2025-12-01 06:42:53 +0000 URL: https://git.openjdk.org/loom/commit/81b26ba8131b74a7bb4309bd3608dda2ba99a6ca 8372685: C2 SuperWord: wrong requires in test after JDK-8371146 Reviewed-by: chagedorn, mbaesken ! test/hotspot/jtreg/compiler/loopopts/superword/TestAliasingCheckPreLimitNotAvailable.java Changeset: ca96366c Branch: master Author: Axel Boldt-Christmas Date: 2025-12-01 06:51:03 +0000 URL: https://git.openjdk.org/loom/commit/ca96366c03b89fa90a015e6c2d5912a9f2554c92 8372528: Unify atomic exchange and compare exchange Reviewed-by: kbarrett, stefank ! src/hotspot/cpu/ppc/atomicAccess_ppc.hpp ! src/hotspot/os_cpu/bsd_aarch64/atomicAccess_bsd_aarch64.hpp ! src/hotspot/os_cpu/bsd_x86/atomicAccess_bsd_x86.hpp ! src/hotspot/os_cpu/bsd_zero/atomicAccess_bsd_zero.hpp ! src/hotspot/os_cpu/linux_aarch64/atomicAccess_linux_aarch64.hpp ! src/hotspot/os_cpu/linux_arm/atomicAccess_linux_arm.hpp ! src/hotspot/os_cpu/linux_riscv/atomicAccess_linux_riscv.hpp ! src/hotspot/os_cpu/linux_s390/atomicAccess_linux_s390.hpp ! src/hotspot/os_cpu/linux_x86/atomicAccess_linux_x86.hpp ! src/hotspot/os_cpu/linux_zero/atomicAccess_linux_zero.hpp ! src/hotspot/os_cpu/windows_aarch64/atomicAccess_windows_aarch64.hpp ! src/hotspot/os_cpu/windows_x86/atomicAccess_windows_x86.hpp ! src/hotspot/share/runtime/atomic.hpp ! src/hotspot/share/runtime/atomicAccess.hpp ! test/hotspot/gtest/runtime/test_atomic.cpp ! test/hotspot/gtest/runtime/test_atomicAccess.cpp Changeset: 293fec7e Branch: master Author: Christian Hagedorn Date: 2025-12-01 07:06:46 +0000 URL: https://git.openjdk.org/loom/commit/293fec7e28ed06f0942e94b1c21affdf6aabe9ca 8372461: [IR Framework] Multiple test failures after JDK-8371789 Reviewed-by: epeter, syan, dfenacci ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java Changeset: a6bc9b3b Branch: master Author: Matthias Baesken Date: 2025-12-01 07:44:54 +0000 URL: https://git.openjdk.org/loom/commit/a6bc9b3ba50c5d669213f082a32e30c9ab2f923d 8372588: [asan] serviceability/sa/TestJmapCore.java and TestJmapCoreMetaspace.java fail after recent improvements Reviewed-by: stuefe, azeller, lucy ! test/hotspot/jtreg/serviceability/sa/TestJmapCore.java ! test/hotspot/jtreg/serviceability/sa/TestJmapCoreMetaspace.java Changeset: 969eb1ce Branch: master Author: Mikhail Yankelevich Date: 2025-12-01 07:51:39 +0000 URL: https://git.openjdk.org/loom/commit/969eb1ce2419324582ee8d8108031323f82e125e 8365861: test/jdk/sun/security/pkcs11/Provider/ tests skipped without SkippedException Reviewed-by: rhalade ! test/jdk/sun/security/pkcs11/Provider/Absolute.java ! test/jdk/sun/security/pkcs11/Provider/ConfigShortPath.java ! test/jdk/sun/security/pkcs11/Provider/LoginISE.java Changeset: ef5e744a Branch: master Author: Thomas Schatzl Date: 2025-12-01 08:05:55 +0000 URL: https://git.openjdk.org/loom/commit/ef5e744a8136c3d983bdf8721a84fd1488b3c7a8 8372684: G1: Missing load_acquire() in G1 allocation path Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp Changeset: 3481252c Branch: master Author: Aleksey Shipilev Date: 2025-12-01 08:41:18 +0000 URL: https://git.openjdk.org/loom/commit/3481252ced7c06c44154ceccc56b12cfd9a490c3 8372188: AArch64: Generate atomic match rules from M4 stencils Reviewed-by: aph, haosun ! make/hotspot/gensrc/GensrcAdlc.gmk ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/aarch64_atomic.ad + src/hotspot/cpu/aarch64/aarch64_atomic_ad.m4 - src/hotspot/cpu/aarch64/cas.m4 Changeset: 5bd7db03 Branch: master Author: Matthias Baesken Date: 2025-12-01 09:03:30 +0000 URL: https://git.openjdk.org/loom/commit/5bd7db034aaf8aa6780945e02a7f9a35e16b036e 8372730: Problem list compiler/arguments/TestCodeEntryAlignment.java on x64 Reviewed-by: lucy, goetz ! test/hotspot/jtreg/ProblemList.txt Changeset: 160148cc Branch: master Author: Thomas Schatzl Date: 2025-12-01 11:28:22 +0000 URL: https://git.openjdk.org/loom/commit/160148cc7b0c2774e7aa5fece653e41c9fa7c970 8372610: G1: JDK-8297692 broke code roots scan measurements Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: f5eecc45 Branch: master Author: Matthew Donovan Date: 2025-12-01 12:18:19 +0000 URL: https://git.openjdk.org/loom/commit/f5eecc454eb78fc1a3714dfe3cb94113238dd3ac 8353738: Update TLS unit tests to not use certificates with MD5 signatures Reviewed-by: djelinski, abarashev ! test/jdk/javax/management/security/keystoreAgent ! test/jdk/javax/management/security/keystoreClient ! test/jdk/javax/management/security/truststoreAgent ! test/jdk/javax/management/security/truststoreClient ! test/jdk/javax/net/ssl/HttpsURLConnection/CriticalSubjectAltName.java - test/jdk/javax/net/ssl/HttpsURLConnection/crisubn.jks - test/jdk/javax/net/ssl/HttpsURLConnection/trusted.jks ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java - test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/Identities.java + test/jdk/sun/net/www/protocol/https/HttpsURLConnection/IdentitiesBase.java ! test/lib/jdk/test/lib/security/CertificateBuilder.java Changeset: 785ca67e Branch: master Author: Daniel Fuchs Date: 2025-12-01 12:30:02 +0000 URL: https://git.openjdk.org/loom/commit/785ca67e46c762ed0ffaeda1e26e5f90276181e8 8372409: java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java timed out during warmup Reviewed-by: djelinski ! src/java.net.http/share/classes/jdk/internal/net/http/Http3Connection.java ! test/jdk/java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java Changeset: b98114f4 Branch: master Author: Coleen Phillimore Date: 2025-12-01 13:28:21 +0000 URL: https://git.openjdk.org/loom/commit/b98114f4a20bcf3390114b56d05c38b23268979a 8365526: Crash with null Symbol passed to SystemDictionary::resolve_or_null Reviewed-by: dholmes, never, jsjolen ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/resolutionErrors.hpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: d328e4e7 Branch: master Author: Matthias Baesken Date: 2025-12-01 13:37:32 +0000 URL: https://git.openjdk.org/loom/commit/d328e4e7e2f58fbfeb661f3502f95016159d7230 8372272: Hotspot shared lib loading - add load attempts to Events::log Reviewed-by: lucy, azeller ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: a1cc8f4e Branch: master Author: William Kemper Date: 2025-12-01 15:37:39 +0000 URL: https://git.openjdk.org/loom/commit/a1cc8f4e4107e361f64cf51ff73985e471cdde03 8372444: Genshen: Optimize evacuation function Reviewed-by: ysr, xpeng ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp Changeset: 002fff39 Branch: master Author: Brian Burkhalter Date: 2025-12-01 16:57:59 +0000 URL: https://git.openjdk.org/loom/commit/002fff39aace870b27a9068de1662fcb0b3033a6 8220816: (fs) Files.createDirectory should make it more obvious that it fails when the directory already exists Reviewed-by: alanb, jpai ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 6cb1c8f9 Branch: master Author: Jiangli Zhou Date: 2025-12-01 17:29:15 +0000 URL: https://git.openjdk.org/loom/commit/6cb1c8f9cfcb797af788ca8fb490f388cc68f525 8371864: GaloisCounterMode.implGCMCrypt0 AVX512/AVX2 intrinsics stubs cause AES-GCM encryption failure for certain payload sizes Co-authored-by: Thomas Holenstein Co-authored-by: Lukas Zobernig Reviewed-by: shade, sviswanathan ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp + test/jdk/com/sun/crypto/provider/Cipher/AES/TestGCMSplitBound.java Changeset: 45c0600d Branch: master Author: Justin Lu Date: 2025-12-01 18:17:00 +0000 URL: https://git.openjdk.org/loom/commit/45c0600d3abfa4bcd0338840523c0df69283afe2 8372609: Bug4944439 does not enforce locale correctly Reviewed-by: liach, jpai ! test/jdk/java/text/Format/NumberFormat/Bug4944439.java Changeset: 79e99bb0 Branch: master Author: Xiaolong Peng Date: 2025-12-01 18:30:38 +0000 URL: https://git.openjdk.org/loom/commit/79e99bb0778608733a677821a0bb35041e9fb939 8372566: Genshen: crash at ShenandoahScanRemembered::process_clusters after JDK-8371667 Reviewed-by: wkemper, kdnilsen, ysr ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 84ffe872 Branch: master Author: Aleksey Shipilev Date: 2025-12-02 08:38:22 +0000 URL: https://git.openjdk.org/loom/commit/84ffe87260753973835ea6b88443e28bcaf0122f 8342175: MemoryEaterMT fails intermittently with ExceptionInInitializerError Reviewed-by: lmesnik, aboldtch ! test/hotspot/jtreg/vmTestbase/nsk/share/gc/GC.java Changeset: 7278d2e8 Branch: master Author: Per Minborg Date: 2025-12-02 09:39:29 +0000 URL: https://git.openjdk.org/loom/commit/7278d2e8e5835f090672f7625d391a1b4c1a6626 8372258: Improve TypeVariable support Reviewed-by: liach ! src/java.base/share/classes/java/lang/reflect/TypeVariable.java ! src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java + test/jdk/java/lang/reflect/Generics/ProtectInnerStateOfTypeVariableImplTest.java Changeset: f636fcad Branch: master Author: Axel Boldt-Christmas Date: 2025-12-02 10:58:44 +0000 URL: https://git.openjdk.org/loom/commit/f636fcadd72eba7aefbf3f89777c14b3e3f19fb8 8372645: ParallelGC: Remove race between allocation and expansion before is_init_completed Reviewed-by: ayang, sjohanss, eosterlund ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp Changeset: e27abe8a Branch: master Author: Axel Boldt-Christmas Date: 2025-12-02 10:59:04 +0000 URL: https://git.openjdk.org/loom/commit/e27abe8a979880f308c69ea53319565dcd2142b6 8372540: SerialGC: Remove race between allocation and expansion before is_init_completed Reviewed-by: ayang, sjohanss, eosterlund ! src/hotspot/share/gc/serial/serialHeap.cpp Changeset: 3f046f6d Branch: master Author: Joel Sikstr?m Date: 2025-12-02 11:56:22 +0000 URL: https://git.openjdk.org/loom/commit/3f046f6dec72392d0693655c0f0ef9189529ce45 8372747: G1: Conservative heap alignment does not account for card table constraint Reviewed-by: mdoerr, stefank, tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1Arguments.cpp Changeset: fd7283be Branch: master Author: Doug Lea
Date: 2025-12-02 12:05:31 +0000 URL: https://git.openjdk.org/loom/commit/fd7283be47489d3297aac6ecf6658ee9500b2891 8360046: Scalability issue when submitting virtual threads with almost empty tasks Reviewed-by: vklang ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! test/jdk/java/util/concurrent/forkjoin/Starvation.java Changeset: 13e062e7 Branch: master Author: Daniel Jeli?ski Date: 2025-12-02 12:13:03 +0000 URL: https://git.openjdk.org/loom/commit/13e062e7a36cf9880416a4e867de13778c6bed2b 8366578: Remove the field tagSize in various QuicPacketEncoder.OutgoingQuicPacket subclasses Reviewed-by: jpai, dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/quic/packets/QuicPacketEncoder.java Changeset: 5cba2c84 Branch: master Author: Daniel Jeli?ski Date: 2025-12-02 12:13:21 +0000 URL: https://git.openjdk.org/loom/commit/5cba2c8461005f2f7bcafdce622126a113f4bbd4 8368093: Remove Stream::createPseudoHeaders Reviewed-by: dfuchs, jpai, vyazici ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java Changeset: 07856fce Branch: master Author: Jaikiran Pai Date: 2025-12-02 12:17:40 +0000 URL: https://git.openjdk.org/loom/commit/07856fce34ba14a83fc1ac0faffe3b5ba883e0b5 8372787: ModuleReader should throw IOException consistently when using --patch-module and ModuleReader is closed Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java + test/jdk/java/lang/module/ModuleReader/patched/PatchedModuleReaderTest.java = test/jdk/java/lang/module/ModuleReader/patched/java.base/java/lang/PatchedFoo.java Changeset: d3083ac0 Branch: master Author: Yasumasa Suenaga Date: 2025-12-02 12:19:48 +0000 URL: https://git.openjdk.org/loom/commit/d3083ac05453c9dd303038f90ddab50d52124e51 8371194: serviceability/sa/TestJhsdbJstackMixedWithXComp.java failing Co-authored-by: Patricio Chilano Mateo Reviewed-by: cjplummer, pchilanomate ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/cdbg/CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/aarch64/LinuxAARCH64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/ppc64/LinuxPPC64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/riscv64/LinuxRISCV64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/aarch64/AARCH64Frame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixedWithXComp.java From duke at openjdk.org Wed Dec 3 16:24:33 2025 From: duke at openjdk.org (duke) Date: Wed, 3 Dec 2025 16:24:33 GMT Subject: git: openjdk/loom: fibers: 44 new changesets Message-ID: <1603e47f-bd0f-48a0-b997-1e86b1c0ce01@openjdk.org> Changeset: 6abf7b6f Branch: fibers Author: Joel Sikstr?m Date: 2025-12-02 12:38:16 +0000 URL: https://git.openjdk.org/loom/commit/6abf7b6f226adb580718a314dc218d87289c80ac 8371986: Remove the default value of InitialRAMPercentage Reviewed-by: shade, aboldtch ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/java.base/share/man/java.md Changeset: eecba58c Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-02 13:05:46 +0000 URL: https://git.openjdk.org/loom/commit/eecba58c6817dbac129c545604d6286dfdcf951f 8371587: Final mapping lost in ProcSmapsParser::parse_next Reviewed-by: jsjolen, fandreuzzi ! src/hotspot/os/linux/procMapsParser.cpp ! src/hotspot/os/linux/procMapsParser.hpp + test/hotspot/gtest/runtime/test_procMapsParser_linux.cpp Changeset: 6c01d3b0 Branch: fibers Author: Emanuel Peter Date: 2025-12-02 13:10:37 +0000 URL: https://git.openjdk.org/loom/commit/6c01d3b08862447983b96daaf34a4c62daf54101 8372451: C2 SuperWord: "endless loop" assert. Need to implement proper worklist mechanism Reviewed-by: mhaessig, chagedorn ! src/hotspot/share/opto/vtransform.cpp ! src/hotspot/share/opto/vtransform.hpp + test/hotspot/jtreg/compiler/loopopts/superword/TestLongReductionChain.java Changeset: c97d53a9 Branch: fibers Author: Christian Stein Date: 2025-12-02 13:32:22 +0000 URL: https://git.openjdk.org/loom/commit/c97d53a9529d9148aacd85a3b31d694f04df0758 8371470: Java Launcher does not fail when running compact java-file with private no-arg constructor Reviewed-by: jpai ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/SourceLauncher.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher.properties ! test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: 6f2169ff Branch: fibers Author: Kim Barrett Date: 2025-12-02 13:55:45 +0000 URL: https://git.openjdk.org/loom/commit/6f2169ff6996e0629ce80455959a21947fd5de2c 8372755: Remove local suppression of VS C4146 warnings Reviewed-by: ayang ! src/hotspot/os/windows/sharedRuntimeRem.cpp ! src/hotspot/share/runtime/atomicAccess.hpp Changeset: a62296d8 Branch: fibers Author: Roland Westrelin Date: 2025-12-02 14:00:21 +0000 URL: https://git.openjdk.org/loom/commit/a62296d8a0858d63a930e91168254a9927f06783 8371464: C2: assert(no_dead_loop) failed: dead loop detected Reviewed-by: chagedorn, dfenacci ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/c2/TestDeadLoopAtMergeMem.java Changeset: ca4ae806 Branch: fibers Author: Quan Anh Mai Date: 2025-12-02 15:44:19 +0000 URL: https://git.openjdk.org/loom/commit/ca4ae8063edddda36fafafd06b9b1a88ffbf9d2e 8371964: C2 compilation asserts with "Unexpected load/store size" Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/vectornode.cpp ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjoint.java Changeset: 8d5a37b0 Branch: fibers Author: Amit Kumar Date: 2025-12-02 16:09:10 +0000 URL: https://git.openjdk.org/loom/commit/8d5a37b060dd0ecf31f71dfe82ca4a565bc7f6d9 8371188: [s390x] Un-ProblemList TestUnreachableInnerLoop.java Reviewed-by: aph, phubner ! test/hotspot/jtreg/ProblemList.txt Changeset: 37d8e05e Branch: fibers Author: Hannes Walln?fer Date: 2025-12-02 16:22:47 +0000 URL: https://git.openjdk.org/loom/commit/37d8e05eccc959b5b5e04b3da848f7de9220b00c 8372708: Javadoc ignores "-locale" and uses default locale for all messages and texts Reviewed-by: liach + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_en.properties + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_en.properties + test/langtools/jdk/javadoc/tool/testLocaleOption/TestSupportedLocales.java Changeset: 153c567a Branch: fibers Author: Leonid Mesnik Date: 2025-12-02 18:06:43 +0000 URL: https://git.openjdk.org/loom/commit/153c567a4d3a537277a8c599142511aa4f4f3ae3 8370905: Update vm.defmeth tests to use virtual threads Reviewed-by: vlivanov, coleenp, pchilanomate ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StressTest.java Changeset: ac0e6af8 Branch: fibers Author: Phil Race Date: 2025-12-02 18:16:49 +0000 URL: https://git.openjdk.org/loom/commit/ac0e6af8f90ba77375b2841a5c8aa05743884a1e 6185110: Undefined behaviour of SampleModel for width, height < 0 Reviewed-by: psadhukhan ! src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java ! src/java.desktop/share/classes/java/awt/image/MultiPixelPackedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/SampleModel.java ! src/java.desktop/share/classes/java/awt/image/SinglePixelPackedSampleModel.java + test/jdk/java/awt/image/SampleModelGetSamplesAndPixelsTest.java Changeset: 5627ff2d Branch: fibers Author: Dean Long Date: 2025-12-02 18:18:56 +0000 URL: https://git.openjdk.org/loom/commit/5627ff2d9165ee1f7354c1ff1626f4949ef7fa3f 8370766: JVM crashes when running compiler/exceptions/TestAccessErrorInCatch.java fails with -XX:+VerifyStack Co-authored-by: Manuel H?ssig Reviewed-by: mhaessig, chagedorn ! src/hotspot/share/opto/doCall.cpp ! test/hotspot/jtreg/compiler/exceptions/TestAccessErrorInCatch.java Changeset: 618732ff Branch: fibers Author: Martin Doerr Date: 2025-12-02 19:36:43 +0000 URL: https://git.openjdk.org/loom/commit/618732ffc04ef393c9b8a3265c12ba66f31784d9 8371820: Further AES performance improvements for key schedule generation Reviewed-by: rrich, valeriep ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/java.base/share/classes/com/sun/crypto/provider/AES_Crypt.java Changeset: b97ed667 Branch: fibers Author: Xueming Shen Date: 2025-12-02 19:47:18 +0000 URL: https://git.openjdk.org/loom/commit/b97ed667db0bd527461b2b385af3001f53d71c19 8365675: Add String Unicode Case-Folding Support Reviewed-by: rriggs, naoto, ihse ! make/ToolsJdk.gmk - make/jdk/src/classes/build/tools/generatecharacter/CaseFolding.java + make/jdk/src/classes/build/tools/generatecharacter/GenerateCaseFolding.java ! make/modules/java.base/gensrc/GensrcCharacterData.gmk ! make/modules/java.base/gensrc/GensrcRegex.gmk ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java ! src/java.base/share/classes/java/util/regex/Pattern.java + src/java.base/share/classes/jdk/internal/lang/CaseFolding.java.template - src/java.base/share/classes/jdk/internal/util/regex/CaseFolding.java.template + test/jdk/java/lang/String/UnicodeCaseFoldingTest.java + test/micro/org/openjdk/bench/java/lang/StringCompareToFoldCase.java Changeset: 5a60e22b Branch: fibers Author: Sergey Bylokhov Date: 2025-12-02 20:09:09 +0000 URL: https://git.openjdk.org/loom/commit/5a60e22bc415b3335cbb6a63873b1b44ff2bf9d0 8369618: Remove outdated reference to JDK 1.1 in the spec of BufferedImage.TYPE_INT_ARGB Reviewed-by: azvegint, kizune, prr ! src/java.desktop/share/classes/java/awt/image/BufferedImage.java Changeset: 0bead706 Branch: fibers Author: Joel Sikstr?m Date: 2025-12-02 20:49:28 +0000 URL: https://git.openjdk.org/loom/commit/0bead70651ea3bf8dccf9942ef8d1bf3fb78c2ea 8372961: [BACKOUT] Remove the default value of InitialRAMPercentage Reviewed-by: stefank ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/java.base/share/man/java.md Changeset: a2ad5ca9 Branch: fibers Author: Nizar Benalla Date: 2025-12-02 20:51:52 +0000 URL: https://git.openjdk.org/loom/commit/a2ad5ca93ef82797ecf3141d00216ef639a9e92d 8372939: Update JDK 26 spec URLs Reviewed-by: liach ! src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java Changeset: 0fe1ffdc Branch: fibers Author: Nizar Benalla Date: 2025-12-02 20:52:23 +0000 URL: https://git.openjdk.org/loom/commit/0fe1ffdc485e742eb3937f9fb26d14d6a11a76c4 8372940: Update symbol data script references Reviewed-by: liach, darcy ! bin/generate-symbol-data.sh ! doc/starting-next-release.md ! src/jdk.compiler/share/data/symbols/README Changeset: 8a28a764 Branch: fibers Author: Nizar Benalla Date: 2025-12-02 20:52:39 +0000 URL: https://git.openjdk.org/loom/commit/8a28a76451b2bbde49c1c051cb66c784f9e3cdd2 8372937: Abbreviate list of supported releases Reviewed-by: liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! test/langtools/tools/javac/options/HelpOutputColumnWidthTest.java Changeset: 37cd8d6c Branch: fibers Author: Sergey Bylokhov Date: 2025-12-02 20:59:49 +0000 URL: https://git.openjdk.org/loom/commit/37cd8d6ca0bc4638d81e9a3c1e0bc785861ffbef 8371501: Change IAE to NPE in java.awt.image.Kernel when data is null Reviewed-by: prr, azvegint, aivanov ! src/java.desktop/share/classes/java/awt/image/Kernel.java ! test/jdk/java/awt/image/ConvolveOp/KernelInitialisationTest.java Changeset: 8f0cb57e Branch: fibers Author: Henry Jen Date: 2025-12-02 22:11:38 +0000 URL: https://git.openjdk.org/loom/commit/8f0cb57e439df87dee4c0ba7bbff0b981ebc3541 8347831: Re-examine version check when cross linking Co-authored-by: Magnus Ihse Bursie Reviewed-by: erikj, alanb ! make/modules/java.base/Gensrc.gmk ! make/modules/java.base/Java.gmk + src/java.base/share/classes/jdk/internal/misc/resources/release.txt.template ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties Changeset: b0a758f2 Branch: fibers Author: Leonid Mesnik Date: 2025-12-02 22:27:54 +0000 URL: https://git.openjdk.org/loom/commit/b0a758f2180a8305c05e9640192818bbb31d7922 8372552: unhandled oop in the JvmtiEventController::set_user_enabled Reviewed-by: cjplummer, amenkov, sspitsyn ! src/hotspot/share/prims/jvmtiEventController.cpp Changeset: f5e4cd7f Branch: fibers Author: Leonid Mesnik Date: 2025-12-02 23:48:58 +0000 URL: https://git.openjdk.org/loom/commit/f5e4cd7f0d12fd21399b192b32a5c9abfe8a3564 8372039: post_sampled_object_alloc is called while lock is handled Reviewed-by: sspitsyn, eosterlund, amenkov ! src/hotspot/share/cds/aotStreamedHeapLoader.cpp ! src/hotspot/share/cds/aotThread.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp + test/hotspot/jtreg/serviceability/jvmti/events/SampledObjectAlloc/SamplingDuringInit/SamplingDuringInit.java + test/hotspot/jtreg/serviceability/jvmti/events/SampledObjectAlloc/SamplingDuringInit/libSamplingDuringInit.cpp Changeset: 1f206e5e Branch: fibers Author: Joe Darcy Date: 2025-12-03 00:27:42 +0000 URL: https://git.openjdk.org/loom/commit/1f206e5e1268cd0a7f477ed2d2f49103b8a99db6 8372850: Update comment in SourceVersion for language evolution history for changes in 26 Reviewed-by: liach ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java Changeset: 530493fe Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-03 02:46:02 +0000 URL: https://git.openjdk.org/loom/commit/530493fed4066b1efcf3ec22253b110495767eca 8364146: JList getScrollableUnitIncrement return 0 Reviewed-by: prr, tr ! src/java.desktop/share/classes/javax/swing/JList.java + test/jdk/javax/swing/JList/JListTest.java Changeset: 8f3d0ade Branch: fibers Author: Matthias Baesken Date: 2025-12-03 08:06:15 +0000 URL: https://git.openjdk.org/loom/commit/8f3d0ade11ddb45bb1719b6818e1b51df237a59b 8371893: [macOS] use dead_strip linker option to reduce binary size Reviewed-by: erikj, lucy, serb ! make/autoconf/flags-ldflags.m4 Changeset: 2139c8c6 Branch: fibers Author: Thomas Schatzl Date: 2025-12-03 08:08:14 +0000 URL: https://git.openjdk.org/loom/commit/2139c8c6e6e5c5f2c64ed3ad9ad8bd148a86efae 8372571: ResourceHashTable for some AOT data structures miss placement operator when allocating Reviewed-by: aboldtch, jsjolen, kvn ! src/hotspot/share/cds/aotMappedHeapWriter.cpp Changeset: a1e86941 Branch: fibers Author: Dean Long Date: 2025-12-03 09:01:40 +0000 URL: https://git.openjdk.org/loom/commit/a1e8694109ad87690e18fc03d17b6b9519092d81 8371306: JDK-8367002 behavior might not match existing HotSpot behavior. Reviewed-by: thartmann, dholmes ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/compiler/exceptions/IllegalAccessInCatch.jasm ! test/hotspot/jtreg/compiler/exceptions/TestAccessErrorInCatch.java Changeset: b3e063c2 Branch: fibers Author: root Committer: Amit Kumar Date: 2025-12-03 09:04:11 +0000 URL: https://git.openjdk.org/loom/commit/b3e063c2c34ac12ae2a566617560ecc52253262d 8372710: Update ProcessBuilder/Basic regex Reviewed-by: shade, amitkumar ! test/jdk/java/lang/ProcessBuilder/Basic.java Changeset: e65fd45d Branch: fibers Author: Jaikiran Pai Date: 2025-12-03 09:17:08 +0000 URL: https://git.openjdk.org/loom/commit/e65fd45dc7c9383a77fbd5171b541c2a003d30d2 8366101: Replace the use of ThreadTracker with ScopedValue in java.util.jar.JarFile Reviewed-by: vyazici, alanb ! src/java.base/share/classes/java/util/jar/JarFile.java Changeset: a25e6f64 Branch: fibers Author: Ramkumar Sunderbabu Committer: Stefan Karlsson Date: 2025-12-03 09:22:13 +0000 URL: https://git.openjdk.org/loom/commit/a25e6f6462a5d77a2cb0dcec4f74e5e25d8565c4 8319158: Parallel: Make TestObjectTenuringFlags use createTestJavaProcessBuilder Reviewed-by: stefank, aboldtch ! test/hotspot/jtreg/gc/arguments/TestObjectTenuringFlags.java Changeset: 177f3404 Branch: fibers Author: Aleksey Shipilev Date: 2025-12-03 09:24:33 +0000 URL: https://git.openjdk.org/loom/commit/177f3404dfb146be724d952f8c88b4d070e36b52 8372733: GHA: Bump to Ubuntu 24.04 Reviewed-by: erikj, ayang ! .github/workflows/build-alpine-linux.yml ! .github/workflows/build-cross-compile.yml ! .github/workflows/build-linux.yml ! .github/workflows/main.yml Changeset: 3e04e114 Branch: fibers Author: Erik ?sterlund Date: 2025-12-03 09:28:30 +0000 URL: https://git.openjdk.org/loom/commit/3e04e11482605e7734ef75bc477fe31107988f42 8372738: ZGC: C2 allocation reloc promotion deopt race Reviewed-by: aboldtch, stefank ! src/hotspot/share/gc/z/zBarrierSet.cpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zPage.cpp ! src/hotspot/share/gc/z/zPage.hpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zRelocate.hpp ! src/hotspot/share/gc/z/zRelocationSet.cpp ! src/hotspot/share/gc/z/zRelocationSet.hpp Changeset: 858d2e43 Branch: fibers Author: Jonas Norlinder Committer: Kevin Walls Date: 2025-12-03 09:35:59 +0000 URL: https://git.openjdk.org/loom/commit/858d2e434dd4eb8aa94784bb1cd115554eec5dff 8372584: [Linux]: Replace reading proc to get thread user CPU time with clock_gettime Reviewed-by: dholmes, kevinw, redestad ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp + test/micro/org/openjdk/bench/vm/runtime/ThreadMXBeanBench.java Changeset: 94977063 Branch: fibers Author: Casper Norrbin Date: 2025-12-03 10:03:50 +0000 URL: https://git.openjdk.org/loom/commit/94977063baafc2e293193d284db408a069f12aca 8358706: Integer overflow with -XX:MinOopMapAllocation=-1 Reviewed-by: phubner, coleenp ! src/hotspot/share/runtime/globals.hpp Changeset: f1a4d1bf Branch: fibers Author: Casper Norrbin Date: 2025-12-03 10:06:01 +0000 URL: https://git.openjdk.org/loom/commit/f1a4d1bfde652cf758117b93bbd02ae8248e805e 8372615: Many container tests fail when running rootless on cgroup v1 Reviewed-by: sgehwolf, dholmes ! test/hotspot/jtreg/containers/docker/DockerBasicTest.java ! test/hotspot/jtreg/containers/docker/ShareTmpDir.java ! test/hotspot/jtreg/containers/docker/TestCPUAwareness.java ! test/hotspot/jtreg/containers/docker/TestCPUSets.java ! test/hotspot/jtreg/containers/docker/TestContainerInfo.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java ! test/hotspot/jtreg/containers/docker/TestJFRNetworkEvents.java ! test/hotspot/jtreg/containers/docker/TestJFRWithJMX.java ! test/hotspot/jtreg/containers/docker/TestJcmd.java ! test/hotspot/jtreg/containers/docker/TestJcmdWithSideCar.java ! test/hotspot/jtreg/containers/docker/TestLimitsUpdating.java ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMemoryInvisibleParent.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithSubgroups.java ! test/hotspot/jtreg/containers/docker/TestMisc.java ! test/hotspot/jtreg/containers/docker/TestPids.java ! test/jdk/jdk/internal/platform/docker/TestDockerBasic.java ! test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetricsSubgroup.java ! test/jdk/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java ! test/jdk/jdk/internal/platform/docker/TestLimitsUpdating.java ! test/jdk/jdk/internal/platform/docker/TestPidsLimit.java ! test/jdk/jdk/internal/platform/docker/TestSystemMetrics.java ! test/jdk/jdk/internal/platform/docker/TestUseContainerSupport.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 804ce0a2 Branch: fibers Author: Richard Reingruber Date: 2025-12-03 10:29:09 +0000 URL: https://git.openjdk.org/loom/commit/804ce0a2394cb3f837441976e5ef6eb4b9cab257 8370473: C2: Better Aligment of Vector Spill Slots Reviewed-by: goetz, mdoerr ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/regmask.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorSpilling.java Changeset: 170ebdc5 Branch: fibers Author: Igor Rudenko Committer: Per Minborg Date: 2025-12-03 10:37:55 +0000 URL: https://git.openjdk.org/loom/commit/170ebdc5b7b5e54cc7bec60944898d35a24d760b 8346657: Improve out of bounds exception messages for MemorySegments Reviewed-by: jvernee, liach, mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/java.base/share/classes/jdk/internal/foreign/SegmentBulkOperations.java ! src/java.base/share/classes/jdk/internal/foreign/StringSupport.java ! test/jdk/java/foreign/TestSegments.java Changeset: 3f447edf Branch: fibers Author: Aleksey Shipilev Date: 2025-12-03 10:55:12 +0000 URL: https://git.openjdk.org/loom/commit/3f447edf0e22431628ebb74212f760209ea29d37 8372862: AArch64: Fix GetAndSet-acquire costs after JDK-8372188 Reviewed-by: dlong, mhaessig ! src/hotspot/cpu/aarch64/aarch64_atomic.ad ! src/hotspot/cpu/aarch64/aarch64_atomic_ad.m4 Changeset: 125d1820 Branch: fibers Author: Galder Zamarre?o Committer: Severin Gehwolf Date: 2025-12-03 11:12:00 +0000 URL: https://git.openjdk.org/loom/commit/125d1820f1f64e465a6b83360c48715a79e3d165 8372393: Document requirement for separate metallib installation with Xcode 26.1.1 Reviewed-by: erikj ! doc/building.html ! doc/building.md Changeset: a655ea48 Branch: fibers Author: Galder Zamarre?o Committer: Christian Hagedorn Date: 2025-12-03 12:31:26 +0000 URL: https://git.openjdk.org/loom/commit/a655ea48453a321fb7cadc6ffb6111276497a929 8371792: Refactor barrier loop tests out of TestIfMinMax Reviewed-by: chagedorn, epeter, bmaillard ! test/hotspot/jtreg/compiler/c2/irTests/TestIfMinMax.java + test/hotspot/jtreg/compiler/gcbarriers/TestMinMaxLongLoopBarrier.java Changeset: abb75ba6 Branch: fibers Author: Kerem Kat Committer: Volker Simonis Date: 2025-12-03 13:01:32 +0000 URL: https://git.openjdk.org/loom/commit/abb75ba656ebe14e9e8e1d4a1765d64dfce9e661 8372587: Put jdk/jfr/jvm/TestWaste.java into the ProblemList Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: afb6a0c2 Branch: fibers Author: Alan Bateman Date: 2025-12-03 13:03:51 +0000 URL: https://git.openjdk.org/loom/commit/afb6a0c2fecdb2114715290d5d463c9dccf93c28 8372958: SocketInputStream.read throws SocketException instead of returning -1 when input shutdown Reviewed-by: djelinski, michaelm ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! test/jdk/java/net/Socket/AsyncShutdown.java ! test/jdk/java/net/vthread/BlockingSocketOps.java ! test/jdk/java/nio/channels/vthread/BlockingChannelOps.java Changeset: e70c7312 Branch: fibers Author: Alan Bateman Date: 2025-12-03 13:18:01 +0000 URL: https://git.openjdk.org/loom/commit/e70c73122985ca4bc0cfe09e799ed9bf104ec88c Merge branch 'master' into fibers ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList-Virtual.txt ! test/jdk/ProblemList.txt ! test/jdk/java/net/vthread/BlockingSocketOps.java ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList-Virtual.txt ! test/jdk/ProblemList.txt ! test/jdk/java/net/vthread/BlockingSocketOps.java From duke at openjdk.org Wed Dec 3 16:27:09 2025 From: duke at openjdk.org (duke) Date: Wed, 3 Dec 2025 16:27:09 GMT Subject: git: openjdk/loom: master: 43 new changesets Message-ID: Changeset: 6abf7b6f Branch: master Author: Joel Sikstr?m Date: 2025-12-02 12:38:16 +0000 URL: https://git.openjdk.org/loom/commit/6abf7b6f226adb580718a314dc218d87289c80ac 8371986: Remove the default value of InitialRAMPercentage Reviewed-by: shade, aboldtch ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/java.base/share/man/java.md Changeset: eecba58c Branch: master Author: Albert Mingkun Yang Date: 2025-12-02 13:05:46 +0000 URL: https://git.openjdk.org/loom/commit/eecba58c6817dbac129c545604d6286dfdcf951f 8371587: Final mapping lost in ProcSmapsParser::parse_next Reviewed-by: jsjolen, fandreuzzi ! src/hotspot/os/linux/procMapsParser.cpp ! src/hotspot/os/linux/procMapsParser.hpp + test/hotspot/gtest/runtime/test_procMapsParser_linux.cpp Changeset: 6c01d3b0 Branch: master Author: Emanuel Peter Date: 2025-12-02 13:10:37 +0000 URL: https://git.openjdk.org/loom/commit/6c01d3b08862447983b96daaf34a4c62daf54101 8372451: C2 SuperWord: "endless loop" assert. Need to implement proper worklist mechanism Reviewed-by: mhaessig, chagedorn ! src/hotspot/share/opto/vtransform.cpp ! src/hotspot/share/opto/vtransform.hpp + test/hotspot/jtreg/compiler/loopopts/superword/TestLongReductionChain.java Changeset: c97d53a9 Branch: master Author: Christian Stein Date: 2025-12-02 13:32:22 +0000 URL: https://git.openjdk.org/loom/commit/c97d53a9529d9148aacd85a3b31d694f04df0758 8371470: Java Launcher does not fail when running compact java-file with private no-arg constructor Reviewed-by: jpai ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/SourceLauncher.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher.properties ! test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: 6f2169ff Branch: master Author: Kim Barrett Date: 2025-12-02 13:55:45 +0000 URL: https://git.openjdk.org/loom/commit/6f2169ff6996e0629ce80455959a21947fd5de2c 8372755: Remove local suppression of VS C4146 warnings Reviewed-by: ayang ! src/hotspot/os/windows/sharedRuntimeRem.cpp ! src/hotspot/share/runtime/atomicAccess.hpp Changeset: a62296d8 Branch: master Author: Roland Westrelin Date: 2025-12-02 14:00:21 +0000 URL: https://git.openjdk.org/loom/commit/a62296d8a0858d63a930e91168254a9927f06783 8371464: C2: assert(no_dead_loop) failed: dead loop detected Reviewed-by: chagedorn, dfenacci ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/c2/TestDeadLoopAtMergeMem.java Changeset: ca4ae806 Branch: master Author: Quan Anh Mai Date: 2025-12-02 15:44:19 +0000 URL: https://git.openjdk.org/loom/commit/ca4ae8063edddda36fafafd06b9b1a88ffbf9d2e 8371964: C2 compilation asserts with "Unexpected load/store size" Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/vectornode.cpp ! test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjoint.java Changeset: 8d5a37b0 Branch: master Author: Amit Kumar Date: 2025-12-02 16:09:10 +0000 URL: https://git.openjdk.org/loom/commit/8d5a37b060dd0ecf31f71dfe82ca4a565bc7f6d9 8371188: [s390x] Un-ProblemList TestUnreachableInnerLoop.java Reviewed-by: aph, phubner ! test/hotspot/jtreg/ProblemList.txt Changeset: 37d8e05e Branch: master Author: Hannes Walln?fer Date: 2025-12-02 16:22:47 +0000 URL: https://git.openjdk.org/loom/commit/37d8e05eccc959b5b5e04b3da848f7de9220b00c 8372708: Javadoc ignores "-locale" and uses default locale for all messages and texts Reviewed-by: liach + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_en.properties + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_en.properties + test/langtools/jdk/javadoc/tool/testLocaleOption/TestSupportedLocales.java Changeset: 153c567a Branch: master Author: Leonid Mesnik Date: 2025-12-02 18:06:43 +0000 URL: https://git.openjdk.org/loom/commit/153c567a4d3a537277a8c599142511aa4f4f3ae3 8370905: Update vm.defmeth tests to use virtual threads Reviewed-by: vlivanov, coleenp, pchilanomate ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StressTest.java Changeset: ac0e6af8 Branch: master Author: Phil Race Date: 2025-12-02 18:16:49 +0000 URL: https://git.openjdk.org/loom/commit/ac0e6af8f90ba77375b2841a5c8aa05743884a1e 6185110: Undefined behaviour of SampleModel for width, height < 0 Reviewed-by: psadhukhan ! src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java ! src/java.desktop/share/classes/java/awt/image/MultiPixelPackedSampleModel.java ! src/java.desktop/share/classes/java/awt/image/SampleModel.java ! src/java.desktop/share/classes/java/awt/image/SinglePixelPackedSampleModel.java + test/jdk/java/awt/image/SampleModelGetSamplesAndPixelsTest.java Changeset: 5627ff2d Branch: master Author: Dean Long Date: 2025-12-02 18:18:56 +0000 URL: https://git.openjdk.org/loom/commit/5627ff2d9165ee1f7354c1ff1626f4949ef7fa3f 8370766: JVM crashes when running compiler/exceptions/TestAccessErrorInCatch.java fails with -XX:+VerifyStack Co-authored-by: Manuel H?ssig Reviewed-by: mhaessig, chagedorn ! src/hotspot/share/opto/doCall.cpp ! test/hotspot/jtreg/compiler/exceptions/TestAccessErrorInCatch.java Changeset: 618732ff Branch: master Author: Martin Doerr Date: 2025-12-02 19:36:43 +0000 URL: https://git.openjdk.org/loom/commit/618732ffc04ef393c9b8a3265c12ba66f31784d9 8371820: Further AES performance improvements for key schedule generation Reviewed-by: rrich, valeriep ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/java.base/share/classes/com/sun/crypto/provider/AES_Crypt.java Changeset: b97ed667 Branch: master Author: Xueming Shen Date: 2025-12-02 19:47:18 +0000 URL: https://git.openjdk.org/loom/commit/b97ed667db0bd527461b2b385af3001f53d71c19 8365675: Add String Unicode Case-Folding Support Reviewed-by: rriggs, naoto, ihse ! make/ToolsJdk.gmk - make/jdk/src/classes/build/tools/generatecharacter/CaseFolding.java + make/jdk/src/classes/build/tools/generatecharacter/GenerateCaseFolding.java ! make/modules/java.base/gensrc/GensrcCharacterData.gmk ! make/modules/java.base/gensrc/GensrcRegex.gmk ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java ! src/java.base/share/classes/java/util/regex/Pattern.java + src/java.base/share/classes/jdk/internal/lang/CaseFolding.java.template - src/java.base/share/classes/jdk/internal/util/regex/CaseFolding.java.template + test/jdk/java/lang/String/UnicodeCaseFoldingTest.java + test/micro/org/openjdk/bench/java/lang/StringCompareToFoldCase.java Changeset: 5a60e22b Branch: master Author: Sergey Bylokhov Date: 2025-12-02 20:09:09 +0000 URL: https://git.openjdk.org/loom/commit/5a60e22bc415b3335cbb6a63873b1b44ff2bf9d0 8369618: Remove outdated reference to JDK 1.1 in the spec of BufferedImage.TYPE_INT_ARGB Reviewed-by: azvegint, kizune, prr ! src/java.desktop/share/classes/java/awt/image/BufferedImage.java Changeset: 0bead706 Branch: master Author: Joel Sikstr?m Date: 2025-12-02 20:49:28 +0000 URL: https://git.openjdk.org/loom/commit/0bead70651ea3bf8dccf9942ef8d1bf3fb78c2ea 8372961: [BACKOUT] Remove the default value of InitialRAMPercentage Reviewed-by: stefank ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/java.base/share/man/java.md Changeset: a2ad5ca9 Branch: master Author: Nizar Benalla Date: 2025-12-02 20:51:52 +0000 URL: https://git.openjdk.org/loom/commit/a2ad5ca93ef82797ecf3141d00216ef639a9e92d 8372939: Update JDK 26 spec URLs Reviewed-by: liach ! src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java Changeset: 0fe1ffdc Branch: master Author: Nizar Benalla Date: 2025-12-02 20:52:23 +0000 URL: https://git.openjdk.org/loom/commit/0fe1ffdc485e742eb3937f9fb26d14d6a11a76c4 8372940: Update symbol data script references Reviewed-by: liach, darcy ! bin/generate-symbol-data.sh ! doc/starting-next-release.md ! src/jdk.compiler/share/data/symbols/README Changeset: 8a28a764 Branch: master Author: Nizar Benalla Date: 2025-12-02 20:52:39 +0000 URL: https://git.openjdk.org/loom/commit/8a28a76451b2bbde49c1c051cb66c784f9e3cdd2 8372937: Abbreviate list of supported releases Reviewed-by: liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! test/langtools/tools/javac/options/HelpOutputColumnWidthTest.java Changeset: 37cd8d6c Branch: master Author: Sergey Bylokhov Date: 2025-12-02 20:59:49 +0000 URL: https://git.openjdk.org/loom/commit/37cd8d6ca0bc4638d81e9a3c1e0bc785861ffbef 8371501: Change IAE to NPE in java.awt.image.Kernel when data is null Reviewed-by: prr, azvegint, aivanov ! src/java.desktop/share/classes/java/awt/image/Kernel.java ! test/jdk/java/awt/image/ConvolveOp/KernelInitialisationTest.java Changeset: 8f0cb57e Branch: master Author: Henry Jen Date: 2025-12-02 22:11:38 +0000 URL: https://git.openjdk.org/loom/commit/8f0cb57e439df87dee4c0ba7bbff0b981ebc3541 8347831: Re-examine version check when cross linking Co-authored-by: Magnus Ihse Bursie Reviewed-by: erikj, alanb ! make/modules/java.base/Gensrc.gmk ! make/modules/java.base/Java.gmk + src/java.base/share/classes/jdk/internal/misc/resources/release.txt.template ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties Changeset: b0a758f2 Branch: master Author: Leonid Mesnik Date: 2025-12-02 22:27:54 +0000 URL: https://git.openjdk.org/loom/commit/b0a758f2180a8305c05e9640192818bbb31d7922 8372552: unhandled oop in the JvmtiEventController::set_user_enabled Reviewed-by: cjplummer, amenkov, sspitsyn ! src/hotspot/share/prims/jvmtiEventController.cpp Changeset: f5e4cd7f Branch: master Author: Leonid Mesnik Date: 2025-12-02 23:48:58 +0000 URL: https://git.openjdk.org/loom/commit/f5e4cd7f0d12fd21399b192b32a5c9abfe8a3564 8372039: post_sampled_object_alloc is called while lock is handled Reviewed-by: sspitsyn, eosterlund, amenkov ! src/hotspot/share/cds/aotStreamedHeapLoader.cpp ! src/hotspot/share/cds/aotThread.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp + test/hotspot/jtreg/serviceability/jvmti/events/SampledObjectAlloc/SamplingDuringInit/SamplingDuringInit.java + test/hotspot/jtreg/serviceability/jvmti/events/SampledObjectAlloc/SamplingDuringInit/libSamplingDuringInit.cpp Changeset: 1f206e5e Branch: master Author: Joe Darcy Date: 2025-12-03 00:27:42 +0000 URL: https://git.openjdk.org/loom/commit/1f206e5e1268cd0a7f477ed2d2f49103b8a99db6 8372850: Update comment in SourceVersion for language evolution history for changes in 26 Reviewed-by: liach ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java Changeset: 530493fe Branch: master Author: Prasanta Sadhukhan Date: 2025-12-03 02:46:02 +0000 URL: https://git.openjdk.org/loom/commit/530493fed4066b1efcf3ec22253b110495767eca 8364146: JList getScrollableUnitIncrement return 0 Reviewed-by: prr, tr ! src/java.desktop/share/classes/javax/swing/JList.java + test/jdk/javax/swing/JList/JListTest.java Changeset: 8f3d0ade Branch: master Author: Matthias Baesken Date: 2025-12-03 08:06:15 +0000 URL: https://git.openjdk.org/loom/commit/8f3d0ade11ddb45bb1719b6818e1b51df237a59b 8371893: [macOS] use dead_strip linker option to reduce binary size Reviewed-by: erikj, lucy, serb ! make/autoconf/flags-ldflags.m4 Changeset: 2139c8c6 Branch: master Author: Thomas Schatzl Date: 2025-12-03 08:08:14 +0000 URL: https://git.openjdk.org/loom/commit/2139c8c6e6e5c5f2c64ed3ad9ad8bd148a86efae 8372571: ResourceHashTable for some AOT data structures miss placement operator when allocating Reviewed-by: aboldtch, jsjolen, kvn ! src/hotspot/share/cds/aotMappedHeapWriter.cpp Changeset: a1e86941 Branch: master Author: Dean Long Date: 2025-12-03 09:01:40 +0000 URL: https://git.openjdk.org/loom/commit/a1e8694109ad87690e18fc03d17b6b9519092d81 8371306: JDK-8367002 behavior might not match existing HotSpot behavior. Reviewed-by: thartmann, dholmes ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/compiler/exceptions/IllegalAccessInCatch.jasm ! test/hotspot/jtreg/compiler/exceptions/TestAccessErrorInCatch.java Changeset: b3e063c2 Branch: master Author: root Committer: Amit Kumar Date: 2025-12-03 09:04:11 +0000 URL: https://git.openjdk.org/loom/commit/b3e063c2c34ac12ae2a566617560ecc52253262d 8372710: Update ProcessBuilder/Basic regex Reviewed-by: shade, amitkumar ! test/jdk/java/lang/ProcessBuilder/Basic.java Changeset: e65fd45d Branch: master Author: Jaikiran Pai Date: 2025-12-03 09:17:08 +0000 URL: https://git.openjdk.org/loom/commit/e65fd45dc7c9383a77fbd5171b541c2a003d30d2 8366101: Replace the use of ThreadTracker with ScopedValue in java.util.jar.JarFile Reviewed-by: vyazici, alanb ! src/java.base/share/classes/java/util/jar/JarFile.java Changeset: a25e6f64 Branch: master Author: Ramkumar Sunderbabu Committer: Stefan Karlsson Date: 2025-12-03 09:22:13 +0000 URL: https://git.openjdk.org/loom/commit/a25e6f6462a5d77a2cb0dcec4f74e5e25d8565c4 8319158: Parallel: Make TestObjectTenuringFlags use createTestJavaProcessBuilder Reviewed-by: stefank, aboldtch ! test/hotspot/jtreg/gc/arguments/TestObjectTenuringFlags.java Changeset: 177f3404 Branch: master Author: Aleksey Shipilev Date: 2025-12-03 09:24:33 +0000 URL: https://git.openjdk.org/loom/commit/177f3404dfb146be724d952f8c88b4d070e36b52 8372733: GHA: Bump to Ubuntu 24.04 Reviewed-by: erikj, ayang ! .github/workflows/build-alpine-linux.yml ! .github/workflows/build-cross-compile.yml ! .github/workflows/build-linux.yml ! .github/workflows/main.yml Changeset: 3e04e114 Branch: master Author: Erik ?sterlund Date: 2025-12-03 09:28:30 +0000 URL: https://git.openjdk.org/loom/commit/3e04e11482605e7734ef75bc477fe31107988f42 8372738: ZGC: C2 allocation reloc promotion deopt race Reviewed-by: aboldtch, stefank ! src/hotspot/share/gc/z/zBarrierSet.cpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zPage.cpp ! src/hotspot/share/gc/z/zPage.hpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zRelocate.hpp ! src/hotspot/share/gc/z/zRelocationSet.cpp ! src/hotspot/share/gc/z/zRelocationSet.hpp Changeset: 858d2e43 Branch: master Author: Jonas Norlinder Committer: Kevin Walls Date: 2025-12-03 09:35:59 +0000 URL: https://git.openjdk.org/loom/commit/858d2e434dd4eb8aa94784bb1cd115554eec5dff 8372584: [Linux]: Replace reading proc to get thread user CPU time with clock_gettime Reviewed-by: dholmes, kevinw, redestad ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp + test/micro/org/openjdk/bench/vm/runtime/ThreadMXBeanBench.java Changeset: 94977063 Branch: master Author: Casper Norrbin Date: 2025-12-03 10:03:50 +0000 URL: https://git.openjdk.org/loom/commit/94977063baafc2e293193d284db408a069f12aca 8358706: Integer overflow with -XX:MinOopMapAllocation=-1 Reviewed-by: phubner, coleenp ! src/hotspot/share/runtime/globals.hpp Changeset: f1a4d1bf Branch: master Author: Casper Norrbin Date: 2025-12-03 10:06:01 +0000 URL: https://git.openjdk.org/loom/commit/f1a4d1bfde652cf758117b93bbd02ae8248e805e 8372615: Many container tests fail when running rootless on cgroup v1 Reviewed-by: sgehwolf, dholmes ! test/hotspot/jtreg/containers/docker/DockerBasicTest.java ! test/hotspot/jtreg/containers/docker/ShareTmpDir.java ! test/hotspot/jtreg/containers/docker/TestCPUAwareness.java ! test/hotspot/jtreg/containers/docker/TestCPUSets.java ! test/hotspot/jtreg/containers/docker/TestContainerInfo.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java ! test/hotspot/jtreg/containers/docker/TestJFRNetworkEvents.java ! test/hotspot/jtreg/containers/docker/TestJFRWithJMX.java ! test/hotspot/jtreg/containers/docker/TestJcmd.java ! test/hotspot/jtreg/containers/docker/TestJcmdWithSideCar.java ! test/hotspot/jtreg/containers/docker/TestLimitsUpdating.java ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMemoryInvisibleParent.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java ! test/hotspot/jtreg/containers/docker/TestMemoryWithSubgroups.java ! test/hotspot/jtreg/containers/docker/TestMisc.java ! test/hotspot/jtreg/containers/docker/TestPids.java ! test/jdk/jdk/internal/platform/docker/TestDockerBasic.java ! test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetricsSubgroup.java ! test/jdk/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java ! test/jdk/jdk/internal/platform/docker/TestLimitsUpdating.java ! test/jdk/jdk/internal/platform/docker/TestPidsLimit.java ! test/jdk/jdk/internal/platform/docker/TestSystemMetrics.java ! test/jdk/jdk/internal/platform/docker/TestUseContainerSupport.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 804ce0a2 Branch: master Author: Richard Reingruber Date: 2025-12-03 10:29:09 +0000 URL: https://git.openjdk.org/loom/commit/804ce0a2394cb3f837441976e5ef6eb4b9cab257 8370473: C2: Better Aligment of Vector Spill Slots Reviewed-by: goetz, mdoerr ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/regmask.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorSpilling.java Changeset: 170ebdc5 Branch: master Author: Igor Rudenko Committer: Per Minborg Date: 2025-12-03 10:37:55 +0000 URL: https://git.openjdk.org/loom/commit/170ebdc5b7b5e54cc7bec60944898d35a24d760b 8346657: Improve out of bounds exception messages for MemorySegments Reviewed-by: jvernee, liach, mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/java.base/share/classes/jdk/internal/foreign/SegmentBulkOperations.java ! src/java.base/share/classes/jdk/internal/foreign/StringSupport.java ! test/jdk/java/foreign/TestSegments.java Changeset: 3f447edf Branch: master Author: Aleksey Shipilev Date: 2025-12-03 10:55:12 +0000 URL: https://git.openjdk.org/loom/commit/3f447edf0e22431628ebb74212f760209ea29d37 8372862: AArch64: Fix GetAndSet-acquire costs after JDK-8372188 Reviewed-by: dlong, mhaessig ! src/hotspot/cpu/aarch64/aarch64_atomic.ad ! src/hotspot/cpu/aarch64/aarch64_atomic_ad.m4 Changeset: 125d1820 Branch: master Author: Galder Zamarre?o Committer: Severin Gehwolf Date: 2025-12-03 11:12:00 +0000 URL: https://git.openjdk.org/loom/commit/125d1820f1f64e465a6b83360c48715a79e3d165 8372393: Document requirement for separate metallib installation with Xcode 26.1.1 Reviewed-by: erikj ! doc/building.html ! doc/building.md Changeset: a655ea48 Branch: master Author: Galder Zamarre?o Committer: Christian Hagedorn Date: 2025-12-03 12:31:26 +0000 URL: https://git.openjdk.org/loom/commit/a655ea48453a321fb7cadc6ffb6111276497a929 8371792: Refactor barrier loop tests out of TestIfMinMax Reviewed-by: chagedorn, epeter, bmaillard ! test/hotspot/jtreg/compiler/c2/irTests/TestIfMinMax.java + test/hotspot/jtreg/compiler/gcbarriers/TestMinMaxLongLoopBarrier.java Changeset: abb75ba6 Branch: master Author: Kerem Kat Committer: Volker Simonis Date: 2025-12-03 13:01:32 +0000 URL: https://git.openjdk.org/loom/commit/abb75ba656ebe14e9e8e1d4a1765d64dfce9e661 8372587: Put jdk/jfr/jvm/TestWaste.java into the ProblemList Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: afb6a0c2 Branch: master Author: Alan Bateman Date: 2025-12-03 13:03:51 +0000 URL: https://git.openjdk.org/loom/commit/afb6a0c2fecdb2114715290d5d463c9dccf93c28 8372958: SocketInputStream.read throws SocketException instead of returning -1 when input shutdown Reviewed-by: djelinski, michaelm ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! test/jdk/java/net/Socket/AsyncShutdown.java ! test/jdk/java/net/vthread/BlockingSocketOps.java ! test/jdk/java/nio/channels/vthread/BlockingChannelOps.java From duke at openjdk.org Thu Dec 4 08:38:57 2025 From: duke at openjdk.org (duke) Date: Thu, 4 Dec 2025 08:38:57 GMT Subject: git: openjdk/loom: fibers: 32 new changesets Message-ID: <612bfa12-b576-41d8-8b2c-f0249d817bfb@openjdk.org> Changeset: 135661b4 Branch: fibers Author: Thomas Schatzl Date: 2025-12-03 13:36:55 +0000 URL: https://git.openjdk.org/loom/commit/135661b4389663b8c2e348d9e61e72cc628636bb 8372179: Remove Unused ConcurrentHashTable::MultiGetHandle Reviewed-by: dholmes, iwalulya ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: c0636734 Branch: fibers Author: Joel Sikstr?m Date: 2025-12-03 14:34:05 +0000 URL: https://git.openjdk.org/loom/commit/c0636734bdf19de6ba41c127aef1f090010c6d90 8372993: Serial: max_eden_size is too small after JDK-8368740 Reviewed-by: ayang, aboldtch, stefank ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java Changeset: 44e2d499 Branch: fibers Author: Erik Joelsson Date: 2025-12-03 14:38:32 +0000 URL: https://git.openjdk.org/loom/commit/44e2d499f84458003aa73a149d1ae44735b71d91 8372705: The riscv-64 cross-compilation build is failing in the CI Reviewed-by: dholmes, shade ! make/autoconf/flags-ldflags.m4 ! make/autoconf/toolchain.m4 Changeset: 87c4b01e Branch: fibers Author: Erik Joelsson Date: 2025-12-03 14:38:53 +0000 URL: https://git.openjdk.org/loom/commit/87c4b01ea3d94c25d260f0687addf7ecd154279a 8372943: Restore --with-tools-dir Reviewed-by: mikael, tbell, shade ! make/autoconf/basic.m4 Changeset: 829b8581 Branch: fibers Author: Volodymyr Paprotski Date: 2025-12-03 14:53:35 +0000 URL: https://git.openjdk.org/loom/commit/829b85813a3810eeecf6ce4b30b5c3d1fc34ad23 8372703: Test compiler/arguments/TestCodeEntryAlignment.java failed: assert(allocates2(pc)) failed: not in CodeBuffer memory Reviewed-by: mhaessig, dfenacci, thartmann ! src/hotspot/cpu/x86/stubDeclarations_x86.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 1d753f11 Branch: fibers Author: Nizar Benalla Date: 2025-12-03 15:14:57 +0000 URL: https://git.openjdk.org/loom/commit/1d753f116135cffa3ec9e8b4af3922aa647317dc 8373010: Update starting-next-release.html after JDK-8372940 Reviewed-by: jpai, erikj ! doc/starting-next-release.html Changeset: 3d54a802 Branch: fibers Author: Axel Boldt-Christmas Date: 2025-12-03 15:21:11 +0000 URL: https://git.openjdk.org/loom/commit/3d54a802e38f425c7035c947758c887fec48e43a 8372995: SerialGC: Allow SerialHeap::allocate_loaded_archive_space expand old_gen Reviewed-by: ayang, jsikstro ! src/hotspot/share/gc/serial/serialHeap.cpp Changeset: 6d5bf9c8 Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-03 15:30:14 +0000 URL: https://git.openjdk.org/loom/commit/6d5bf9c801bbec3cd3580f889cc92415021f7322 8372999: Parallel: Old generation min size constraint broken Reviewed-by: stefank, jsikstro ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp Changeset: af8977e4 Branch: fibers Author: Daniel Fuchs Date: 2025-12-03 15:32:46 +0000 URL: https://git.openjdk.org/loom/commit/af8977e40661db2edec069d524f7c9352c7de850 8372951: The property jdk.httpclient.quic.maxBidiStreams should be renamed to jdk.internal 8365794: StreamLimitTest vs H3StreamLimitReachedTest: consider renaming or merging Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicConnectionImpl.java ! test/jdk/java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java ! test/jdk/java/net/httpclient/http3/H3StreamLimitReachedTest.java ! test/jdk/java/net/httpclient/http3/StreamLimitTest.java Changeset: c4321503 Branch: fibers Author: Chris Plummer Date: 2025-12-03 16:37:10 +0000 URL: https://git.openjdk.org/loom/commit/c4321503976840f6630567c4fa430cd1ffca41fb 8372809: Test vmTestbase/nsk/jdi/ThreadReference/isSuspended/issuspended001/TestDescription.java failed: JVMTI_ERROR_THREAD_NOT_ALIVE Reviewed-by: amenkov, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: 0bcef61a Branch: fibers Author: Chris Plummer Date: 2025-12-03 17:15:37 +0000 URL: https://git.openjdk.org/loom/commit/0bcef61a6de027c1b7e481e2115016ee961707a5 8372957: After JDK-8282441 JDWP might allow some invalid FrameIDs to be used Reviewed-by: amenkov, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: fa6ca0bb Branch: fibers Author: Justin Lu Date: 2025-12-03 17:25:05 +0000 URL: https://git.openjdk.org/loom/commit/fa6ca0bbd14436cd3778a7a3383183cd73688123 8362428: Update IANA Language Subtag Registry to Version 2025-08-25 Reviewed-by: lancea, naoto, iris ! src/java.base/share/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: 8d80778e Branch: fibers Author: Joel Sikstr?m Date: 2025-12-03 18:02:06 +0000 URL: https://git.openjdk.org/loom/commit/8d80778e05aee878f9a3e8beabe6a0cfd0a02c16 8373023: [REDO] Remove the default value of InitialRAMPercentage Reviewed-by: stefank, sjohanss, aboldtch ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/java.base/share/man/java.md ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: e93b10d0 Branch: fibers Author: Markus Gr?nlund Date: 2025-12-03 18:12:58 +0000 URL: https://git.openjdk.org/loom/commit/e93b10d08456f720e303771a882e79660911e1eb 8365400: Enhance JFR to emit file and module metadata for class loading Reviewed-by: coleenp, egahlin ! src/hotspot/share/cds/lambdaProxyClassDictionary.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp + src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.inline.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp + src/hotspot/share/jfr/support/jfrClassDefineEvent.cpp + src/hotspot/share/jfr/support/jfrClassDefineEvent.hpp ! src/hotspot/share/jfr/support/jfrKlassExtension.hpp ! src/hotspot/share/jfr/support/jfrSymbolTable.cpp ! src/hotspot/share/jfr/support/jfrSymbolTable.hpp + src/hotspot/share/jfr/support/jfrSymbolTable.inline.hpp ! src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp + src/hotspot/share/jfr/utilities/jfrConcurrentHashtable.hpp + src/hotspot/share/jfr/utilities/jfrConcurrentHashtable.inline.hpp ! src/hotspot/share/jfr/utilities/jfrLinkedList.hpp ! src/hotspot/share/jfr/utilities/jfrLinkedList.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! test/jdk/jdk/jfr/event/runtime/TestClassDefineEvent.java Changeset: aff25f13 Branch: fibers Author: Phil Race Date: 2025-12-03 18:20:31 +0000 URL: https://git.openjdk.org/loom/commit/aff25f135af20ec89c7a68f2a0a0ede7eb1491a6 4690476: NegativeArraySizeException from AffineTransformOp with shear Reviewed-by: psadhukhan, jdv ! src/java.desktop/share/classes/java/awt/image/AffineTransformOp.java + test/jdk/java/awt/image/AffineTransformOp/AffineTxOpSizeTest.java Changeset: 8a5db916 Branch: fibers Author: Brian Burkhalter Date: 2025-12-03 19:58:28 +0000 URL: https://git.openjdk.org/loom/commit/8a5db916aff1dc3eb37f25afbf0a633aa77baa20 8171432: (fs) WindowsWatchService.Poller::run does not call ReadDirectoryChangesW after a ERROR_NOTIFY_ENUM_DIR Reviewed-by: alanb, djelinski ! src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java Changeset: ba777f66 Branch: fibers Author: Brian Burkhalter Date: 2025-12-03 19:58:53 +0000 URL: https://git.openjdk.org/loom/commit/ba777f6610fa3744d5f4bdfb87066b137ab543af 8372851: Modify java/io/File/GetXSpace.java to print path on failure of native call Reviewed-by: jpai, naoto ! test/jdk/java/io/File/GetXSpace.java Changeset: e534ee99 Branch: fibers Author: Patricio Chilano Mateo Date: 2025-12-03 20:01:45 +0000 URL: https://git.openjdk.org/loom/commit/e534ee99327fed2263302a00061fb46fcdc6e302 8364343: Virtual Thread transition management needs to be independent of JVM TI Co-authored-by: Alan Bateman Reviewed-by: coleenp, dholmes, sspitsyn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExtensions.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/continuation.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp + src/hotspot/share/runtime/mountUnmountDisabler.cpp + src/hotspot/share/runtime/mountUnmountDisabler.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubInfo.cpp ! src/hotspot/share/runtime/stubInfo.hpp ! src/hotspot/share/runtime/suspendResumeManager.cpp ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/native/libjava/VirtualThread.c + test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWhenParking.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java Changeset: 5ea2b640 Branch: fibers Author: Alexander Zvegintsev Date: 2025-12-03 20:03:33 +0000 URL: https://git.openjdk.org/loom/commit/5ea2b6402114d34465b2ad9e476ab8e36ddeea06 8372977: unnecessary gthread-2.0 loading Reviewed-by: prr, kizune ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.h Changeset: 70e2bc87 Branch: fibers Author: Volodymyr Paprotski Date: 2025-12-03 21:32:29 +0000 URL: https://git.openjdk.org/loom/commit/70e2bc876abe35b3d447f8004245bdbf2fead59f 8372816: New test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java succeeds in case of error Reviewed-by: azeller, mdoerr ! test/jdk/sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java Changeset: 9b386014 Branch: fibers Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2025-12-03 21:58:17 +0000 URL: https://git.openjdk.org/loom/commit/9b386014a01b2bff47856bf9a8e113317db1f081 8373049: Update JCStress test suite Reviewed-by: epavlova, lmesnik ! test/hotspot/jtreg/applications/jcstress/JcstressRunner.java Changeset: 1294d55b Branch: fibers Author: Serguei Spitsyn Date: 2025-12-03 22:42:47 +0000 URL: https://git.openjdk.org/loom/commit/1294d55b194704dce92c5132d6779e6f4d4850e6 8372769: Test runtime/handshake/HandshakeDirectTest.java failed - JVMTI ERROR 13 Reviewed-by: lmesnik, pchilanomate, cjplummer, amenkov ! test/hotspot/jtreg/runtime/handshake/HandshakeDirectTest.java Changeset: db2a5420 Branch: fibers Author: Xiaolong Peng Date: 2025-12-03 22:43:17 +0000 URL: https://git.openjdk.org/loom/commit/db2a5420a2e3d0f5f0f066eace37a8fd4f075802 8372861: Genshen: Override parallel_region_stride of ShenandoahResetBitmapClosure to a reasonable value for better parallelism Reviewed-by: kdnilsen, shade, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionClosures.hpp Changeset: 8f8fda7c Branch: fibers Author: Xiaolong Peng Date: 2025-12-03 22:46:18 +0000 URL: https://git.openjdk.org/loom/commit/8f8fda7c80b57e8a36827cc260f0be0e5d61f6a6 8373048: Genshen: Remove dead code from Shenandoah Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp Changeset: 48563446 Branch: fibers Author: Chad Rakoczy Committer: Vladimir Kozlov Date: 2025-12-04 00:21:53 +0000 URL: https://git.openjdk.org/loom/commit/4856344668042fcbc4d15966519d27fb0a4f509f 8371046: Segfault in compiler/whitebox/StressNMethodRelocation.java with -XX:+UseZGC Reviewed-by: kvn, eastigeevich ! src/hotspot/cpu/aarch64/relocInfo_aarch64.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 04c0f8d3 Branch: fibers Author: Jaikiran Pai Date: 2025-12-04 01:36:54 +0000 URL: https://git.openjdk.org/loom/commit/04c0f8d359a3f450ac2070c6d41834145d9c75f7 8372857: Improve debuggability of java/rmi/server/RemoteServer/AddrInUse.java test Reviewed-by: msheppar, smarks, syan ! test/jdk/java/rmi/server/RemoteServer/AddrInUse.java Changeset: db2cd1a4 Branch: fibers Author: Alexander Zvegintsev Date: 2025-12-04 02:15:54 +0000 URL: https://git.openjdk.org/loom/commit/db2cd1a4e0ee7b72339e7ee3c0286dc04fc5adbf 8372756: Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907 Reviewed-by: prr ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 019df4d8 Branch: fibers Author: Dmitry Drobotov Committer: Alexander Zuev Date: 2025-12-04 03:22:42 +0000 URL: https://git.openjdk.org/loom/commit/019df4d89c8a0fe2b27c6ec074499445ae45bc3f 8372757: MacOS, Accessibility: Crash in [MenuAccessibility accessibilityChildren] after JDK-8341311 Reviewed-by: azvegint, psadhukhan ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuAccessibility.m Changeset: dbf0742b Branch: fibers Author: Ashutosh Mehra Date: 2025-12-04 05:03:07 +0000 URL: https://git.openjdk.org/loom/commit/dbf0742bf205ec57477373ebd43016383f7e7791 8373046: Method::get_c2i_unverified_entry() and get_c2i_no_clinit_check_entry() are missing check for abstract method Reviewed-by: kvn, vlivanov ! src/hotspot/share/oops/method.cpp Changeset: b6fbf38a Branch: fibers Author: Alan Bateman Date: 2025-12-04 06:45:45 +0000 URL: https://git.openjdk.org/loom/commit/b6fbf38a9988885bdc0df70a466589cd1b26d4b8 Merge branch 'master' into fibers ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 5c2e7ed3 Branch: fibers Author: Alan Bateman Date: 2025-12-04 06:50:42 +0000 URL: https://git.openjdk.org/loom/commit/5c2e7ed3674082f2ae69280aaefdce7cde7f054a Remove DumpThreadsWhenParking test from exclude list ! test/jdk/ProblemList.txt Changeset: 42fbdb15 Branch: fibers Author: Alan Bateman Date: 2025-12-04 08:26:58 +0000 URL: https://git.openjdk.org/loom/commit/42fbdb15274391a5ffcb33fd4167b867f6ce3394 Exclude some tests ! test/jdk/ProblemList.txt From duke at openjdk.org Thu Dec 4 08:40:38 2025 From: duke at openjdk.org (duke) Date: Thu, 4 Dec 2025 08:40:38 GMT Subject: git: openjdk/loom: master: 29 new changesets Message-ID: <66b26e68-d1a6-4559-b465-5eca41d99ed9@openjdk.org> Changeset: 135661b4 Branch: master Author: Thomas Schatzl Date: 2025-12-03 13:36:55 +0000 URL: https://git.openjdk.org/loom/commit/135661b4389663b8c2e348d9e61e72cc628636bb 8372179: Remove Unused ConcurrentHashTable::MultiGetHandle Reviewed-by: dholmes, iwalulya ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: c0636734 Branch: master Author: Joel Sikstr?m Date: 2025-12-03 14:34:05 +0000 URL: https://git.openjdk.org/loom/commit/c0636734bdf19de6ba41c127aef1f090010c6d90 8372993: Serial: max_eden_size is too small after JDK-8368740 Reviewed-by: ayang, aboldtch, stefank ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java Changeset: 44e2d499 Branch: master Author: Erik Joelsson Date: 2025-12-03 14:38:32 +0000 URL: https://git.openjdk.org/loom/commit/44e2d499f84458003aa73a149d1ae44735b71d91 8372705: The riscv-64 cross-compilation build is failing in the CI Reviewed-by: dholmes, shade ! make/autoconf/flags-ldflags.m4 ! make/autoconf/toolchain.m4 Changeset: 87c4b01e Branch: master Author: Erik Joelsson Date: 2025-12-03 14:38:53 +0000 URL: https://git.openjdk.org/loom/commit/87c4b01ea3d94c25d260f0687addf7ecd154279a 8372943: Restore --with-tools-dir Reviewed-by: mikael, tbell, shade ! make/autoconf/basic.m4 Changeset: 829b8581 Branch: master Author: Volodymyr Paprotski Date: 2025-12-03 14:53:35 +0000 URL: https://git.openjdk.org/loom/commit/829b85813a3810eeecf6ce4b30b5c3d1fc34ad23 8372703: Test compiler/arguments/TestCodeEntryAlignment.java failed: assert(allocates2(pc)) failed: not in CodeBuffer memory Reviewed-by: mhaessig, dfenacci, thartmann ! src/hotspot/cpu/x86/stubDeclarations_x86.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 1d753f11 Branch: master Author: Nizar Benalla Date: 2025-12-03 15:14:57 +0000 URL: https://git.openjdk.org/loom/commit/1d753f116135cffa3ec9e8b4af3922aa647317dc 8373010: Update starting-next-release.html after JDK-8372940 Reviewed-by: jpai, erikj ! doc/starting-next-release.html Changeset: 3d54a802 Branch: master Author: Axel Boldt-Christmas Date: 2025-12-03 15:21:11 +0000 URL: https://git.openjdk.org/loom/commit/3d54a802e38f425c7035c947758c887fec48e43a 8372995: SerialGC: Allow SerialHeap::allocate_loaded_archive_space expand old_gen Reviewed-by: ayang, jsikstro ! src/hotspot/share/gc/serial/serialHeap.cpp Changeset: 6d5bf9c8 Branch: master Author: Albert Mingkun Yang Date: 2025-12-03 15:30:14 +0000 URL: https://git.openjdk.org/loom/commit/6d5bf9c801bbec3cd3580f889cc92415021f7322 8372999: Parallel: Old generation min size constraint broken Reviewed-by: stefank, jsikstro ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp Changeset: af8977e4 Branch: master Author: Daniel Fuchs Date: 2025-12-03 15:32:46 +0000 URL: https://git.openjdk.org/loom/commit/af8977e40661db2edec069d524f7c9352c7de850 8372951: The property jdk.httpclient.quic.maxBidiStreams should be renamed to jdk.internal 8365794: StreamLimitTest vs H3StreamLimitReachedTest: consider renaming or merging Reviewed-by: jpai ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicConnectionImpl.java ! test/jdk/java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java ! test/jdk/java/net/httpclient/http3/H3StreamLimitReachedTest.java ! test/jdk/java/net/httpclient/http3/StreamLimitTest.java Changeset: c4321503 Branch: master Author: Chris Plummer Date: 2025-12-03 16:37:10 +0000 URL: https://git.openjdk.org/loom/commit/c4321503976840f6630567c4fa430cd1ffca41fb 8372809: Test vmTestbase/nsk/jdi/ThreadReference/isSuspended/issuspended001/TestDescription.java failed: JVMTI_ERROR_THREAD_NOT_ALIVE Reviewed-by: amenkov, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: 0bcef61a Branch: master Author: Chris Plummer Date: 2025-12-03 17:15:37 +0000 URL: https://git.openjdk.org/loom/commit/0bcef61a6de027c1b7e481e2115016ee961707a5 8372957: After JDK-8282441 JDWP might allow some invalid FrameIDs to be used Reviewed-by: amenkov, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: fa6ca0bb Branch: master Author: Justin Lu Date: 2025-12-03 17:25:05 +0000 URL: https://git.openjdk.org/loom/commit/fa6ca0bbd14436cd3778a7a3383183cd73688123 8362428: Update IANA Language Subtag Registry to Version 2025-08-25 Reviewed-by: lancea, naoto, iris ! src/java.base/share/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: 8d80778e Branch: master Author: Joel Sikstr?m Date: 2025-12-03 18:02:06 +0000 URL: https://git.openjdk.org/loom/commit/8d80778e05aee878f9a3e8beabe6a0cfd0a02c16 8373023: [REDO] Remove the default value of InitialRAMPercentage Reviewed-by: stefank, sjohanss, aboldtch ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/java.base/share/man/java.md ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: e93b10d0 Branch: master Author: Markus Gr?nlund Date: 2025-12-03 18:12:58 +0000 URL: https://git.openjdk.org/loom/commit/e93b10d08456f720e303771a882e79660911e1eb 8365400: Enhance JFR to emit file and module metadata for class loading Reviewed-by: coleenp, egahlin ! src/hotspot/share/cds/lambdaProxyClassDictionary.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmClasses.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp + src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.inline.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp + src/hotspot/share/jfr/support/jfrClassDefineEvent.cpp + src/hotspot/share/jfr/support/jfrClassDefineEvent.hpp ! src/hotspot/share/jfr/support/jfrKlassExtension.hpp ! src/hotspot/share/jfr/support/jfrSymbolTable.cpp ! src/hotspot/share/jfr/support/jfrSymbolTable.hpp + src/hotspot/share/jfr/support/jfrSymbolTable.inline.hpp ! src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp + src/hotspot/share/jfr/utilities/jfrConcurrentHashtable.hpp + src/hotspot/share/jfr/utilities/jfrConcurrentHashtable.inline.hpp ! src/hotspot/share/jfr/utilities/jfrLinkedList.hpp ! src/hotspot/share/jfr/utilities/jfrLinkedList.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! test/jdk/jdk/jfr/event/runtime/TestClassDefineEvent.java Changeset: aff25f13 Branch: master Author: Phil Race Date: 2025-12-03 18:20:31 +0000 URL: https://git.openjdk.org/loom/commit/aff25f135af20ec89c7a68f2a0a0ede7eb1491a6 4690476: NegativeArraySizeException from AffineTransformOp with shear Reviewed-by: psadhukhan, jdv ! src/java.desktop/share/classes/java/awt/image/AffineTransformOp.java + test/jdk/java/awt/image/AffineTransformOp/AffineTxOpSizeTest.java Changeset: 8a5db916 Branch: master Author: Brian Burkhalter Date: 2025-12-03 19:58:28 +0000 URL: https://git.openjdk.org/loom/commit/8a5db916aff1dc3eb37f25afbf0a633aa77baa20 8171432: (fs) WindowsWatchService.Poller::run does not call ReadDirectoryChangesW after a ERROR_NOTIFY_ENUM_DIR Reviewed-by: alanb, djelinski ! src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java Changeset: ba777f66 Branch: master Author: Brian Burkhalter Date: 2025-12-03 19:58:53 +0000 URL: https://git.openjdk.org/loom/commit/ba777f6610fa3744d5f4bdfb87066b137ab543af 8372851: Modify java/io/File/GetXSpace.java to print path on failure of native call Reviewed-by: jpai, naoto ! test/jdk/java/io/File/GetXSpace.java Changeset: e534ee99 Branch: master Author: Patricio Chilano Mateo Date: 2025-12-03 20:01:45 +0000 URL: https://git.openjdk.org/loom/commit/e534ee99327fed2263302a00061fb46fcdc6e302 8364343: Virtual Thread transition management needs to be independent of JVM TI Co-authored-by: Alan Bateman Reviewed-by: coleenp, dholmes, sspitsyn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExtensions.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/continuation.cpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp + src/hotspot/share/runtime/mountUnmountDisabler.cpp + src/hotspot/share/runtime/mountUnmountDisabler.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubInfo.cpp ! src/hotspot/share/runtime/stubInfo.hpp ! src/hotspot/share/runtime/suspendResumeManager.cpp ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/native/libjava/VirtualThread.c + test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWhenParking.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java Changeset: 5ea2b640 Branch: master Author: Alexander Zvegintsev Date: 2025-12-03 20:03:33 +0000 URL: https://git.openjdk.org/loom/commit/5ea2b6402114d34465b2ad9e476ab8e36ddeea06 8372977: unnecessary gthread-2.0 loading Reviewed-by: prr, kizune ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.h Changeset: 70e2bc87 Branch: master Author: Volodymyr Paprotski Date: 2025-12-03 21:32:29 +0000 URL: https://git.openjdk.org/loom/commit/70e2bc876abe35b3d447f8004245bdbf2fead59f 8372816: New test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java succeeds in case of error Reviewed-by: azeller, mdoerr ! test/jdk/sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java Changeset: 9b386014 Branch: master Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2025-12-03 21:58:17 +0000 URL: https://git.openjdk.org/loom/commit/9b386014a01b2bff47856bf9a8e113317db1f081 8373049: Update JCStress test suite Reviewed-by: epavlova, lmesnik ! test/hotspot/jtreg/applications/jcstress/JcstressRunner.java Changeset: 1294d55b Branch: master Author: Serguei Spitsyn Date: 2025-12-03 22:42:47 +0000 URL: https://git.openjdk.org/loom/commit/1294d55b194704dce92c5132d6779e6f4d4850e6 8372769: Test runtime/handshake/HandshakeDirectTest.java failed - JVMTI ERROR 13 Reviewed-by: lmesnik, pchilanomate, cjplummer, amenkov ! test/hotspot/jtreg/runtime/handshake/HandshakeDirectTest.java Changeset: db2a5420 Branch: master Author: Xiaolong Peng Date: 2025-12-03 22:43:17 +0000 URL: https://git.openjdk.org/loom/commit/db2a5420a2e3d0f5f0f066eace37a8fd4f075802 8372861: Genshen: Override parallel_region_stride of ShenandoahResetBitmapClosure to a reasonable value for better parallelism Reviewed-by: kdnilsen, shade, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionClosures.hpp Changeset: 8f8fda7c Branch: master Author: Xiaolong Peng Date: 2025-12-03 22:46:18 +0000 URL: https://git.openjdk.org/loom/commit/8f8fda7c80b57e8a36827cc260f0be0e5d61f6a6 8373048: Genshen: Remove dead code from Shenandoah Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp Changeset: 48563446 Branch: master Author: Chad Rakoczy Committer: Vladimir Kozlov Date: 2025-12-04 00:21:53 +0000 URL: https://git.openjdk.org/loom/commit/4856344668042fcbc4d15966519d27fb0a4f509f 8371046: Segfault in compiler/whitebox/StressNMethodRelocation.java with -XX:+UseZGC Reviewed-by: kvn, eastigeevich ! src/hotspot/cpu/aarch64/relocInfo_aarch64.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 04c0f8d3 Branch: master Author: Jaikiran Pai Date: 2025-12-04 01:36:54 +0000 URL: https://git.openjdk.org/loom/commit/04c0f8d359a3f450ac2070c6d41834145d9c75f7 8372857: Improve debuggability of java/rmi/server/RemoteServer/AddrInUse.java test Reviewed-by: msheppar, smarks, syan ! test/jdk/java/rmi/server/RemoteServer/AddrInUse.java Changeset: db2cd1a4 Branch: master Author: Alexander Zvegintsev Date: 2025-12-04 02:15:54 +0000 URL: https://git.openjdk.org/loom/commit/db2cd1a4e0ee7b72339e7ee3c0286dc04fc5adbf 8372756: Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907 Reviewed-by: prr ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 019df4d8 Branch: master Author: Dmitry Drobotov Committer: Alexander Zuev Date: 2025-12-04 03:22:42 +0000 URL: https://git.openjdk.org/loom/commit/019df4d89c8a0fe2b27c6ec074499445ae45bc3f 8372757: MacOS, Accessibility: Crash in [MenuAccessibility accessibilityChildren] after JDK-8341311 Reviewed-by: azvegint, psadhukhan ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuAccessibility.m Changeset: dbf0742b Branch: master Author: Ashutosh Mehra Date: 2025-12-04 05:03:07 +0000 URL: https://git.openjdk.org/loom/commit/dbf0742bf205ec57477373ebd43016383f7e7791 8373046: Method::get_c2i_unverified_entry() and get_c2i_no_clinit_check_entry() are missing check for abstract method Reviewed-by: kvn, vlivanov ! src/hotspot/share/oops/method.cpp From duke at openjdk.org Fri Dec 5 15:43:31 2025 From: duke at openjdk.org (duke) Date: Fri, 5 Dec 2025 15:43:31 GMT Subject: git: openjdk/loom: fibers: 19 new changesets Message-ID: <3006fae7-fbe4-488c-baae-a3d88d38a354@openjdk.org> Changeset: 828498c5 Branch: fibers Author: SendaoYan Date: 2025-12-04 07:34:43 +0000 URL: https://git.openjdk.org/loom/commit/828498c54b3b1089af9e076cb45f3cf3bea58e2f 8371978: tools/jar/ReproducibleJar.java fails on XFS Reviewed-by: jpai ! test/jdk/tools/jar/ReproducibleJar.java Changeset: 63a10e00 Branch: fibers Author: Erik Gahlin Date: 2025-12-04 08:01:17 +0000 URL: https://git.openjdk.org/loom/commit/63a10e0099111d69b167abf99d1a00084c4d6c1e 8373024: JFR: CPU throttle rate can't handle incorrect values Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/settings/CPUThrottleSetting.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/Rate.java Changeset: 771253e2 Branch: fibers Author: Frederic Thevenet Committer: David Holmes Date: 2025-12-04 08:23:33 +0000 URL: https://git.openjdk.org/loom/commit/771253e285c48329a9b45dfaaa852b64e74b31d4 8372802: PrintFlagsFinal should also print locked flags Reviewed-by: dholmes, stuefe, lmesnik ! src/hotspot/share/runtime/flags/jvmFlag.cpp + test/hotspot/jtreg/runtime/CommandLine/PrintAllFlags.java Changeset: bb867ed2 Branch: fibers Author: Kim Barrett Date: 2025-12-04 08:32:00 +0000 URL: https://git.openjdk.org/loom/commit/bb867ed23e2d6394d7e7dab55cf2122889fdf3ac 8372938: Fix reference to DeferredStatic in HotSpot Style Guide Reviewed-by: stefank, jsjolen ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 317daa3c Branch: fibers Author: Matthias Baesken Date: 2025-12-04 08:36:00 +0000 URL: https://git.openjdk.org/loom/commit/317daa3c004fbb1738e0af6acfbaf50c403c8230 8372643: Warning message on macos when building the JDK - (arm64) /tmp/lto.o unable to open object file: No such file or directory Reviewed-by: erikj ! make/common/native/Flags.gmk Changeset: 14000a25 Branch: fibers Author: Joel Sikstr?m Date: 2025-12-04 09:37:56 +0000 URL: https://git.openjdk.org/loom/commit/14000a25e6efcbe55171d4cc8c68170a8cf0406f 8373080: Parallel: gc/arguments/TestMinInitialErgonomics.java should not be run with Large Pages Reviewed-by: ayang, aboldtch ! test/hotspot/jtreg/gc/arguments/TestMinInitialErgonomics.java Changeset: 16699a39 Branch: fibers Author: Volkan Yazici Date: 2025-12-04 09:40:31 +0000 URL: https://git.openjdk.org/loom/commit/16699a394d4d6c2b8a21e7de3c3d344c5a3309b4 8208693: HttpClient: Extend the request timeout's scope to cover the response body Reviewed-by: jpai, dfuchs ! src/java.net.http/share/classes/java/net/http/HttpClient.java ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/java/net/http/WebSocket.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http3ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java + test/jdk/java/net/httpclient/TimeoutResponseBodyTest.java + test/jdk/java/net/httpclient/TimeoutResponseHeaderTest.java + test/jdk/java/net/httpclient/TimeoutResponseTestSupport.java + test/jdk/java/net/httpclient/access/java.net.http/jdk/internal/net/http/HttpClientTimerAccess.java ! test/jdk/java/net/httpclient/websocket/WebSocketTest.java Changeset: df0165bd Branch: fibers Author: Ana-Maria Mihalceanu Committer: Jaikiran Pai Date: 2025-12-04 10:09:33 +0000 URL: https://git.openjdk.org/loom/commit/df0165bd6933728fdcf1956323401afdc47b3f78 8321139: jlink's compression plugin doesn't handle -c option correctly Reviewed-by: jpai, alanb ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! src/jdk.jlink/share/man/jlink.md ! test/jdk/tools/jlink/JLinkTest.java ! test/jdk/tools/jlink/TaskHelperTest.java ! test/setup_aot/TestSetupAOT.java Changeset: 91c5bd55 Branch: fibers Author: Jatin Bhateja Date: 2025-12-04 10:17:34 +0000 URL: https://git.openjdk.org/loom/commit/91c5bd550a36e10e8b39d1b322fd433ee8df14f5 8337791: VectorAPI jtreg ABSMaskedByteMaxVectorTests crashes with UseAVX=0 -XX:MaxVectorSize=8 Reviewed-by: epeter, sviswanathan, dlunden ! src/hotspot/cpu/x86/x86.ad + test/hotspot/jtreg/compiler/vectorapi/TestABSMaskedMaxByteVector.java Changeset: b5970c97 Branch: fibers Author: Volodymyr Paprotski Date: 2025-12-04 10:21:53 +0000 URL: https://git.openjdk.org/loom/commit/b5970c97bdd5b1e079e9ada0fbd469850c0e23b4 8373063: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java fails on Aarch64 after JDK-8372816 Reviewed-by: dholmes, mdoerr ! test/jdk/sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java Changeset: bcbdf90f Branch: fibers Author: Markus Gr?nlund Date: 2025-12-04 12:25:02 +0000 URL: https://git.openjdk.org/loom/commit/bcbdf90fce44ad87e7728ba0febef0951e361589 8373062: JFR build failure with CDS disabled Reviewed-by: egahlin ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/support/jfrClassDefineEvent.cpp ! src/hotspot/share/jfr/support/jfrClassDefineEvent.hpp Changeset: c4ec983d Branch: fibers Author: Robert Toyonaga Committer: Thomas Stuefe Date: 2025-12-04 13:56:17 +0000 URL: https://git.openjdk.org/loom/commit/c4ec983da57ee8aea71e88d5de2570c5d65a69df 8370715: JFR: Races are possible when dumping recordings Reviewed-by: egahlin, stuefe ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java + test/jdk/jdk/jfr/api/recording/dump/TestDumpOverwrite.java Changeset: 6f03c780 Branch: fibers Author: Patricio Chilano Mateo Date: 2025-12-04 15:00:09 +0000 URL: https://git.openjdk.org/loom/commit/6f03c7808de2b07b1e501d05b1bb7d5bfde5e393 8360702: runtime/Thread/AsyncExceptionTest.java timed out Reviewed-by: dholmes, fbredberg ! test/hotspot/jtreg/runtime/Thread/AsyncExceptionOnMonitorEnter.java ! test/hotspot/jtreg/runtime/Thread/AsyncExceptionTest.java Changeset: 33dda887 Branch: fibers Author: Christoph Langer Date: 2025-12-04 15:03:33 +0000 URL: https://git.openjdk.org/loom/commit/33dda887d99d39b2d003fd6521db97d45da474f0 8351842: Windows specific issues in combination of JEP 493 and --with-external-symbols-in-bundles=public Reviewed-by: erikj, mbaesken ! make/Bundles.gmk ! make/Images.gmk ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/runtime/NMT/CheckForProperDetailStackTrace.java ! test/jdk/jdk/modules/etc/JmodExcludedFiles.java ! test/lib/jdk/test/whitebox/WhiteBox.java Changeset: 27351401 Branch: fibers Author: Roland Westrelin Date: 2025-12-04 15:25:37 +0000 URL: https://git.openjdk.org/loom/commit/2735140147b159d3a3238804f221db4f835ef744 8370939: C2: SIGSEGV in SafePointNode::verify_input when processing MH call from Compile::process_late_inline_calls_no_inline() Reviewed-by: thartmann, vlivanov ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + test/hotspot/jtreg/compiler/inlining/TestLateMHClonedCallNode.java Changeset: 45dcc0e7 Branch: fibers Author: Kurt Miller Committer: Jayathirth D V Date: 2025-12-04 16:59:03 +0000 URL: https://git.openjdk.org/loom/commit/45dcc0e7e26b8130236c5ba80edb54fa530dab57 8371914: PNG defines in CFLAGS can cause compilation errors with external libpng Reviewed-by: erikj, jdv ! make/modules/java.desktop/lib/ClientLibraries.gmk Changeset: 0bfa8ad3 Branch: fibers Author: Alan Bateman Date: 2025-12-04 17:03:45 +0000 URL: https://git.openjdk.org/loom/commit/0bfa8ad3142601e30dc5103b872482c3a1ac3cba Merge branch 'master' into fibers Changeset: 1f47cb97 Branch: fibers Author: Alan Bateman Date: 2025-12-04 17:04:29 +0000 URL: https://git.openjdk.org/loom/commit/1f47cb9788ec961676f92782cca57068b2e51584 ProblemList update ! test/jdk/ProblemList.txt Changeset: f111f289 Branch: fibers Author: Alan Bateman Date: 2025-12-05 15:39:11 +0000 URL: https://git.openjdk.org/loom/commit/f111f289872c36f09e2a2b64cdd21aa947e43eb1 Change Thread::getStackTrace to use ThreadSnapshot ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/java.base/share/classes/jdk/internal/vm/ThreadDumper.java ! src/java.base/share/classes/jdk/internal/vm/ThreadSnapshot.java ! src/java.base/share/native/libjava/Thread.c From duke at openjdk.org Fri Dec 5 15:44:33 2025 From: duke at openjdk.org (duke) Date: Fri, 5 Dec 2025 15:44:33 GMT Subject: git: openjdk/loom: master: 16 new changesets Message-ID: <494cc546-8fc6-4540-a0c4-6379766f2e8b@openjdk.org> Changeset: 828498c5 Branch: master Author: SendaoYan Date: 2025-12-04 07:34:43 +0000 URL: https://git.openjdk.org/loom/commit/828498c54b3b1089af9e076cb45f3cf3bea58e2f 8371978: tools/jar/ReproducibleJar.java fails on XFS Reviewed-by: jpai ! test/jdk/tools/jar/ReproducibleJar.java Changeset: 63a10e00 Branch: master Author: Erik Gahlin Date: 2025-12-04 08:01:17 +0000 URL: https://git.openjdk.org/loom/commit/63a10e0099111d69b167abf99d1a00084c4d6c1e 8373024: JFR: CPU throttle rate can't handle incorrect values Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/settings/CPUThrottleSetting.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/Rate.java Changeset: 771253e2 Branch: master Author: Frederic Thevenet Committer: David Holmes Date: 2025-12-04 08:23:33 +0000 URL: https://git.openjdk.org/loom/commit/771253e285c48329a9b45dfaaa852b64e74b31d4 8372802: PrintFlagsFinal should also print locked flags Reviewed-by: dholmes, stuefe, lmesnik ! src/hotspot/share/runtime/flags/jvmFlag.cpp + test/hotspot/jtreg/runtime/CommandLine/PrintAllFlags.java Changeset: bb867ed2 Branch: master Author: Kim Barrett Date: 2025-12-04 08:32:00 +0000 URL: https://git.openjdk.org/loom/commit/bb867ed23e2d6394d7e7dab55cf2122889fdf3ac 8372938: Fix reference to DeferredStatic in HotSpot Style Guide Reviewed-by: stefank, jsjolen ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 317daa3c Branch: master Author: Matthias Baesken Date: 2025-12-04 08:36:00 +0000 URL: https://git.openjdk.org/loom/commit/317daa3c004fbb1738e0af6acfbaf50c403c8230 8372643: Warning message on macos when building the JDK - (arm64) /tmp/lto.o unable to open object file: No such file or directory Reviewed-by: erikj ! make/common/native/Flags.gmk Changeset: 14000a25 Branch: master Author: Joel Sikstr?m Date: 2025-12-04 09:37:56 +0000 URL: https://git.openjdk.org/loom/commit/14000a25e6efcbe55171d4cc8c68170a8cf0406f 8373080: Parallel: gc/arguments/TestMinInitialErgonomics.java should not be run with Large Pages Reviewed-by: ayang, aboldtch ! test/hotspot/jtreg/gc/arguments/TestMinInitialErgonomics.java Changeset: 16699a39 Branch: master Author: Volkan Yazici Date: 2025-12-04 09:40:31 +0000 URL: https://git.openjdk.org/loom/commit/16699a394d4d6c2b8a21e7de3c3d344c5a3309b4 8208693: HttpClient: Extend the request timeout's scope to cover the response body Reviewed-by: jpai, dfuchs ! src/java.net.http/share/classes/java/net/http/HttpClient.java ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/java/net/http/WebSocket.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http3ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java + test/jdk/java/net/httpclient/TimeoutResponseBodyTest.java + test/jdk/java/net/httpclient/TimeoutResponseHeaderTest.java + test/jdk/java/net/httpclient/TimeoutResponseTestSupport.java + test/jdk/java/net/httpclient/access/java.net.http/jdk/internal/net/http/HttpClientTimerAccess.java ! test/jdk/java/net/httpclient/websocket/WebSocketTest.java Changeset: df0165bd Branch: master Author: Ana-Maria Mihalceanu Committer: Jaikiran Pai Date: 2025-12-04 10:09:33 +0000 URL: https://git.openjdk.org/loom/commit/df0165bd6933728fdcf1956323401afdc47b3f78 8321139: jlink's compression plugin doesn't handle -c option correctly Reviewed-by: jpai, alanb ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! src/jdk.jlink/share/man/jlink.md ! test/jdk/tools/jlink/JLinkTest.java ! test/jdk/tools/jlink/TaskHelperTest.java ! test/setup_aot/TestSetupAOT.java Changeset: 91c5bd55 Branch: master Author: Jatin Bhateja Date: 2025-12-04 10:17:34 +0000 URL: https://git.openjdk.org/loom/commit/91c5bd550a36e10e8b39d1b322fd433ee8df14f5 8337791: VectorAPI jtreg ABSMaskedByteMaxVectorTests crashes with UseAVX=0 -XX:MaxVectorSize=8 Reviewed-by: epeter, sviswanathan, dlunden ! src/hotspot/cpu/x86/x86.ad + test/hotspot/jtreg/compiler/vectorapi/TestABSMaskedMaxByteVector.java Changeset: b5970c97 Branch: master Author: Volodymyr Paprotski Date: 2025-12-04 10:21:53 +0000 URL: https://git.openjdk.org/loom/commit/b5970c97bdd5b1e079e9ada0fbd469850c0e23b4 8373063: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java fails on Aarch64 after JDK-8372816 Reviewed-by: dholmes, mdoerr ! test/jdk/sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java Changeset: bcbdf90f Branch: master Author: Markus Gr?nlund Date: 2025-12-04 12:25:02 +0000 URL: https://git.openjdk.org/loom/commit/bcbdf90fce44ad87e7728ba0febef0951e361589 8373062: JFR build failure with CDS disabled Reviewed-by: egahlin ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/support/jfrClassDefineEvent.cpp ! src/hotspot/share/jfr/support/jfrClassDefineEvent.hpp Changeset: c4ec983d Branch: master Author: Robert Toyonaga Committer: Thomas Stuefe Date: 2025-12-04 13:56:17 +0000 URL: https://git.openjdk.org/loom/commit/c4ec983da57ee8aea71e88d5de2570c5d65a69df 8370715: JFR: Races are possible when dumping recordings Reviewed-by: egahlin, stuefe ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java + test/jdk/jdk/jfr/api/recording/dump/TestDumpOverwrite.java Changeset: 6f03c780 Branch: master Author: Patricio Chilano Mateo Date: 2025-12-04 15:00:09 +0000 URL: https://git.openjdk.org/loom/commit/6f03c7808de2b07b1e501d05b1bb7d5bfde5e393 8360702: runtime/Thread/AsyncExceptionTest.java timed out Reviewed-by: dholmes, fbredberg ! test/hotspot/jtreg/runtime/Thread/AsyncExceptionOnMonitorEnter.java ! test/hotspot/jtreg/runtime/Thread/AsyncExceptionTest.java Changeset: 33dda887 Branch: master Author: Christoph Langer Date: 2025-12-04 15:03:33 +0000 URL: https://git.openjdk.org/loom/commit/33dda887d99d39b2d003fd6521db97d45da474f0 8351842: Windows specific issues in combination of JEP 493 and --with-external-symbols-in-bundles=public Reviewed-by: erikj, mbaesken ! make/Bundles.gmk ! make/Images.gmk ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/runtime/NMT/CheckForProperDetailStackTrace.java ! test/jdk/jdk/modules/etc/JmodExcludedFiles.java ! test/lib/jdk/test/whitebox/WhiteBox.java Changeset: 27351401 Branch: master Author: Roland Westrelin Date: 2025-12-04 15:25:37 +0000 URL: https://git.openjdk.org/loom/commit/2735140147b159d3a3238804f221db4f835ef744 8370939: C2: SIGSEGV in SafePointNode::verify_input when processing MH call from Compile::process_late_inline_calls_no_inline() Reviewed-by: thartmann, vlivanov ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + test/hotspot/jtreg/compiler/inlining/TestLateMHClonedCallNode.java Changeset: 45dcc0e7 Branch: master Author: Kurt Miller Committer: Jayathirth D V Date: 2025-12-04 16:59:03 +0000 URL: https://git.openjdk.org/loom/commit/45dcc0e7e26b8130236c5ba80edb54fa530dab57 8371914: PNG defines in CFLAGS can cause compilation errors with external libpng Reviewed-by: erikj, jdv ! make/modules/java.desktop/lib/ClientLibraries.gmk From duke at openjdk.org Tue Dec 9 11:16:48 2025 From: duke at openjdk.org (duke) Date: Tue, 9 Dec 2025 11:16:48 GMT Subject: git: openjdk/loom: fibers: 46 new changesets Message-ID: Changeset: c55287d1 Branch: fibers Author: Nizar Benalla Committer: Jesper Wilhelmsson Date: 2025-12-04 17:01:41 +0000 URL: https://git.openjdk.org/loom/commit/c55287d197ef024033f8dfbb5a365cb091bc67fb 8370890: Start of release updates for JDK 27 8370893: Add SourceVersion.RELEASE_27 8370894: Add source 27 and target 27 to javac Reviewed-by: darcy, iris, liach, erikj, dholmes ! .jcheck/conf ! make/conf/version-numbers.conf ! src/hotspot/share/classfile/classFileParser.cpp ! src/java.base/share/classes/java/lang/classfile/ClassFile.java ! src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java + src/jdk.compiler/share/data/symbols/java.base-Q.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.desktop-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.management-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.net.http-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.httpserver-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.incubator.vector-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdeps-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.jfr-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.jshell-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.localedata-Q.sym.txt ! src/jdk.compiler/share/data/symbols/symbols ! test/jdk/ProblemList.txt ! test/langtools/tools/javac/api/TestGetSourceVersions.java ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java ! test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java ! test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out ! test/langtools/tools/javac/preview/classReaderTest/Client.preview.out ! test/langtools/tools/javac/versions/Versions.java Changeset: c7aa1033 Branch: fibers Author: Justin Lu Date: 2025-12-04 18:34:51 +0000 URL: https://git.openjdk.org/loom/commit/c7aa10339aa40d37dc52e6dcec102f8dca114634 8372844: Improve usage of test/jdk/java/text/testlib/TestUtils.java locale methods Reviewed-by: naoto ! test/jdk/java/text/Format/DateFormat/Bug4407042.java ! test/jdk/java/text/Format/DateFormat/Bug4845901.java ! test/jdk/java/text/Format/DateFormat/Bug6530336.java ! test/jdk/java/text/Format/DateFormat/DateFormatRegression.java ! test/jdk/java/text/Format/MessageFormat/MessageRegression.java ! test/jdk/java/text/Format/NumberFormat/NumberRegression.java ! test/jdk/java/util/Calendar/CalendarLimitTest.java ! test/jdk/java/util/Calendar/CalendarRegression.java ! test/jdk/java/util/Calendar/CalendarTest.java ! test/jdk/java/util/Calendar/bug4409072.java ! test/jdk/java/util/Locale/LocaleCategory.java ! test/jdk/java/util/TimeZone/TimeZoneRegression.java Changeset: b19163b1 Branch: fibers Author: Matthew Donovan Date: 2025-12-04 18:38:57 +0000 URL: https://git.openjdk.org/loom/commit/b19163b107584118056073dc24a960ca04ca14e4 8356544: Implement additional tests for ciphersuites disabled with wildcards Reviewed-by: rhalade + test/jdk/sun/security/ssl/CipherSuite/DisabledCipherSuitesNotNegotiated.java Changeset: ef7532e7 Branch: fibers Author: Mikhail Yankelevich Date: 2025-12-04 18:41:12 +0000 URL: https://git.openjdk.org/loom/commit/ef7532e7e625628d6181c65116804ebb65f18061 8367994: test/jdk/sun/security/pkcs11/Signature/ tests pass when they should skip Reviewed-by: rhalade ! test/jdk/sun/security/pkcs11/Signature/InitAgainPSS.java ! test/jdk/sun/security/pkcs11/Signature/KeyAndParamCheckForPSS.java ! test/jdk/sun/security/pkcs11/Signature/SigInteropPSS.java ! test/jdk/sun/security/pkcs11/Signature/SigInteropPSS2.java ! test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS.java ! test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS2.java ! test/jdk/sun/security/pkcs11/Signature/TestDSA.java Changeset: 8e653d39 Branch: fibers Author: Phil Race Date: 2025-12-04 20:17:02 +0000 URL: https://git.openjdk.org/loom/commit/8e653d394e45180e16714124ed6584f912eb5cba 8373099: Problem list intermittently failing test sun/awt/image/bug8038000.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 5ec5a6ea Branch: fibers Author: Ben Taylor Committer: William Kemper Date: 2025-12-04 21:37:09 +0000 URL: https://git.openjdk.org/loom/commit/5ec5a6ea6c8e887b4e21f81e382f57129bffbab8 8373054: Shenandoah: Remove unnecessary BarrierSetNMethod::arm in shenandoahCodeRoots Reviewed-by: wkemper, ysr, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp Changeset: c8b30da7 Branch: fibers Author: Ben Taylor Committer: Y. Srinivas Ramakrishna Date: 2025-12-04 22:11:48 +0000 URL: https://git.openjdk.org/loom/commit/c8b30da7ef48edb3d43e07d2c1b8622d8123c3a9 8373039: Remove Incorrect Asserts in shenandoahScanRemembered Reviewed-by: wkemper, ysr, xpeng ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp Changeset: 6db1c4f5 Branch: fibers Author: Coleen Phillimore Date: 2025-12-04 22:34:42 +0000 URL: https://git.openjdk.org/loom/commit/6db1c4f5b93a1b7f7d9da36745dc433c9985a169 8371409: Wrong lock ordering between FullGCALot_lock and ThreadsLockThrottle_lock/MethodCompileQueue_lock Reviewed-by: rehn, pchilanomate ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: 13e32bf1 Branch: fibers Author: Coleen Phillimore Date: 2025-12-04 22:39:58 +0000 URL: https://git.openjdk.org/loom/commit/13e32bf1667a3be8492d1e4e3a273951202acd9c 8372098: Move AccessFlags to InstanceKlass Reviewed-by: liach, vlivanov, dlong, sspitsyn ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/ci/ciKlass.cpp ! src/hotspot/share/ci/ciKlass.hpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/fieldInfo.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Klass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ConcurrentLocksPrinter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 15f25389 Branch: fibers Author: Xiaolong Peng Date: 2025-12-04 23:56:20 +0000 URL: https://git.openjdk.org/loom/commit/15f25389435288881644f7aeab48fd2eae410999 8373056: Shenandoah: Remove unnecessary use of ShenandoahAllocRequest.type() Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp Changeset: 7e91d34f Branch: fibers Author: Anjian Wen Committer: Fei Yang Date: 2025-12-05 02:51:13 +0000 URL: https://git.openjdk.org/loom/commit/7e91d34f3e83b4c39d6ce5de34373d7d74d54512 8365732: RISC-V: implement AES CTR intrinsics Reviewed-by: fyang, mli ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 674cc3ee Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-05 03:30:31 +0000 URL: https://git.openjdk.org/loom/commit/674cc3eeca77f1f2a6d937b1df5c5cd8a13c2d31 8042054: JTree.updateUI uses out-of-date item size information Reviewed-by: dnguyen, serb ! src/java.desktop/share/classes/javax/swing/JTree.java + test/jdk/javax/swing/JTree/JTreeUpdateTest.java Changeset: c09167df Branch: fibers Author: Erik Joelsson Date: 2025-12-05 14:01:36 +0000 URL: https://git.openjdk.org/loom/commit/c09167df60f44642492ec20f133713388f4802ad 8373113: Fix whitespace in RunTests.gmk Reviewed-by: tbell ! make/RunTests.gmk Changeset: ee0b8a72 Branch: fibers Author: Chris Plummer Date: 2025-12-05 15:39:49 +0000 URL: https://git.openjdk.org/loom/commit/ee0b8a72c64f7ac5058dbe5b2062cb35b6195484 8373102: com/sun/jdi/MethodInvokeWithTraceOnTest.java can fail with ObjectCollectedException when run with a small heap Reviewed-by: amenkov, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/EventSetImpl.java ! test/jdk/ProblemList.txt Changeset: 4d696d0d Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-05 15:46:07 +0000 URL: https://git.openjdk.org/loom/commit/4d696d0d0ed523e3c99c68214586673913b1c7b5 8373086: Make isexceeded001.java more robust Reviewed-by: jsikstro, tschatzl ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java Changeset: 520c092a Branch: fibers Author: Neha Joshi Committer: Rajan Halade Date: 2025-12-05 16:46:26 +0000 URL: https://git.openjdk.org/loom/commit/520c092a658559a5d65f06a51061db3aae09931e 8362658: sun/security/ssl/SSLEngineImpl/* tests duplicate jvm flags Co-authored-by: Lei Zhu Reviewed-by: myankelevich, rhalade ! test/jdk/ProblemList-jvmti-stress-agent.txt ! test/jdk/sun/security/ssl/SSLEngineImpl/SSLEngineKeyLimit.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTClient.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTNoSessionCreation.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTParallel.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTSequence.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketKeyLimit.java Changeset: a20b7eb9 Branch: fibers Author: Joe Darcy Date: 2025-12-05 17:35:30 +0000 URL: https://git.openjdk.org/loom/commit/a20b7eb943c19f9852bfaaec1fbbff647f1f5273 8373125: Add defensive screening of modifiers for Field and Parameter toString() results Reviewed-by: alanb, liach ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Parameter.java ! test/jdk/java/lang/reflect/Modifier/toStringTest.java Changeset: 43787890 Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-05 19:17:45 +0000 URL: https://git.openjdk.org/loom/commit/43787890291d71de61b28b8a4e3bf9aaba46757a 8373145: [BACKOUT] Remove ThreadLocalAllocBuffer::_reserve_for_allocation_prefetch Reviewed-by: mdoerr, kvn ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java Changeset: f3dd8daa Branch: fibers Author: Brent Christian Date: 2025-12-05 19:30:04 +0000 URL: https://git.openjdk.org/loom/commit/f3dd8daaa92896be51254e5abf3e0ec5b1ff5173 8371748: Remove the (empty) ThreadPoolExecutor.finalize() method Reviewed-by: vklang, jpai, alanb ! src/java.base/share/classes/java/util/concurrent/ThreadPoolExecutor.java Changeset: be8cbfa6 Branch: fibers Author: Chris Plummer Date: 2025-12-05 20:37:10 +0000 URL: https://git.openjdk.org/loom/commit/be8cbfa6129d19403c9871c22721b902856f1886 8362083: JDI VirtualMachine/dispose/dispose001 failed with FATAL ERROR in native method: JDWP cannot set thread local storage, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112) Reviewed-by: lmesnik, sspitsyn, amenkov ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: 2596608b Branch: fibers Author: Leonid Mesnik Date: 2025-12-05 21:20:20 +0000 URL: https://git.openjdk.org/loom/commit/2596608ba1bb1b271dfa062bf732a5095e22fffd 8370846: Support execution of mlvm testing with test thread factory Reviewed-by: cjplummer ! test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java ! test/lib/jdk/test/lib/thread/TestThreadFactory.java Changeset: b0f59f60 Branch: fibers Author: Leonid Mesnik Date: 2025-12-06 00:02:51 +0000 URL: https://git.openjdk.org/loom/commit/b0f59f6021a00dc569e08810b34db21553a5b68d 8373127: Update nsk/monitoring tests to support virtual thread factory testing Reviewed-by: kevinw, amenkov ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryUsage/from/from001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/from_c/from_c001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/getLockName/getlockname001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/getLockOwnerName/getlockownername001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/isInNative/isinnative001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadAllocatedBytes/BaseBehaviorTest.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadCpuTime/BaseBehaviorTest.java Changeset: 5f083aba Branch: fibers Author: Patrick Strawderman Committer: Viktor Klang Date: 2025-12-06 15:34:14 +0000 URL: https://git.openjdk.org/loom/commit/5f083abafc7abfaa46ddd053668cdfbfd2ad8a87 8179918: EnumSet spliterator should report SORTED, ORDERED, NONNULL Reviewed-by: vklang ! src/java.base/share/classes/java/util/EnumSet.java + test/jdk/java/util/EnumSet/EnumSetSpliteratorTest.java Changeset: 7da91533 Branch: fibers Author: Sergey Chernyshev Committer: Volkan Yazici Date: 2025-12-08 09:06:21 +0000 URL: https://git.openjdk.org/loom/commit/7da91533aaf2033cedee6e2a56fb693f26909df5 8369950: TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException Co-authored-by: Mikhail Yankelevich Reviewed-by: djelinski, vyazici, dfuchs, myankelevich ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java + test/jdk/javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java Changeset: 35001508 Branch: fibers Author: Jan Lahoda Date: 2025-12-08 10:04:44 +0000 URL: https://git.openjdk.org/loom/commit/350015088281eb9e6e9e3a9811f38adac5f7a975 8373094: javac may fail because of unattributed break in a loop Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: a6594794 Branch: fibers Author: Francesco Andreuzzi Date: 2025-12-08 11:45:53 +0000 URL: https://git.openjdk.org/loom/commit/a6594794839807d56434d6f28fe3d581fb1e36c0 8367541: Parallel: Make young and old generation fields nonstatic in ParallelScavengeHeap Reviewed-by: ayang ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psScavenge.hpp ! src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp Changeset: b83bf071 Branch: fibers Author: Qizheng Xing Committer: Emanuel Peter Date: 2025-12-08 13:16:39 +0000 URL: https://git.openjdk.org/loom/commit/b83bf0717eb8926efcf85a32be08f33a41bb48dd 8360192: C2: Make the type of count leading/trailing zero nodes more precise Reviewed-by: qamai, epeter, jbhateja ! src/hotspot/share/opto/countbitsnode.cpp + test/hotspot/jtreg/compiler/c2/gvn/TestCountBitsRange.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/micro/org/openjdk/bench/vm/compiler/CountLeadingZeros.java Changeset: 6700baa5 Branch: fibers Author: Hamlin Li Date: 2025-12-08 13:38:22 +0000 URL: https://git.openjdk.org/loom/commit/6700baa5052046f53eb1b04ed3205bbd8e9e9070 8357551: RISC-V: support CMoveF/D vectorization Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad + test/hotspot/jtreg/compiler/c2/irTests/TestConditionalMove.java ! test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java + test/hotspot/jtreg/compiler/c2/irTests/TestScalarConditionalMoveCmpObj.java - test/hotspot/jtreg/compiler/c2/irTests/TestVectorConditionalMove.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/micro/org/openjdk/bench/java/lang/ClassComparison.java ! test/micro/org/openjdk/bench/java/lang/FPComparison.java ! test/micro/org/openjdk/bench/java/lang/IntegerComparison.java ! test/micro/org/openjdk/bench/java/lang/LongComparison.java ! test/micro/org/openjdk/bench/java/lang/PointerComparison.java Changeset: ed5fc9ad Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-08 14:21:40 +0000 URL: https://git.openjdk.org/loom/commit/ed5fc9ad2defb75ea5a68fe6427a591376ce6d6b 8373087: Parallel: Rename PSGenerationPool to PSOldGenerationPool Reviewed-by: tschatzl, jsikstro, iwalulya ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.hpp Changeset: ac81ce51 Branch: fibers Author: Chris Plummer Date: 2025-12-08 15:38:35 +0000 URL: https://git.openjdk.org/loom/commit/ac81ce51fa4ed04b6dbcc28cb2dd8eabcfe52ad7 8372555: Test com/sun/jdi/ExceptionEvents.java failed: ObjectCollectedException Reviewed-by: amenkov, dholmes ! test/jdk/com/sun/jdi/ExceptionEvents.java Changeset: 355755d3 Branch: fibers Author: Anton Artemov Date: 2025-12-08 16:07:01 +0000 URL: https://git.openjdk.org/loom/commit/355755d35de5c3155d1ea8d1afdd0debe5296a13 8366671: Refactor Thread::SpinAcquire and Thread::SpinRelease Co-authored-by: Axel Boldt-Christmas Reviewed-by: coleenp, kbarrett, dholmes, aboldtch ! src/hotspot/share/jfr/recorder/service/jfrEventThrottler.cpp ! src/hotspot/share/jfr/support/jfrAdaptiveSampler.cpp ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp - src/hotspot/share/jfr/utilities/jfrSpinlockHelper.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/park.cpp ! src/hotspot/share/runtime/safepointVerifiers.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp + src/hotspot/share/utilities/spinCriticalSection.cpp + src/hotspot/share/utilities/spinCriticalSection.hpp ! test/hotspot/gtest/jfr/test_adaptiveSampler.cpp Changeset: 811591c5 Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-08 16:11:28 +0000 URL: https://git.openjdk.org/loom/commit/811591c5c332e6427dc96819451e046841fe635b 8373262: Parallel: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java fails Reviewed-by: cjplummer ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/parallel/ParallelScavengeHeap.java Changeset: d34ef196 Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-08 18:51:34 +0000 URL: https://git.openjdk.org/loom/commit/d34ef196c298aa91f8511714cfb04b15ae7fbf0a 8370198: Test gc/arguments/TestShrinkHeapInSteps.java crashed: assert(left >= right) failed: avoid underflow Reviewed-by: stefank, tschatzl ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp Changeset: b118caf6 Branch: fibers Author: Alexandre Iline Date: 2025-12-08 22:16:28 +0000 URL: https://git.openjdk.org/loom/commit/b118caf6777cbf5bf75b41156fdfaaa15479f924 8373285: Update JCov for class file version 71 Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: 8df3f3d3 Branch: fibers Author: Erik Joelsson Date: 2025-12-08 22:45:59 +0000 URL: https://git.openjdk.org/loom/commit/8df3f3d3417bc8fdb5a75d986e084441bbf6ebd2 8373117: Update build doc link in README.md Reviewed-by: ayang, tbell ! README.md Changeset: b86b2cbc Branch: fibers Author: Ben Taylor Committer: Y. Srinivas Ramakrishna Date: 2025-12-09 00:17:30 +0000 URL: https://git.openjdk.org/loom/commit/b86b2cbc7d9dd57aeaf64f70f248a120ae3cb751 8352914: Shenandoah: Change definition of ShenandoahSharedValue to int32_t to leverage platform atomics Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp Changeset: c03d445a Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-09 00:34:58 +0000 URL: https://git.openjdk.org/loom/commit/c03d445a8ccfced5a59da680c37587f1024f3eca 6223700: XP L&F: Non-TopLevel JMenu's painting error Reviewed-by: kizune, dnguyen ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuUI.java + test/jdk/javax/swing/JMenu/TestPaintSpillOverBug.java Changeset: b1c95501 Branch: fibers Author: Phil Race Date: 2025-12-09 01:00:52 +0000 URL: https://git.openjdk.org/loom/commit/b1c955018281a228a67695e5077666d751cd87d2 8372554: Test windows-x64-cmp-baseline failed due to differences with splashscreen object file Reviewed-by: dholmes ! make/modules/java.desktop/lib/ClientLibraries.gmk Changeset: 3ea82b9f Branch: fibers Author: Xiaolong Peng Date: 2025-12-09 01:16:48 +0000 URL: https://git.openjdk.org/loom/commit/3ea82b9ff90aebc1a169fdd967c44408dc4a4f51 8373272: Genshen: ShenandoahOldGenerationTest fails after JDK-8373056 Reviewed-by: wkemper ! test/hotspot/gtest/gc/shenandoah/test_shenandoahOldGeneration.cpp Changeset: c9ab330b Branch: fibers Author: Xiaolong Peng Date: 2025-12-09 03:28:11 +0000 URL: https://git.openjdk.org/loom/commit/c9ab330b7bdd3cc2410ffdb336a63aa0ac7256a3 8373116: Genshen: arraycopy_work should be always done for arrays in old gen during young concurrent marking 8372498: [genshen] gc/TestAllocHumongousFragment.java#generational causes intermittent SIGSEGV crashes Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 35fe0b11 Branch: fibers Author: Harshit470250 <133243171+Harshit470250 at users.noreply.github.com> Committer: Amit Kumar Date: 2025-12-09 04:59:53 +0000 URL: https://git.openjdk.org/loom/commit/35fe0b11015bd3a88ee21c76b54f9d4969fdedf6 8372641: [s390x] Test failure TestMergeStores.java Reviewed-by: mhaessig, amitkumar, lucy ! src/hotspot/cpu/s390/s390.ad Changeset: 020e3f95 Branch: fibers Author: David Holmes Date: 2025-12-09 05:15:47 +0000 URL: https://git.openjdk.org/loom/commit/020e3f959194029715c18891e79aeed020abd59c 8373293: Change the exception handling in TestNestHostErrorWithMultiThread.java Reviewed-by: jpai, iklam ! test/hotspot/jtreg/runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java Changeset: cba09cd1 Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-09 07:40:52 +0000 URL: https://git.openjdk.org/loom/commit/cba09cd10d4e4482852a317786242836419c313b 5107379: Component orientation in JOptionPane is not proper in Motif L&F. Reviewed-by: tr, kizune ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java + test/jdk/javax/swing/plaf/motif/TestIconRTL.java Changeset: 2332afc1 Branch: fibers Author: Alan Bateman Date: 2025-12-09 08:23:10 +0000 URL: https://git.openjdk.org/loom/commit/2332afc1953cd7a724843c4043034335698e2441 Merge branch 'master' into fibers ! .jcheck/conf ! src/hotspot/share/classfile/javaClasses.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt ! .jcheck/conf ! src/hotspot/share/classfile/javaClasses.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 3164e81a Branch: fibers Author: Alan Bateman Date: 2025-12-08 13:01:22 +0000 URL: https://git.openjdk.org/loom/commit/3164e81af66a4ec6666be7afa0577273d04aee97 Add micros for Thread.getStackTrace + test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenParked.java + test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenSpinning.java + test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenYielding.java Changeset: 26762fd8 Branch: fibers Author: Alan Bateman Date: 2025-12-09 08:23:20 +0000 URL: https://git.openjdk.org/loom/commit/26762fd822e291e53baa622672951876497e3f50 Merge loom into fibers From duke at openjdk.org Tue Dec 9 11:19:22 2025 From: duke at openjdk.org (duke) Date: Tue, 9 Dec 2025 11:19:22 GMT Subject: git: openjdk/loom: master: 43 new changesets Message-ID: Changeset: c55287d1 Branch: master Author: Nizar Benalla Committer: Jesper Wilhelmsson Date: 2025-12-04 17:01:41 +0000 URL: https://git.openjdk.org/loom/commit/c55287d197ef024033f8dfbb5a365cb091bc67fb 8370890: Start of release updates for JDK 27 8370893: Add SourceVersion.RELEASE_27 8370894: Add source 27 and target 27 to javac Reviewed-by: darcy, iris, liach, erikj, dholmes ! .jcheck/conf ! make/conf/version-numbers.conf ! src/hotspot/share/classfile/classFileParser.cpp ! src/java.base/share/classes/java/lang/classfile/ClassFile.java ! src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScannerPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitorPreview.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitorPreview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java + src/jdk.compiler/share/data/symbols/java.base-Q.sym.txt = src/jdk.compiler/share/data/symbols/java.compiler-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.desktop-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.management-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.net.http-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.httpserver-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.incubator.vector-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jartool-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jdeps-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.jfr-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jlink-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.jshell-Q.sym.txt = src/jdk.compiler/share/data/symbols/jdk.jsobject-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.localedata-Q.sym.txt ! src/jdk.compiler/share/data/symbols/symbols ! test/jdk/ProblemList.txt ! test/langtools/tools/javac/api/TestGetSourceVersions.java ! test/langtools/tools/javac/classfiles/ClassVersionChecker.java ! test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java ! test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out ! test/langtools/tools/javac/preview/classReaderTest/Client.preview.out ! test/langtools/tools/javac/versions/Versions.java Changeset: c7aa1033 Branch: master Author: Justin Lu Date: 2025-12-04 18:34:51 +0000 URL: https://git.openjdk.org/loom/commit/c7aa10339aa40d37dc52e6dcec102f8dca114634 8372844: Improve usage of test/jdk/java/text/testlib/TestUtils.java locale methods Reviewed-by: naoto ! test/jdk/java/text/Format/DateFormat/Bug4407042.java ! test/jdk/java/text/Format/DateFormat/Bug4845901.java ! test/jdk/java/text/Format/DateFormat/Bug6530336.java ! test/jdk/java/text/Format/DateFormat/DateFormatRegression.java ! test/jdk/java/text/Format/MessageFormat/MessageRegression.java ! test/jdk/java/text/Format/NumberFormat/NumberRegression.java ! test/jdk/java/util/Calendar/CalendarLimitTest.java ! test/jdk/java/util/Calendar/CalendarRegression.java ! test/jdk/java/util/Calendar/CalendarTest.java ! test/jdk/java/util/Calendar/bug4409072.java ! test/jdk/java/util/Locale/LocaleCategory.java ! test/jdk/java/util/TimeZone/TimeZoneRegression.java Changeset: b19163b1 Branch: master Author: Matthew Donovan Date: 2025-12-04 18:38:57 +0000 URL: https://git.openjdk.org/loom/commit/b19163b107584118056073dc24a960ca04ca14e4 8356544: Implement additional tests for ciphersuites disabled with wildcards Reviewed-by: rhalade + test/jdk/sun/security/ssl/CipherSuite/DisabledCipherSuitesNotNegotiated.java Changeset: ef7532e7 Branch: master Author: Mikhail Yankelevich Date: 2025-12-04 18:41:12 +0000 URL: https://git.openjdk.org/loom/commit/ef7532e7e625628d6181c65116804ebb65f18061 8367994: test/jdk/sun/security/pkcs11/Signature/ tests pass when they should skip Reviewed-by: rhalade ! test/jdk/sun/security/pkcs11/Signature/InitAgainPSS.java ! test/jdk/sun/security/pkcs11/Signature/KeyAndParamCheckForPSS.java ! test/jdk/sun/security/pkcs11/Signature/SigInteropPSS.java ! test/jdk/sun/security/pkcs11/Signature/SigInteropPSS2.java ! test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS.java ! test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS2.java ! test/jdk/sun/security/pkcs11/Signature/TestDSA.java Changeset: 8e653d39 Branch: master Author: Phil Race Date: 2025-12-04 20:17:02 +0000 URL: https://git.openjdk.org/loom/commit/8e653d394e45180e16714124ed6584f912eb5cba 8373099: Problem list intermittently failing test sun/awt/image/bug8038000.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 5ec5a6ea Branch: master Author: Ben Taylor Committer: William Kemper Date: 2025-12-04 21:37:09 +0000 URL: https://git.openjdk.org/loom/commit/5ec5a6ea6c8e887b4e21f81e382f57129bffbab8 8373054: Shenandoah: Remove unnecessary BarrierSetNMethod::arm in shenandoahCodeRoots Reviewed-by: wkemper, ysr, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp Changeset: c8b30da7 Branch: master Author: Ben Taylor Committer: Y. Srinivas Ramakrishna Date: 2025-12-04 22:11:48 +0000 URL: https://git.openjdk.org/loom/commit/c8b30da7ef48edb3d43e07d2c1b8622d8123c3a9 8373039: Remove Incorrect Asserts in shenandoahScanRemembered Reviewed-by: wkemper, ysr, xpeng ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp Changeset: 6db1c4f5 Branch: master Author: Coleen Phillimore Date: 2025-12-04 22:34:42 +0000 URL: https://git.openjdk.org/loom/commit/6db1c4f5b93a1b7f7d9da36745dc433c9985a169 8371409: Wrong lock ordering between FullGCALot_lock and ThreadsLockThrottle_lock/MethodCompileQueue_lock Reviewed-by: rehn, pchilanomate ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: 13e32bf1 Branch: master Author: Coleen Phillimore Date: 2025-12-04 22:39:58 +0000 URL: https://git.openjdk.org/loom/commit/13e32bf1667a3be8492d1e4e3a273951202acd9c 8372098: Move AccessFlags to InstanceKlass Reviewed-by: liach, vlivanov, dlong, sspitsyn ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/ci/ciKlass.cpp ! src/hotspot/share/ci/ciKlass.hpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/fieldInfo.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/accessFlags.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Klass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ConcurrentLocksPrinter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 15f25389 Branch: master Author: Xiaolong Peng Date: 2025-12-04 23:56:20 +0000 URL: https://git.openjdk.org/loom/commit/15f25389435288881644f7aeab48fd2eae410999 8373056: Shenandoah: Remove unnecessary use of ShenandoahAllocRequest.type() Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp Changeset: 7e91d34f Branch: master Author: Anjian Wen Committer: Fei Yang Date: 2025-12-05 02:51:13 +0000 URL: https://git.openjdk.org/loom/commit/7e91d34f3e83b4c39d6ce5de34373d7d74d54512 8365732: RISC-V: implement AES CTR intrinsics Reviewed-by: fyang, mli ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: 674cc3ee Branch: master Author: Prasanta Sadhukhan Date: 2025-12-05 03:30:31 +0000 URL: https://git.openjdk.org/loom/commit/674cc3eeca77f1f2a6d937b1df5c5cd8a13c2d31 8042054: JTree.updateUI uses out-of-date item size information Reviewed-by: dnguyen, serb ! src/java.desktop/share/classes/javax/swing/JTree.java + test/jdk/javax/swing/JTree/JTreeUpdateTest.java Changeset: c09167df Branch: master Author: Erik Joelsson Date: 2025-12-05 14:01:36 +0000 URL: https://git.openjdk.org/loom/commit/c09167df60f44642492ec20f133713388f4802ad 8373113: Fix whitespace in RunTests.gmk Reviewed-by: tbell ! make/RunTests.gmk Changeset: ee0b8a72 Branch: master Author: Chris Plummer Date: 2025-12-05 15:39:49 +0000 URL: https://git.openjdk.org/loom/commit/ee0b8a72c64f7ac5058dbe5b2062cb35b6195484 8373102: com/sun/jdi/MethodInvokeWithTraceOnTest.java can fail with ObjectCollectedException when run with a small heap Reviewed-by: amenkov, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/EventSetImpl.java ! test/jdk/ProblemList.txt Changeset: 4d696d0d Branch: master Author: Albert Mingkun Yang Date: 2025-12-05 15:46:07 +0000 URL: https://git.openjdk.org/loom/commit/4d696d0d0ed523e3c99c68214586673913b1c7b5 8373086: Make isexceeded001.java more robust Reviewed-by: jsikstro, tschatzl ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001.java Changeset: 520c092a Branch: master Author: Neha Joshi Committer: Rajan Halade Date: 2025-12-05 16:46:26 +0000 URL: https://git.openjdk.org/loom/commit/520c092a658559a5d65f06a51061db3aae09931e 8362658: sun/security/ssl/SSLEngineImpl/* tests duplicate jvm flags Co-authored-by: Lei Zhu Reviewed-by: myankelevich, rhalade ! test/jdk/ProblemList-jvmti-stress-agent.txt ! test/jdk/sun/security/ssl/SSLEngineImpl/SSLEngineKeyLimit.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTClient.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTNoSessionCreation.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTParallel.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTSequence.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketKeyLimit.java Changeset: a20b7eb9 Branch: master Author: Joe Darcy Date: 2025-12-05 17:35:30 +0000 URL: https://git.openjdk.org/loom/commit/a20b7eb943c19f9852bfaaec1fbbff647f1f5273 8373125: Add defensive screening of modifiers for Field and Parameter toString() results Reviewed-by: alanb, liach ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Parameter.java ! test/jdk/java/lang/reflect/Modifier/toStringTest.java Changeset: 43787890 Branch: master Author: Albert Mingkun Yang Date: 2025-12-05 19:17:45 +0000 URL: https://git.openjdk.org/loom/commit/43787890291d71de61b28b8a4e3bf9aaba46757a 8373145: [BACKOUT] Remove ThreadLocalAllocBuffer::_reserve_for_allocation_prefetch Reviewed-by: mdoerr, kvn ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java Changeset: f3dd8daa Branch: master Author: Brent Christian Date: 2025-12-05 19:30:04 +0000 URL: https://git.openjdk.org/loom/commit/f3dd8daaa92896be51254e5abf3e0ec5b1ff5173 8371748: Remove the (empty) ThreadPoolExecutor.finalize() method Reviewed-by: vklang, jpai, alanb ! src/java.base/share/classes/java/util/concurrent/ThreadPoolExecutor.java Changeset: be8cbfa6 Branch: master Author: Chris Plummer Date: 2025-12-05 20:37:10 +0000 URL: https://git.openjdk.org/loom/commit/be8cbfa6129d19403c9871c22721b902856f1886 8362083: JDI VirtualMachine/dispose/dispose001 failed with FATAL ERROR in native method: JDWP cannot set thread local storage, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112) Reviewed-by: lmesnik, sspitsyn, amenkov ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c Changeset: 2596608b Branch: master Author: Leonid Mesnik Date: 2025-12-05 21:20:20 +0000 URL: https://git.openjdk.org/loom/commit/2596608ba1bb1b271dfa062bf732a5095e22fffd 8370846: Support execution of mlvm testing with test thread factory Reviewed-by: cjplummer ! test/hotspot/jtreg/vmTestbase/vm/mlvm/share/jdi/JDIBreakpointTest.java ! test/lib/jdk/test/lib/thread/TestThreadFactory.java Changeset: b0f59f60 Branch: master Author: Leonid Mesnik Date: 2025-12-06 00:02:51 +0000 URL: https://git.openjdk.org/loom/commit/b0f59f6021a00dc569e08810b34db21553a5b68d 8373127: Update nsk/monitoring tests to support virtual thread factory testing Reviewed-by: kevinw, amenkov ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryUsage/from/from001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/from_c/from_c001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/getLockName/getlockname001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/getLockOwnerName/getlockownername001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadInfo/isInNative/isinnative001/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadAllocatedBytes/BaseBehaviorTest.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadCpuTime/BaseBehaviorTest.java Changeset: 5f083aba Branch: master Author: Patrick Strawderman Committer: Viktor Klang Date: 2025-12-06 15:34:14 +0000 URL: https://git.openjdk.org/loom/commit/5f083abafc7abfaa46ddd053668cdfbfd2ad8a87 8179918: EnumSet spliterator should report SORTED, ORDERED, NONNULL Reviewed-by: vklang ! src/java.base/share/classes/java/util/EnumSet.java + test/jdk/java/util/EnumSet/EnumSetSpliteratorTest.java Changeset: 7da91533 Branch: master Author: Sergey Chernyshev Committer: Volkan Yazici Date: 2025-12-08 09:06:21 +0000 URL: https://git.openjdk.org/loom/commit/7da91533aaf2033cedee6e2a56fb693f26909df5 8369950: TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException Co-authored-by: Mikhail Yankelevich Reviewed-by: djelinski, vyazici, dfuchs, myankelevich ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java + test/jdk/javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java Changeset: 35001508 Branch: master Author: Jan Lahoda Date: 2025-12-08 10:04:44 +0000 URL: https://git.openjdk.org/loom/commit/350015088281eb9e6e9e3a9811f38adac5f7a975 8373094: javac may fail because of unattributed break in a loop Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: a6594794 Branch: master Author: Francesco Andreuzzi Date: 2025-12-08 11:45:53 +0000 URL: https://git.openjdk.org/loom/commit/a6594794839807d56434d6f28fe3d581fb1e36c0 8367541: Parallel: Make young and old generation fields nonstatic in ParallelScavengeHeap Reviewed-by: ayang ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psScavenge.hpp ! src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp Changeset: b83bf071 Branch: master Author: Qizheng Xing Committer: Emanuel Peter Date: 2025-12-08 13:16:39 +0000 URL: https://git.openjdk.org/loom/commit/b83bf0717eb8926efcf85a32be08f33a41bb48dd 8360192: C2: Make the type of count leading/trailing zero nodes more precise Reviewed-by: qamai, epeter, jbhateja ! src/hotspot/share/opto/countbitsnode.cpp + test/hotspot/jtreg/compiler/c2/gvn/TestCountBitsRange.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/micro/org/openjdk/bench/vm/compiler/CountLeadingZeros.java Changeset: 6700baa5 Branch: master Author: Hamlin Li Date: 2025-12-08 13:38:22 +0000 URL: https://git.openjdk.org/loom/commit/6700baa5052046f53eb1b04ed3205bbd8e9e9070 8357551: RISC-V: support CMoveF/D vectorization Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad + test/hotspot/jtreg/compiler/c2/irTests/TestConditionalMove.java ! test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java + test/hotspot/jtreg/compiler/c2/irTests/TestScalarConditionalMoveCmpObj.java - test/hotspot/jtreg/compiler/c2/irTests/TestVectorConditionalMove.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/micro/org/openjdk/bench/java/lang/ClassComparison.java ! test/micro/org/openjdk/bench/java/lang/FPComparison.java ! test/micro/org/openjdk/bench/java/lang/IntegerComparison.java ! test/micro/org/openjdk/bench/java/lang/LongComparison.java ! test/micro/org/openjdk/bench/java/lang/PointerComparison.java Changeset: ed5fc9ad Branch: master Author: Albert Mingkun Yang Date: 2025-12-08 14:21:40 +0000 URL: https://git.openjdk.org/loom/commit/ed5fc9ad2defb75ea5a68fe6427a591376ce6d6b 8373087: Parallel: Rename PSGenerationPool to PSOldGenerationPool Reviewed-by: tschatzl, jsikstro, iwalulya ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.hpp Changeset: ac81ce51 Branch: master Author: Chris Plummer Date: 2025-12-08 15:38:35 +0000 URL: https://git.openjdk.org/loom/commit/ac81ce51fa4ed04b6dbcc28cb2dd8eabcfe52ad7 8372555: Test com/sun/jdi/ExceptionEvents.java failed: ObjectCollectedException Reviewed-by: amenkov, dholmes ! test/jdk/com/sun/jdi/ExceptionEvents.java Changeset: 355755d3 Branch: master Author: Anton Artemov Date: 2025-12-08 16:07:01 +0000 URL: https://git.openjdk.org/loom/commit/355755d35de5c3155d1ea8d1afdd0debe5296a13 8366671: Refactor Thread::SpinAcquire and Thread::SpinRelease Co-authored-by: Axel Boldt-Christmas Reviewed-by: coleenp, kbarrett, dholmes, aboldtch ! src/hotspot/share/jfr/recorder/service/jfrEventThrottler.cpp ! src/hotspot/share/jfr/support/jfrAdaptiveSampler.cpp ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp - src/hotspot/share/jfr/utilities/jfrSpinlockHelper.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/park.cpp ! src/hotspot/share/runtime/safepointVerifiers.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp + src/hotspot/share/utilities/spinCriticalSection.cpp + src/hotspot/share/utilities/spinCriticalSection.hpp ! test/hotspot/gtest/jfr/test_adaptiveSampler.cpp Changeset: 811591c5 Branch: master Author: Albert Mingkun Yang Date: 2025-12-08 16:11:28 +0000 URL: https://git.openjdk.org/loom/commit/811591c5c332e6427dc96819451e046841fe635b 8373262: Parallel: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java fails Reviewed-by: cjplummer ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/parallel/ParallelScavengeHeap.java Changeset: d34ef196 Branch: master Author: Albert Mingkun Yang Date: 2025-12-08 18:51:34 +0000 URL: https://git.openjdk.org/loom/commit/d34ef196c298aa91f8511714cfb04b15ae7fbf0a 8370198: Test gc/arguments/TestShrinkHeapInSteps.java crashed: assert(left >= right) failed: avoid underflow Reviewed-by: stefank, tschatzl ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp Changeset: b118caf6 Branch: master Author: Alexandre Iline Date: 2025-12-08 22:16:28 +0000 URL: https://git.openjdk.org/loom/commit/b118caf6777cbf5bf75b41156fdfaaa15479f924 8373285: Update JCov for class file version 71 Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: 8df3f3d3 Branch: master Author: Erik Joelsson Date: 2025-12-08 22:45:59 +0000 URL: https://git.openjdk.org/loom/commit/8df3f3d3417bc8fdb5a75d986e084441bbf6ebd2 8373117: Update build doc link in README.md Reviewed-by: ayang, tbell ! README.md Changeset: b86b2cbc Branch: master Author: Ben Taylor Committer: Y. Srinivas Ramakrishna Date: 2025-12-09 00:17:30 +0000 URL: https://git.openjdk.org/loom/commit/b86b2cbc7d9dd57aeaf64f70f248a120ae3cb751 8352914: Shenandoah: Change definition of ShenandoahSharedValue to int32_t to leverage platform atomics Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp Changeset: c03d445a Branch: master Author: Prasanta Sadhukhan Date: 2025-12-09 00:34:58 +0000 URL: https://git.openjdk.org/loom/commit/c03d445a8ccfced5a59da680c37587f1024f3eca 6223700: XP L&F: Non-TopLevel JMenu's painting error Reviewed-by: kizune, dnguyen ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuUI.java + test/jdk/javax/swing/JMenu/TestPaintSpillOverBug.java Changeset: b1c95501 Branch: master Author: Phil Race Date: 2025-12-09 01:00:52 +0000 URL: https://git.openjdk.org/loom/commit/b1c955018281a228a67695e5077666d751cd87d2 8372554: Test windows-x64-cmp-baseline failed due to differences with splashscreen object file Reviewed-by: dholmes ! make/modules/java.desktop/lib/ClientLibraries.gmk Changeset: 3ea82b9f Branch: master Author: Xiaolong Peng Date: 2025-12-09 01:16:48 +0000 URL: https://git.openjdk.org/loom/commit/3ea82b9ff90aebc1a169fdd967c44408dc4a4f51 8373272: Genshen: ShenandoahOldGenerationTest fails after JDK-8373056 Reviewed-by: wkemper ! test/hotspot/gtest/gc/shenandoah/test_shenandoahOldGeneration.cpp Changeset: c9ab330b Branch: master Author: Xiaolong Peng Date: 2025-12-09 03:28:11 +0000 URL: https://git.openjdk.org/loom/commit/c9ab330b7bdd3cc2410ffdb336a63aa0ac7256a3 8373116: Genshen: arraycopy_work should be always done for arrays in old gen during young concurrent marking 8372498: [genshen] gc/TestAllocHumongousFragment.java#generational causes intermittent SIGSEGV crashes Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 35fe0b11 Branch: master Author: Harshit470250 <133243171+Harshit470250 at users.noreply.github.com> Committer: Amit Kumar Date: 2025-12-09 04:59:53 +0000 URL: https://git.openjdk.org/loom/commit/35fe0b11015bd3a88ee21c76b54f9d4969fdedf6 8372641: [s390x] Test failure TestMergeStores.java Reviewed-by: mhaessig, amitkumar, lucy ! src/hotspot/cpu/s390/s390.ad Changeset: 020e3f95 Branch: master Author: David Holmes Date: 2025-12-09 05:15:47 +0000 URL: https://git.openjdk.org/loom/commit/020e3f959194029715c18891e79aeed020abd59c 8373293: Change the exception handling in TestNestHostErrorWithMultiThread.java Reviewed-by: jpai, iklam ! test/hotspot/jtreg/runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java Changeset: cba09cd1 Branch: master Author: Prasanta Sadhukhan Date: 2025-12-09 07:40:52 +0000 URL: https://git.openjdk.org/loom/commit/cba09cd10d4e4482852a317786242836419c313b 5107379: Component orientation in JOptionPane is not proper in Motif L&F. Reviewed-by: tr, kizune ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java + test/jdk/javax/swing/plaf/motif/TestIconRTL.java From christian.fredriksson.2 at volvocars.com Tue Dec 9 16:19:49 2025 From: christian.fredriksson.2 at volvocars.com (Fredriksson, Christian) Date: Tue, 9 Dec 2025 16:19:49 +0000 Subject: Significant degradation of Thread.sleep with virtual threads in JDK 25 vs JDK 21 In-Reply-To: <3c2e6b7e-c939-4d2c-846a-c682571602db@oracle.com> References: <7d1d0db6-6a6b-481e-b0d9-994fc604240e@oracle.com> <3c2e6b7e-c939-4d2c-846a-c682571602db@oracle.com> Message-ID: Hi, I have now tested JDK 26 (specifically image openjdk:26-ea-jdk, pushed to docker hub 4 days ago). I do *not* see the issue there. When is next patch release for JDK 25? And I can verify that also. Mvh, Christian ________________________________ From: Alan Bateman Sent: Tuesday, December 2, 2025 8:37:01 AM To: Fredriksson, Christian ; loom-dev at openjdk.org Subject: Re: Significant degradation of Thread.sleep with virtual threads in JDK 25 vs JDK 21 On 02/12/2025 07:12, Fredriksson, Christian wrote: Hi, To clarify, is the previous mentioned issue (JDK-8370887) already fixed and in 26 EA? So I can test with e.g. the image openjdk:26-ea-jdk ? Yes, it was fixed in JDK 26 build 26, so available in the latest EA builds [1]. -Alan [1] https://jdk.java.net/26/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Wed Dec 10 14:14:11 2025 From: duke at openjdk.org (duke) Date: Wed, 10 Dec 2025 14:14:11 GMT Subject: git: openjdk/loom: fibers: 26 new changesets Message-ID: Changeset: 3a8a6e07 Branch: fibers Author: Ramkumar Sunderbabu Committer: Ivan Walulya Date: 2025-12-09 09:15:04 +0000 URL: https://git.openjdk.org/loom/commit/3a8a6e07f2a2cffa467815df55e746e92765903d 8319326: GC: Make TestParallelRefProc use createTestJavaProcessBuilder Reviewed-by: stefank, iwalulya ! test/hotspot/jtreg/gc/arguments/TestParallelRefProc.java Changeset: 24244e41 Branch: fibers Author: Ramkumar Sunderbabu Committer: Ivan Walulya Date: 2025-12-09 09:17:38 +0000 URL: https://git.openjdk.org/loom/commit/24244e41210be5b71b9e8238badbf975ed4b02ef 8319161: GC: Make TestParallelGCThreads use createTestJavaProcessBuilder Reviewed-by: stefank, iwalulya ! test/hotspot/jtreg/gc/arguments/TestParallelGCThreads.java Changeset: 9c91c68d Branch: fibers Author: Kevin Walls Date: 2025-12-09 09:18:04 +0000 URL: https://git.openjdk.org/loom/commit/9c91c68d1d5938d7e2b9a90c82b0a36ef1a063cd 8373111: Test java/lang/management/MemoryMXBean/MemoryManagement.java timed out Reviewed-by: lmesnik ! test/jdk/java/lang/management/MemoryMXBean/MemoryManagement.java Changeset: 786833cd Branch: fibers Author: Joel Sikstr?m Date: 2025-12-09 09:44:18 +0000 URL: https://git.openjdk.org/loom/commit/786833cd1bf8eda1cef25da392a055f4eb371abf 8373022: serviceability/sa/ClhsdbScanOops.java assumes no GC should occur Reviewed-by: cjplummer, stefank, ayang, tschatzl ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/ClhsdbScanOops.java Changeset: 1f49edd9 Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-09 10:02:01 +0000 URL: https://git.openjdk.org/loom/commit/1f49edd9783ed4579d989d6939ee75e926f0716a 4459231: Focus of JTabbedPane(with Scrollable tablayout) changes on change in LookAndFeel Reviewed-by: tr, kizune ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java + test/jdk/javax/swing/JTabbedPane/TabbedPaneBugWithLNF.java Changeset: 0a557890 Branch: fibers Author: Axel Boldt-Christmas Date: 2025-12-09 10:04:25 +0000 URL: https://git.openjdk.org/loom/commit/0a557890a50b0dc83c70dc877027d951dcc05470 8373025: test/hotspot/jtreg/gc/cslocker/TestCSLocker.java may deadlock Reviewed-by: ayang, tschatzl, stefank ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/cslocker/TestCSLocker.java ! test/hotspot/jtreg/gc/cslocker/libTestCSLocker.c Changeset: 830c4d3b Branch: fibers Author: Anton Artemov Date: 2025-12-09 10:15:04 +0000 URL: https://git.openjdk.org/loom/commit/830c4d3b198597b6af7a21b708bd3a852af200d4 8366272: The os::xxx APIs do not manage errno correctly Reviewed-by: dholmes ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/signals_posix.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: a4eb57c5 Branch: fibers Author: Emanuel Peter Date: 2025-12-09 12:45:36 +0000 URL: https://git.openjdk.org/loom/commit/a4eb57c5ec6254e59e486042015dd00457284ef2 8367028: compiler/c2/irTests/TestFloat16ScalarOperations.java failing intermittently because of constant folding Reviewed-by: chagedorn, syan, rcastanedalo ! test/hotspot/jtreg/compiler/c2/irTests/TestFloat16ScalarOperations.java Changeset: 8c8d21db Branch: fibers Author: Ioi Lam Date: 2025-12-09 16:10:13 +0000 URL: https://git.openjdk.org/loom/commit/8c8d21db6f5bdc35f6eddf91065b4eec462a716f 8373295: Wrong log tag for UseCompressedOops ergo setting Reviewed-by: dholmes, ysuenaga ! src/hotspot/share/runtime/arguments.cpp - test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SysDictCrash.java Changeset: 831fe94c Branch: fibers Author: Erik Joelsson Date: 2025-12-09 17:01:08 +0000 URL: https://git.openjdk.org/loom/commit/831fe94c75c407b2399be9b89630d8d117c2996c 8373255: Unexpected iobj and ipdb files after JDK-8370438 Reviewed-by: serb ! make/common/native/Flags.gmk Changeset: b99be505 Branch: fibers Author: Neha Joshi Committer: Rajan Halade Date: 2025-12-09 18:06:39 +0000 URL: https://git.openjdk.org/loom/commit/b99be505a5e3c8304be62a8b373d746fc52e8f0e 8368524: Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap Reviewed-by: myankelevich, rhalade ! test/jdk/sun/security/pkcs11/Cipher/KeyWrap/NISTWrapKAT.java ! test/jdk/sun/security/pkcs11/Cipher/KeyWrap/TestGeneral.java Changeset: b2daf9de Branch: fibers Author: Naoto Sato Date: 2025-12-09 18:21:12 +0000 URL: https://git.openjdk.org/loom/commit/b2daf9de3097de4d3b3c7d565e29a48b4aae19ee 8355522: Remove the `java.locale.useOldISOCodes` system property Reviewed-by: jlu, joehw ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java ! test/jdk/java/util/Locale/LocaleTest.java ! test/jdk/java/util/Locale/UseOldISOCodesTest.java Changeset: 1ae4a6c4 Branch: fibers Author: Matthew Donovan Date: 2025-12-09 18:48:33 +0000 URL: https://git.openjdk.org/loom/commit/1ae4a6c43ea21d4b147bcfcfaf1484c6e618dce5 8373101: JdkClient and JdkServer test classes ignore namedGroups field Reviewed-by: rhalade ! test/jdk/javax/net/ssl/TLSCommon/interop/JdkClient.java ! test/jdk/javax/net/ssl/TLSCommon/interop/JdkServer.java Changeset: 7f9951a9 Branch: fibers Author: Kim Barrett Date: 2025-12-10 00:07:28 +0000 URL: https://git.openjdk.org/loom/commit/7f9951a93479ac0ddd74375fdef92095fb65741b 8373207: Make DeferredStatic class template constant initializable Reviewed-by: jsjolen, stefank, iwalulya ! src/hotspot/share/utilities/deferredStatic.hpp Changeset: eef9813a Branch: fibers Author: Xueming Shen Date: 2025-12-10 00:50:48 +0000 URL: https://git.openjdk.org/loom/commit/eef9813ad42b02db5fc636e661a751d5120a639e 8371446: VectorAPI: Add unit tests for masks from various long values Reviewed-by: psandoz ! test/jdk/jdk/incubator/vector/AbstractVectorTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/gen-template.sh + test/jdk/jdk/incubator/vector/templates/Kernel-BoolBinary-op.template + test/jdk/jdk/incubator/vector/templates/Kernel-BoolUnary-op.template + test/jdk/jdk/incubator/vector/templates/Unit-BoolBinary-op.template + test/jdk/jdk/incubator/vector/templates/Unit-BoolUnary-op.template + test/jdk/jdk/incubator/vector/templates/Unit-Mask-FromToLong.template ! test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: a2622129 Branch: fibers Author: Jaikiran Pai Date: 2025-12-10 02:04:12 +0000 URL: https://git.openjdk.org/loom/commit/a26221299e657b64379d2d56ed3b073f12b227d1 8255463: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed with ThreadTimeoutException Reviewed-by: dfuchs, djelinski, bpb ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java Changeset: b6732d60 Branch: fibers Author: Xiaohong Gong Date: 2025-12-10 02:09:49 +0000 URL: https://git.openjdk.org/loom/commit/b6732d6048259de68a3dd5b4f66ac82f87270404 8371603: C2: Missing Ideal optimizations for load and store vectors on SVE Co-authored-by: Emanuel Peter Reviewed-by: epeter, erfang, haosun ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorLoadStoreOptimization.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorOperationsWithPartialSize.java Changeset: d36a234c Branch: fibers Author: Ioi Lam Date: 2025-12-10 02:26:04 +0000 URL: https://git.openjdk.org/loom/commit/d36a234c1228fdb12eb5931506ba1e03ebae95fc 8368701: CDS VerifierTest_1A.java failed on machines with 512 GB RAM Reviewed-by: dholmes, lmesnik ! test/hotspot/jtreg/runtime/cds/appcds/VerifierTest.java Changeset: a5968f93 Branch: fibers Author: Anjian Wen Committer: Fei Yang Date: 2025-12-10 02:34:52 +0000 URL: https://git.openjdk.org/loom/commit/a5968f936462741a7edea5bbbe73cb067af3d34f 8371968: RISC-V: implement AES CBC intrinsics Reviewed-by: fyang, fjiang ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 1bbbce75 Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-10 04:31:37 +0000 URL: https://git.openjdk.org/loom/commit/1bbbce75c5e68429c2a32519eb3c36d964dcdf57 6726690: SwingUtilities.replaceUI*Map() methods do not remove previously installed maps Reviewed-by: azvegint, tr ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java + test/jdk/javax/swing/SwingUtilities/UIMapTest.java Changeset: 00068a80 Branch: fibers Author: Roland Westrelin Date: 2025-12-10 08:45:20 +0000 URL: https://git.openjdk.org/loom/commit/00068a80304a809297d0df8698850861e9a1c5e9 8354282: C2: more crashes in compiled code because of dependency on removed range check CastIIs Reviewed-by: chagedorn, qamai, galder, epeter ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! test/hotspot/jtreg/compiler/c2/irTests/TestPushAddThruCast.java ! test/hotspot/jtreg/compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Changeset: b60ac710 Branch: fibers Author: Anton Seoane Ampudia Committer: Christian Hagedorn Date: 2025-12-10 08:53:30 +0000 URL: https://git.openjdk.org/loom/commit/b60ac710bebf195972436da324983e61b51484ef 8364490: Fatal error on large SpecTrapLimitExtraEntries value Reviewed-by: chagedorn, roland ! src/hotspot/share/runtime/globals.hpp + test/hotspot/jtreg/compiler/arguments/TestSpecTrapLimitExtraEntries.java Changeset: 8eaeb699 Branch: fibers Author: David Briemann Date: 2025-12-10 10:21:42 +0000 URL: https://git.openjdk.org/loom/commit/8eaeb6990b85ac8717f4fc4ce883f674017b91f3 8372589: VM crashes on init when NonNMethodCodeHeapSize is set too small and UseTransparentHugePages is enabled Reviewed-by: mdoerr, chagedorn ! src/hotspot/share/code/codeCache.cpp Changeset: 7b04a245 Branch: fibers Author: Alan Bateman Date: 2025-12-10 10:48:50 +0000 URL: https://git.openjdk.org/loom/commit/7b04a2450596d9c38f6cbb6a1ae569679008e7b5 Merge branch 'master' into fibers ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: d538ec77 Branch: fibers Author: Alan Bateman Date: 2025-12-10 10:41:04 +0000 URL: https://git.openjdk.org/loom/commit/d538ec77efb86ae5659bb36474d5f321b72a4c5b Skip monitors when using Thread::getStackTrace ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/vm/ThreadDumper.java ! src/java.base/share/classes/jdk/internal/vm/ThreadSnapshot.java ! src/java.base/share/native/libjava/ThreadSnapshot.c ! test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenParked.java ! test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenSpinning.java = test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenParked.java = test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenSpinning.java = test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenYielding.java Changeset: c5f50f2c Branch: fibers Author: Alan Bateman Date: 2025-12-10 10:48:56 +0000 URL: https://git.openjdk.org/loom/commit/c5f50f2c8936e5e97d4afeea101db2b6afc1dff1 Merge loom into fibers From duke at openjdk.org Wed Dec 10 14:15:34 2025 From: duke at openjdk.org (duke) Date: Wed, 10 Dec 2025 14:15:34 GMT Subject: git: openjdk/loom: master: 23 new changesets Message-ID: <6e9296c8-287f-4b25-a14c-51cdb4c892c4@openjdk.org> Changeset: 3a8a6e07 Branch: master Author: Ramkumar Sunderbabu Committer: Ivan Walulya Date: 2025-12-09 09:15:04 +0000 URL: https://git.openjdk.org/loom/commit/3a8a6e07f2a2cffa467815df55e746e92765903d 8319326: GC: Make TestParallelRefProc use createTestJavaProcessBuilder Reviewed-by: stefank, iwalulya ! test/hotspot/jtreg/gc/arguments/TestParallelRefProc.java Changeset: 24244e41 Branch: master Author: Ramkumar Sunderbabu Committer: Ivan Walulya Date: 2025-12-09 09:17:38 +0000 URL: https://git.openjdk.org/loom/commit/24244e41210be5b71b9e8238badbf975ed4b02ef 8319161: GC: Make TestParallelGCThreads use createTestJavaProcessBuilder Reviewed-by: stefank, iwalulya ! test/hotspot/jtreg/gc/arguments/TestParallelGCThreads.java Changeset: 9c91c68d Branch: master Author: Kevin Walls Date: 2025-12-09 09:18:04 +0000 URL: https://git.openjdk.org/loom/commit/9c91c68d1d5938d7e2b9a90c82b0a36ef1a063cd 8373111: Test java/lang/management/MemoryMXBean/MemoryManagement.java timed out Reviewed-by: lmesnik ! test/jdk/java/lang/management/MemoryMXBean/MemoryManagement.java Changeset: 786833cd Branch: master Author: Joel Sikstr?m Date: 2025-12-09 09:44:18 +0000 URL: https://git.openjdk.org/loom/commit/786833cd1bf8eda1cef25da392a055f4eb371abf 8373022: serviceability/sa/ClhsdbScanOops.java assumes no GC should occur Reviewed-by: cjplummer, stefank, ayang, tschatzl ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/sa/ClhsdbScanOops.java Changeset: 1f49edd9 Branch: master Author: Prasanta Sadhukhan Date: 2025-12-09 10:02:01 +0000 URL: https://git.openjdk.org/loom/commit/1f49edd9783ed4579d989d6939ee75e926f0716a 4459231: Focus of JTabbedPane(with Scrollable tablayout) changes on change in LookAndFeel Reviewed-by: tr, kizune ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java + test/jdk/javax/swing/JTabbedPane/TabbedPaneBugWithLNF.java Changeset: 0a557890 Branch: master Author: Axel Boldt-Christmas Date: 2025-12-09 10:04:25 +0000 URL: https://git.openjdk.org/loom/commit/0a557890a50b0dc83c70dc877027d951dcc05470 8373025: test/hotspot/jtreg/gc/cslocker/TestCSLocker.java may deadlock Reviewed-by: ayang, tschatzl, stefank ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/cslocker/TestCSLocker.java ! test/hotspot/jtreg/gc/cslocker/libTestCSLocker.c Changeset: 830c4d3b Branch: master Author: Anton Artemov Date: 2025-12-09 10:15:04 +0000 URL: https://git.openjdk.org/loom/commit/830c4d3b198597b6af7a21b708bd3a852af200d4 8366272: The os::xxx APIs do not manage errno correctly Reviewed-by: dholmes ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/signals_posix.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: a4eb57c5 Branch: master Author: Emanuel Peter Date: 2025-12-09 12:45:36 +0000 URL: https://git.openjdk.org/loom/commit/a4eb57c5ec6254e59e486042015dd00457284ef2 8367028: compiler/c2/irTests/TestFloat16ScalarOperations.java failing intermittently because of constant folding Reviewed-by: chagedorn, syan, rcastanedalo ! test/hotspot/jtreg/compiler/c2/irTests/TestFloat16ScalarOperations.java Changeset: 8c8d21db Branch: master Author: Ioi Lam Date: 2025-12-09 16:10:13 +0000 URL: https://git.openjdk.org/loom/commit/8c8d21db6f5bdc35f6eddf91065b4eec462a716f 8373295: Wrong log tag for UseCompressedOops ergo setting Reviewed-by: dholmes, ysuenaga ! src/hotspot/share/runtime/arguments.cpp - test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SysDictCrash.java Changeset: 831fe94c Branch: master Author: Erik Joelsson Date: 2025-12-09 17:01:08 +0000 URL: https://git.openjdk.org/loom/commit/831fe94c75c407b2399be9b89630d8d117c2996c 8373255: Unexpected iobj and ipdb files after JDK-8370438 Reviewed-by: serb ! make/common/native/Flags.gmk Changeset: b99be505 Branch: master Author: Neha Joshi Committer: Rajan Halade Date: 2025-12-09 18:06:39 +0000 URL: https://git.openjdk.org/loom/commit/b99be505a5e3c8304be62a8b373d746fc52e8f0e 8368524: Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap Reviewed-by: myankelevich, rhalade ! test/jdk/sun/security/pkcs11/Cipher/KeyWrap/NISTWrapKAT.java ! test/jdk/sun/security/pkcs11/Cipher/KeyWrap/TestGeneral.java Changeset: b2daf9de Branch: master Author: Naoto Sato Date: 2025-12-09 18:21:12 +0000 URL: https://git.openjdk.org/loom/commit/b2daf9de3097de4d3b3c7d565e29a48b4aae19ee 8355522: Remove the `java.locale.useOldISOCodes` system property Reviewed-by: jlu, joehw ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java ! test/jdk/java/util/Locale/LocaleTest.java ! test/jdk/java/util/Locale/UseOldISOCodesTest.java Changeset: 1ae4a6c4 Branch: master Author: Matthew Donovan Date: 2025-12-09 18:48:33 +0000 URL: https://git.openjdk.org/loom/commit/1ae4a6c43ea21d4b147bcfcfaf1484c6e618dce5 8373101: JdkClient and JdkServer test classes ignore namedGroups field Reviewed-by: rhalade ! test/jdk/javax/net/ssl/TLSCommon/interop/JdkClient.java ! test/jdk/javax/net/ssl/TLSCommon/interop/JdkServer.java Changeset: 7f9951a9 Branch: master Author: Kim Barrett Date: 2025-12-10 00:07:28 +0000 URL: https://git.openjdk.org/loom/commit/7f9951a93479ac0ddd74375fdef92095fb65741b 8373207: Make DeferredStatic class template constant initializable Reviewed-by: jsjolen, stefank, iwalulya ! src/hotspot/share/utilities/deferredStatic.hpp Changeset: eef9813a Branch: master Author: Xueming Shen Date: 2025-12-10 00:50:48 +0000 URL: https://git.openjdk.org/loom/commit/eef9813ad42b02db5fc636e661a751d5120a639e 8371446: VectorAPI: Add unit tests for masks from various long values Reviewed-by: psandoz ! test/jdk/jdk/incubator/vector/AbstractVectorTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/gen-template.sh + test/jdk/jdk/incubator/vector/templates/Kernel-BoolBinary-op.template + test/jdk/jdk/incubator/vector/templates/Kernel-BoolUnary-op.template + test/jdk/jdk/incubator/vector/templates/Unit-BoolBinary-op.template + test/jdk/jdk/incubator/vector/templates/Unit-BoolUnary-op.template + test/jdk/jdk/incubator/vector/templates/Unit-Mask-FromToLong.template ! test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: a2622129 Branch: master Author: Jaikiran Pai Date: 2025-12-10 02:04:12 +0000 URL: https://git.openjdk.org/loom/commit/a26221299e657b64379d2d56ed3b073f12b227d1 8255463: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed with ThreadTimeoutException Reviewed-by: dfuchs, djelinski, bpb ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java Changeset: b6732d60 Branch: master Author: Xiaohong Gong Date: 2025-12-10 02:09:49 +0000 URL: https://git.openjdk.org/loom/commit/b6732d6048259de68a3dd5b4f66ac82f87270404 8371603: C2: Missing Ideal optimizations for load and store vectors on SVE Co-authored-by: Emanuel Peter Reviewed-by: epeter, erfang, haosun ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorLoadStoreOptimization.java + test/hotspot/jtreg/compiler/vectorapi/TestVectorOperationsWithPartialSize.java Changeset: d36a234c Branch: master Author: Ioi Lam Date: 2025-12-10 02:26:04 +0000 URL: https://git.openjdk.org/loom/commit/d36a234c1228fdb12eb5931506ba1e03ebae95fc 8368701: CDS VerifierTest_1A.java failed on machines with 512 GB RAM Reviewed-by: dholmes, lmesnik ! test/hotspot/jtreg/runtime/cds/appcds/VerifierTest.java Changeset: a5968f93 Branch: master Author: Anjian Wen Committer: Fei Yang Date: 2025-12-10 02:34:52 +0000 URL: https://git.openjdk.org/loom/commit/a5968f936462741a7edea5bbbe73cb067af3d34f 8371968: RISC-V: implement AES CBC intrinsics Reviewed-by: fyang, fjiang ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 1bbbce75 Branch: master Author: Prasanta Sadhukhan Date: 2025-12-10 04:31:37 +0000 URL: https://git.openjdk.org/loom/commit/1bbbce75c5e68429c2a32519eb3c36d964dcdf57 6726690: SwingUtilities.replaceUI*Map() methods do not remove previously installed maps Reviewed-by: azvegint, tr ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java + test/jdk/javax/swing/SwingUtilities/UIMapTest.java Changeset: 00068a80 Branch: master Author: Roland Westrelin Date: 2025-12-10 08:45:20 +0000 URL: https://git.openjdk.org/loom/commit/00068a80304a809297d0df8698850861e9a1c5e9 8354282: C2: more crashes in compiled code because of dependency on removed range check CastIIs Reviewed-by: chagedorn, qamai, galder, epeter ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! test/hotspot/jtreg/compiler/c2/irTests/TestPushAddThruCast.java ! test/hotspot/jtreg/compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Changeset: b60ac710 Branch: master Author: Anton Seoane Ampudia Committer: Christian Hagedorn Date: 2025-12-10 08:53:30 +0000 URL: https://git.openjdk.org/loom/commit/b60ac710bebf195972436da324983e61b51484ef 8364490: Fatal error on large SpecTrapLimitExtraEntries value Reviewed-by: chagedorn, roland ! src/hotspot/share/runtime/globals.hpp + test/hotspot/jtreg/compiler/arguments/TestSpecTrapLimitExtraEntries.java Changeset: 8eaeb699 Branch: master Author: David Briemann Date: 2025-12-10 10:21:42 +0000 URL: https://git.openjdk.org/loom/commit/8eaeb6990b85ac8717f4fc4ce883f674017b91f3 8372589: VM crashes on init when NonNMethodCodeHeapSize is set too small and UseTransparentHugePages is enabled Reviewed-by: mdoerr, chagedorn ! src/hotspot/share/code/codeCache.cpp From duke at openjdk.org Fri Dec 12 13:44:25 2025 From: duke at openjdk.org (duke) Date: Fri, 12 Dec 2025 13:44:25 GMT Subject: git: openjdk/loom: fibers: 27 new changesets Message-ID: <424827b6-3bf3-47f0-bd31-6cd6248ee8ef@openjdk.org> Changeset: b58e3b60 Branch: fibers Author: Daniel Fuchs Date: 2025-12-10 12:08:53 +0000 URL: https://git.openjdk.org/loom/commit/b58e3b600bb14bf7133eda0c37a4be4c82919d79 8373227: Test java/net/httpclient/http2/StreamFlowControlTest.java failed: should sleep time be raised? Reviewed-by: djelinski ! test/jdk/java/net/httpclient/http2/StreamFlowControlTest.java Changeset: 655e9cda Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-10 13:08:12 +0000 URL: https://git.openjdk.org/loom/commit/655e9cda3f6b1fa3a6f0553e7745aa088dde53e8 8373335: Serial: Clean up SerialHeap members by access specifies Reviewed-by: jsikstro ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp Changeset: 54430a87 Branch: fibers Author: Daniel Fuchs Date: 2025-12-10 15:14:46 +0000 URL: https://git.openjdk.org/loom/commit/54430a87226096725b13f05326d08629420657ca 8373362: Http3TestServer should not log an exception stack trace when it is stopping normally Reviewed-by: jpai, djelinski ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http3/Http3ServerExchange.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http3/Http3TestServer.java Changeset: 11aa6e10 Branch: fibers Author: Fairoz Matte Date: 2025-12-10 18:15:32 +0000 URL: https://git.openjdk.org/loom/commit/11aa6e10c017a7257c60eb7395d728d32b2006d4 8373270: GCC 14.2.0 reports warning: '%s' directive output may be truncated Reviewed-by: kbarrett, dholmes, alanb ! src/java.base/unix/native/libjli/java_md_common.c Changeset: 413f852b Branch: fibers Author: Mat Carter Committer: Ioi Lam Date: 2025-12-10 18:49:30 +0000 URL: https://git.openjdk.org/loom/commit/413f852bdb4767b2a1c29431144616668888138d 8369736: Add management interface for AOT cache creation Reviewed-by: mr, iklam, kevinw ! src/hotspot/share/cds/aotMetaspace.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.management/share/classes/sun/management/VMManagement.java ! src/java.management/share/classes/sun/management/VMManagementImpl.java ! src/java.management/share/native/libmanagement/VMManagementImpl.c + src/jdk.management/share/classes/com/sun/management/internal/HotSpotAOTCacheImpl.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java + src/jdk.management/share/classes/jdk/management/HotSpotAOTCacheMXBean.java + test/hotspot/jtreg/runtime/cds/appcds/aotCache/HotSpotAOTCacheMXBeanTest.java Changeset: 52aa7fe1 Branch: fibers Author: Phil Race Date: 2025-12-10 21:40:18 +0000 URL: https://git.openjdk.org/loom/commit/52aa7fe1c970709fe387b70a5020ea0e77c4047f 8334549: [Sound] Test timed out: javax/sound/sampled/Clip/OpenNonIntegralNumberOfSampleframes.java Reviewed-by: aivanov, kizune ! test/jdk/javax/sound/sampled/Clip/OpenNonIntegralNumberOfSampleframes.java Changeset: 74dca863 Branch: fibers Author: Brian Burkhalter Date: 2025-12-10 22:46:35 +0000 URL: https://git.openjdk.org/loom/commit/74dca863c2e61c13884c3454b8da7be125235970 8371718: (sc) Channels.new{Input,Output}Stream can allocate unbounded memory for a socket channel Reviewed-by: alanb ! src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java ! src/java.base/share/classes/sun/nio/ch/ChannelOutputStream.java ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/Streams.java ! test/jdk/java/nio/channels/Channels/SocketChannelStreams.java Changeset: 920a99fa Branch: fibers Author: Kevin Walls Date: 2025-12-11 07:44:10 +0000 URL: https://git.openjdk.org/loom/commit/920a99faeb6e0aee445df39cf8ddd43df18345d6 8370731: Tests in vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/ failed: OutOfMemoryError Reviewed-by: sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters001/CollectionCounters001.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters004/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters005/TestDescription.java Changeset: b46aef88 Branch: fibers Author: Matthias Baesken Date: 2025-12-11 08:17:25 +0000 URL: https://git.openjdk.org/loom/commit/b46aef88b333db8866c60c18cbf842b6cb89dacf 8371871: libSharedCloseAgent.cpp crashes VS2019 and older VS2022 compiler Reviewed-by: jvernee, mdoerr ! test/jdk/java/foreign/sharedclosejvmti/libSharedCloseAgent.cpp Changeset: 4b774cb4 Branch: fibers Author: Saranya Natarajan Date: 2025-12-11 08:43:31 +0000 URL: https://git.openjdk.org/loom/commit/4b774cb46d9355015a6bfcf53b47233d6f235239 8370489: Some compiler tests miss the @key randomness Reviewed-by: dfenacci, epeter, chagedorn ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/c2/TestMergeStoresMemorySegment.java ! test/hotspot/jtreg/compiler/c2/TestMinMaxSubword.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestFloat16Replicate.java ! test/hotspot/jtreg/compiler/c2/irTests/ModDNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModFNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModLNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/TestMulNodeIdealization.java ! test/hotspot/jtreg/compiler/c2/irTests/TestShiftAndMask.java ! test/hotspot/jtreg/compiler/c2/irTests/UDivINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/UDivLNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/UModINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/UModLNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/controldependency/TestDivDependentOnMainLoopGuard.java ! test/hotspot/jtreg/compiler/igvn/ExpressionFuzzer.java ! test/hotspot/jtreg/compiler/intrinsics/float16/TestFloat16MaxMinSpecialValues.java ! test/hotspot/jtreg/compiler/loopopts/InvariantCodeMotionReassociateAddSub.java ! test/hotspot/jtreg/compiler/loopopts/InvariantCodeMotionReassociateCmp.java ! test/hotspot/jtreg/compiler/loopopts/parallel_iv/TestParallelIvInIntCountedLoop.java ! test/hotspot/jtreg/compiler/loopopts/superword/MinMaxRed_Int.java ! test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestAliasing.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestCompatibleUseDefTypeSize.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestEquivalentInvariants.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegment.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegmentUnalignedAddress.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java ! test/hotspot/jtreg/compiler/vectorapi/Test8278948.java ! test/hotspot/jtreg/compiler/vectorapi/TestVectorAddMulReduction.java ! test/hotspot/jtreg/compiler/vectorapi/TestVectorCompressExpandBits.java ! test/hotspot/jtreg/compiler/vectorapi/VectorMaskCastIdentityTest.java ! test/hotspot/jtreg/compiler/vectorapi/VectorMultiplyOpt.java ! test/hotspot/jtreg/compiler/vectorapi/VectorSaturatedOperationsTest.java ! test/hotspot/jtreg/compiler/vectorization/TestAutoVecIntMinMax.java ! test/hotspot/jtreg/compiler/vectorization/TestEor3AArch64.java ! test/hotspot/jtreg/compiler/vectorization/TestMacroLogicVector.java ! test/hotspot/jtreg/compiler/vectorization/TestVectorZeroCount.java Changeset: 6a6ff876 Branch: fibers Author: Roman Marchenko Committer: Thomas Schatzl Date: 2025-12-11 08:48:26 +0000 URL: https://git.openjdk.org/loom/commit/6a6ff876c515eba6cc89320e02dc5739d4540316 8372860: TestCodeCacheUnloadDuringConcCycle fails on ARM32 Reviewed-by: tschatzl, shade ! test/hotspot/jtreg/gc/g1/TestCodeCacheUnloadDuringConcCycle.java Changeset: aa986be7 Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-11 10:56:20 +0000 URL: https://git.openjdk.org/loom/commit/aa986be7529b7a2950202dbe6885e5224d331078 8373421: Parallel: Rename young generation eden and survivor space pool Reviewed-by: tschatzl, jsikstro ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.hpp Changeset: e1d1d53c Branch: fibers Author: Daniel Gredler Date: 2025-12-11 13:53:01 +0000 URL: https://git.openjdk.org/loom/commit/e1d1d53cd1211b64d1fef03583a23056908b3482 8167268: StandardGlyphVector.getGlyphMetrics creates metrics with erroneous bounds for characters with no outline (e.g., the space character ' ') Reviewed-by: serb, prr ! src/java.desktop/share/classes/sun/font/StandardGlyphVector.java + test/jdk/java/awt/font/GlyphVector/GlyphMetricsTest.java Changeset: b0bd0c39 Branch: fibers Author: Matthias Baesken Date: 2025-12-11 14:13:32 +0000 URL: https://git.openjdk.org/loom/commit/b0bd0c398ee0e0fd625eba1e7d9802a4e420a2c5 8372759: Test build/AbsPathsInImage.java fails after JDK-8370438 Reviewed-by: erikj ! make/autoconf/flags-ldflags.m4 Changeset: 2a1c676e Branch: fibers Author: Ioi Lam Date: 2025-12-11 14:33:44 +0000 URL: https://git.openjdk.org/loom/commit/2a1c676e0a1a357f75ea008e8e12c7ae9340b9b1 8373464: Test JdkManagementCheckSince.java fails after JDK-8369736 Reviewed-by: dholmes, shade, kevinw ! src/jdk.management/share/classes/jdk/management/HotSpotAOTCacheMXBean.java Changeset: 692edc48 Branch: fibers Author: Nizar Benalla Date: 2025-12-11 15:30:21 +0000 URL: https://git.openjdk.org/loom/commit/692edc4879489d44a477a03028eb3e7ef9dff388 8373443: Update --release 26 symbol information for JDK 26 build 27 Reviewed-by: jlahoda, iris, darcy ! src/jdk.compiler/share/data/symbols/java.base-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.sql-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.jpackage-Q.sym.txt ! src/jdk.compiler/share/data/symbols/symbols Changeset: 431dcf84 Branch: fibers Author: Daniel Gredler Date: 2025-12-11 20:15:45 +0000 URL: https://git.openjdk.org/loom/commit/431dcf84e9754c743105380ca69af647b57193bc 8368702: [macosx] Printing text with composite fonts loses font transform Reviewed-by: psadhukhan, prr ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTextPipe.java ! test/jdk/java/awt/print/PrinterJob/PrintTextTest.java Changeset: 66d7b0ce Branch: fibers Author: Sergey Bylokhov Date: 2025-12-11 20:32:58 +0000 URL: https://git.openjdk.org/loom/commit/66d7b0ce8f8414c3d5fd3476b65152b9f2a9a587 8371657: [macosx] Programmatically selecting/deselecting List item triggers an ItemEvent Reviewed-by: aivanov, azvegint, dnguyen, tr ! src/java.desktop/macosx/classes/sun/lwawt/LWListPeer.java ! test/jdk/ProblemList.txt + test/jdk/java/awt/List/NoEvents/ProgrammaticChange.java Changeset: ae85d899 Branch: fibers Author: Xueming Shen Date: 2025-12-11 20:47:32 +0000 URL: https://git.openjdk.org/loom/commit/ae85d899d074c531371dece30319ace701517528 8373389: Two jdk/incubator/vector/ tests fails after JDK-8371446 Reviewed-by: psandoz ! test/jdk/jdk/incubator/vector/AbstractVectorTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java Changeset: c46bed72 Branch: fibers Author: Serguei Spitsyn Date: 2025-12-12 04:03:33 +0000 URL: https://git.openjdk.org/loom/commit/c46bed7292aad21b8cf9defcccac43c010a1f116 8371502: serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java failing Reviewed-by: lmesnik, amenkov ! test/hotspot/jtreg/serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java Changeset: 325cdb7f Branch: fibers Author: Jaikiran Pai Date: 2025-12-12 05:46:33 +0000 URL: https://git.openjdk.org/loom/commit/325cdb7fc5cd2ce1d2c2bf08ca064fb0f7e5a0b8 8373517: Revert the macos Tahoe specific change done in JDK-8359830 Reviewed-by: rriggs, bpb ! src/java.base/macosx/native/libjava/java_props_macosx.c Changeset: 650de99f Branch: fibers Author: Emanuel Peter Date: 2025-12-12 07:17:17 +0000 URL: https://git.openjdk.org/loom/commit/650de99fc662a3e8473391627df9e523b6b80727 8367158: C2: create better fill and copy benchmarks, taking alignment into account Reviewed-by: qamai, kvn + test/micro/org/openjdk/bench/vm/compiler/VectorBulkOperationsArray.java + test/micro/org/openjdk/bench/vm/compiler/VectorBulkOperationsMemorySegment.java Changeset: dc625526 Branch: fibers Author: Hamlin Li Date: 2025-12-12 09:59:33 +0000 URL: https://git.openjdk.org/loom/commit/dc6255261f34c65d0e87814638817c97a880eb7f 8371920: [TEST] Enable CMove tests on other platforms Reviewed-by: fyang, epeter = test/hotspot/jtreg/compiler/c2/cmove/TestConditionalMove.java = test/hotspot/jtreg/compiler/c2/cmove/TestFPComparison2.java = test/hotspot/jtreg/compiler/c2/cmove/TestScalarConditionalMoveCmpObj.java Changeset: 0a53da52 Branch: fibers Author: Alan Bateman Date: 2025-12-12 11:48:09 +0000 URL: https://git.openjdk.org/loom/commit/0a53da52f2a8d169719627b0d0eb47636f61b743 Merge branch 'master' into fibers ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! test/jdk/ProblemList.txt ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! test/jdk/ProblemList.txt Changeset: c01dc8e8 Branch: fibers Author: Alan Bateman Date: 2025-12-11 08:34:38 +0000 URL: https://git.openjdk.org/loom/commit/c01dc8e8f257ff76af0c73d19b295126f19cc701 Throw IAE if preferredCarrier is a virtual thread ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/ThreadBuilders.java Changeset: 15dfebc1 Branch: fibers Author: Alan Bateman Date: 2025-12-12 11:35:05 +0000 URL: https://git.openjdk.org/loom/commit/15dfebc179da1b4913a810c3e8ec5217d99ce911 Thread.getStackTrace update for testing ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/native/libjava/Thread.c ! test/jdk/java/lang/Thread/virtual/Parking.java ! test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenParked.java ! test/micro/org/openjdk/bench/java/lang/ThreadGetStackTraceWhenSpinning.java ! test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenParked.java ! test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenSpinning.java ! test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenYielding.java Changeset: 224bd19f Branch: fibers Author: Alan Bateman Date: 2025-12-12 11:48:55 +0000 URL: https://git.openjdk.org/loom/commit/224bd19f5e510408ceb6c3c96fedd8675f8ae64f Merge loom into fibers ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp From duke at openjdk.org Fri Dec 12 13:45:49 2025 From: duke at openjdk.org (duke) Date: Fri, 12 Dec 2025 13:45:49 GMT Subject: git: openjdk/loom: master: 23 new changesets Message-ID: <0892d4e4-1a12-4d6b-9261-81f615331001@openjdk.org> Changeset: b58e3b60 Branch: master Author: Daniel Fuchs Date: 2025-12-10 12:08:53 +0000 URL: https://git.openjdk.org/loom/commit/b58e3b600bb14bf7133eda0c37a4be4c82919d79 8373227: Test java/net/httpclient/http2/StreamFlowControlTest.java failed: should sleep time be raised? Reviewed-by: djelinski ! test/jdk/java/net/httpclient/http2/StreamFlowControlTest.java Changeset: 655e9cda Branch: master Author: Albert Mingkun Yang Date: 2025-12-10 13:08:12 +0000 URL: https://git.openjdk.org/loom/commit/655e9cda3f6b1fa3a6f0553e7745aa088dde53e8 8373335: Serial: Clean up SerialHeap members by access specifies Reviewed-by: jsikstro ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp Changeset: 54430a87 Branch: master Author: Daniel Fuchs Date: 2025-12-10 15:14:46 +0000 URL: https://git.openjdk.org/loom/commit/54430a87226096725b13f05326d08629420657ca 8373362: Http3TestServer should not log an exception stack trace when it is stopping normally Reviewed-by: jpai, djelinski ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http3/Http3ServerExchange.java ! test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http3/Http3TestServer.java Changeset: 11aa6e10 Branch: master Author: Fairoz Matte Date: 2025-12-10 18:15:32 +0000 URL: https://git.openjdk.org/loom/commit/11aa6e10c017a7257c60eb7395d728d32b2006d4 8373270: GCC 14.2.0 reports warning: '%s' directive output may be truncated Reviewed-by: kbarrett, dholmes, alanb ! src/java.base/unix/native/libjli/java_md_common.c Changeset: 413f852b Branch: master Author: Mat Carter Committer: Ioi Lam Date: 2025-12-10 18:49:30 +0000 URL: https://git.openjdk.org/loom/commit/413f852bdb4767b2a1c29431144616668888138d 8369736: Add management interface for AOT cache creation Reviewed-by: mr, iklam, kevinw ! src/hotspot/share/cds/aotMetaspace.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.management/share/classes/sun/management/VMManagement.java ! src/java.management/share/classes/sun/management/VMManagementImpl.java ! src/java.management/share/native/libmanagement/VMManagementImpl.c + src/jdk.management/share/classes/com/sun/management/internal/HotSpotAOTCacheImpl.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java + src/jdk.management/share/classes/jdk/management/HotSpotAOTCacheMXBean.java + test/hotspot/jtreg/runtime/cds/appcds/aotCache/HotSpotAOTCacheMXBeanTest.java Changeset: 52aa7fe1 Branch: master Author: Phil Race Date: 2025-12-10 21:40:18 +0000 URL: https://git.openjdk.org/loom/commit/52aa7fe1c970709fe387b70a5020ea0e77c4047f 8334549: [Sound] Test timed out: javax/sound/sampled/Clip/OpenNonIntegralNumberOfSampleframes.java Reviewed-by: aivanov, kizune ! test/jdk/javax/sound/sampled/Clip/OpenNonIntegralNumberOfSampleframes.java Changeset: 74dca863 Branch: master Author: Brian Burkhalter Date: 2025-12-10 22:46:35 +0000 URL: https://git.openjdk.org/loom/commit/74dca863c2e61c13884c3454b8da7be125235970 8371718: (sc) Channels.new{Input,Output}Stream can allocate unbounded memory for a socket channel Reviewed-by: alanb ! src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java ! src/java.base/share/classes/sun/nio/ch/ChannelOutputStream.java ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/Streams.java ! test/jdk/java/nio/channels/Channels/SocketChannelStreams.java Changeset: 920a99fa Branch: master Author: Kevin Walls Date: 2025-12-11 07:44:10 +0000 URL: https://git.openjdk.org/loom/commit/920a99faeb6e0aee445df39cf8ddd43df18345d6 8370731: Tests in vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/ failed: OutOfMemoryError Reviewed-by: sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters001/CollectionCounters001.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters004/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters005/TestDescription.java Changeset: b46aef88 Branch: master Author: Matthias Baesken Date: 2025-12-11 08:17:25 +0000 URL: https://git.openjdk.org/loom/commit/b46aef88b333db8866c60c18cbf842b6cb89dacf 8371871: libSharedCloseAgent.cpp crashes VS2019 and older VS2022 compiler Reviewed-by: jvernee, mdoerr ! test/jdk/java/foreign/sharedclosejvmti/libSharedCloseAgent.cpp Changeset: 4b774cb4 Branch: master Author: Saranya Natarajan Date: 2025-12-11 08:43:31 +0000 URL: https://git.openjdk.org/loom/commit/4b774cb46d9355015a6bfcf53b47233d6f235239 8370489: Some compiler tests miss the @key randomness Reviewed-by: dfenacci, epeter, chagedorn ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/c2/TestMergeStoresMemorySegment.java ! test/hotspot/jtreg/compiler/c2/TestMinMaxSubword.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestFloat16Replicate.java ! test/hotspot/jtreg/compiler/c2/irTests/ModDNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModFNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModLNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/TestMulNodeIdealization.java ! test/hotspot/jtreg/compiler/c2/irTests/TestShiftAndMask.java ! test/hotspot/jtreg/compiler/c2/irTests/UDivINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/UDivLNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/UModINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/UModLNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/controldependency/TestDivDependentOnMainLoopGuard.java ! test/hotspot/jtreg/compiler/igvn/ExpressionFuzzer.java ! test/hotspot/jtreg/compiler/intrinsics/float16/TestFloat16MaxMinSpecialValues.java ! test/hotspot/jtreg/compiler/loopopts/InvariantCodeMotionReassociateAddSub.java ! test/hotspot/jtreg/compiler/loopopts/InvariantCodeMotionReassociateCmp.java ! test/hotspot/jtreg/compiler/loopopts/parallel_iv/TestParallelIvInIntCountedLoop.java ! test/hotspot/jtreg/compiler/loopopts/superword/MinMaxRed_Int.java ! test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestAliasing.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestCompatibleUseDefTypeSize.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestEquivalentInvariants.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegment.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegmentUnalignedAddress.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java ! test/hotspot/jtreg/compiler/vectorapi/Test8278948.java ! test/hotspot/jtreg/compiler/vectorapi/TestVectorAddMulReduction.java ! test/hotspot/jtreg/compiler/vectorapi/TestVectorCompressExpandBits.java ! test/hotspot/jtreg/compiler/vectorapi/VectorMaskCastIdentityTest.java ! test/hotspot/jtreg/compiler/vectorapi/VectorMultiplyOpt.java ! test/hotspot/jtreg/compiler/vectorapi/VectorSaturatedOperationsTest.java ! test/hotspot/jtreg/compiler/vectorization/TestAutoVecIntMinMax.java ! test/hotspot/jtreg/compiler/vectorization/TestEor3AArch64.java ! test/hotspot/jtreg/compiler/vectorization/TestMacroLogicVector.java ! test/hotspot/jtreg/compiler/vectorization/TestVectorZeroCount.java Changeset: 6a6ff876 Branch: master Author: Roman Marchenko Committer: Thomas Schatzl Date: 2025-12-11 08:48:26 +0000 URL: https://git.openjdk.org/loom/commit/6a6ff876c515eba6cc89320e02dc5739d4540316 8372860: TestCodeCacheUnloadDuringConcCycle fails on ARM32 Reviewed-by: tschatzl, shade ! test/hotspot/jtreg/gc/g1/TestCodeCacheUnloadDuringConcCycle.java Changeset: aa986be7 Branch: master Author: Albert Mingkun Yang Date: 2025-12-11 10:56:20 +0000 URL: https://git.openjdk.org/loom/commit/aa986be7529b7a2950202dbe6885e5224d331078 8373421: Parallel: Rename young generation eden and survivor space pool Reviewed-by: tschatzl, jsikstro ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.cpp ! src/hotspot/share/gc/parallel/psMemoryPool.hpp Changeset: e1d1d53c Branch: master Author: Daniel Gredler Date: 2025-12-11 13:53:01 +0000 URL: https://git.openjdk.org/loom/commit/e1d1d53cd1211b64d1fef03583a23056908b3482 8167268: StandardGlyphVector.getGlyphMetrics creates metrics with erroneous bounds for characters with no outline (e.g., the space character ' ') Reviewed-by: serb, prr ! src/java.desktop/share/classes/sun/font/StandardGlyphVector.java + test/jdk/java/awt/font/GlyphVector/GlyphMetricsTest.java Changeset: b0bd0c39 Branch: master Author: Matthias Baesken Date: 2025-12-11 14:13:32 +0000 URL: https://git.openjdk.org/loom/commit/b0bd0c398ee0e0fd625eba1e7d9802a4e420a2c5 8372759: Test build/AbsPathsInImage.java fails after JDK-8370438 Reviewed-by: erikj ! make/autoconf/flags-ldflags.m4 Changeset: 2a1c676e Branch: master Author: Ioi Lam Date: 2025-12-11 14:33:44 +0000 URL: https://git.openjdk.org/loom/commit/2a1c676e0a1a357f75ea008e8e12c7ae9340b9b1 8373464: Test JdkManagementCheckSince.java fails after JDK-8369736 Reviewed-by: dholmes, shade, kevinw ! src/jdk.management/share/classes/jdk/management/HotSpotAOTCacheMXBean.java Changeset: 692edc48 Branch: master Author: Nizar Benalla Date: 2025-12-11 15:30:21 +0000 URL: https://git.openjdk.org/loom/commit/692edc4879489d44a477a03028eb3e7ef9dff388 8373443: Update --release 26 symbol information for JDK 26 build 27 Reviewed-by: jlahoda, iris, darcy ! src/jdk.compiler/share/data/symbols/java.base-Q.sym.txt + src/jdk.compiler/share/data/symbols/java.sql-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-Q.sym.txt + src/jdk.compiler/share/data/symbols/jdk.jpackage-Q.sym.txt ! src/jdk.compiler/share/data/symbols/symbols Changeset: 431dcf84 Branch: master Author: Daniel Gredler Date: 2025-12-11 20:15:45 +0000 URL: https://git.openjdk.org/loom/commit/431dcf84e9754c743105380ca69af647b57193bc 8368702: [macosx] Printing text with composite fonts loses font transform Reviewed-by: psadhukhan, prr ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTextPipe.java ! test/jdk/java/awt/print/PrinterJob/PrintTextTest.java Changeset: 66d7b0ce Branch: master Author: Sergey Bylokhov Date: 2025-12-11 20:32:58 +0000 URL: https://git.openjdk.org/loom/commit/66d7b0ce8f8414c3d5fd3476b65152b9f2a9a587 8371657: [macosx] Programmatically selecting/deselecting List item triggers an ItemEvent Reviewed-by: aivanov, azvegint, dnguyen, tr ! src/java.desktop/macosx/classes/sun/lwawt/LWListPeer.java ! test/jdk/ProblemList.txt + test/jdk/java/awt/List/NoEvents/ProgrammaticChange.java Changeset: ae85d899 Branch: master Author: Xueming Shen Date: 2025-12-11 20:47:32 +0000 URL: https://git.openjdk.org/loom/commit/ae85d899d074c531371dece30319ace701517528 8373389: Two jdk/incubator/vector/ tests fails after JDK-8371446 Reviewed-by: psandoz ! test/jdk/jdk/incubator/vector/AbstractVectorTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java Changeset: c46bed72 Branch: master Author: Serguei Spitsyn Date: 2025-12-12 04:03:33 +0000 URL: https://git.openjdk.org/loom/commit/c46bed7292aad21b8cf9defcccac43c010a1f116 8371502: serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java failing Reviewed-by: lmesnik, amenkov ! test/hotspot/jtreg/serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java Changeset: 325cdb7f Branch: master Author: Jaikiran Pai Date: 2025-12-12 05:46:33 +0000 URL: https://git.openjdk.org/loom/commit/325cdb7fc5cd2ce1d2c2bf08ca064fb0f7e5a0b8 8373517: Revert the macos Tahoe specific change done in JDK-8359830 Reviewed-by: rriggs, bpb ! src/java.base/macosx/native/libjava/java_props_macosx.c Changeset: 650de99f Branch: master Author: Emanuel Peter Date: 2025-12-12 07:17:17 +0000 URL: https://git.openjdk.org/loom/commit/650de99fc662a3e8473391627df9e523b6b80727 8367158: C2: create better fill and copy benchmarks, taking alignment into account Reviewed-by: qamai, kvn + test/micro/org/openjdk/bench/vm/compiler/VectorBulkOperationsArray.java + test/micro/org/openjdk/bench/vm/compiler/VectorBulkOperationsMemorySegment.java Changeset: dc625526 Branch: master Author: Hamlin Li Date: 2025-12-12 09:59:33 +0000 URL: https://git.openjdk.org/loom/commit/dc6255261f34c65d0e87814638817c97a880eb7f 8371920: [TEST] Enable CMove tests on other platforms Reviewed-by: fyang, epeter = test/hotspot/jtreg/compiler/c2/cmove/TestConditionalMove.java = test/hotspot/jtreg/compiler/c2/cmove/TestFPComparison2.java = test/hotspot/jtreg/compiler/c2/cmove/TestScalarConditionalMoveCmpObj.java From alan.bateman at oracle.com Fri Dec 12 14:59:30 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Fri, 12 Dec 2025 14:59:30 +0000 Subject: Significant degradation of Thread.sleep with virtual threads in JDK 25 vs JDK 21 In-Reply-To: References: <7d1d0db6-6a6b-481e-b0d9-994fc604240e@oracle.com> <3c2e6b7e-c939-4d2c-846a-c682571602db@oracle.com> Message-ID: On 09/12/2025 16:19, Fredriksson, Christian wrote: > Hi, > > I have now tested JDK 26 (specifically image openjdk:26-ea-jdk, pushed > to docker hub 4 days ago). > I do **not**?see the issue there. > > When is next patch release for JDK 25? And I can verify that also. > Thanks for confirming. JDK-8370887 [1] currently lists the backports as fixed in 25.0.3, which I think is April 2026, about a month after JDK 26. -Alan [1] https://bugs.openjdk.org/browse/JDK-8370887 -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjamin at locrian.net Mon Dec 15 05:41:58 2025 From: benjamin at locrian.net (Benjamin Peterson) Date: Sun, 14 Dec 2025 21:41:58 -0800 Subject: class loading deadlock Message-ID: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> Greetings, I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. There are 30 virtual threads with stacks like this, loading a particular class: #1048 "" virtual BLOCKED 2025-12-12T19:38:17.499565442Z at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source) - waiting to lock at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) One virtual thread won the class loader lock race and got a little farther: #766 "" virtual BLOCKED 2025-12-12T19:38:17.502444574Z at java.base/java.util.zip.ZipFile.getMetaInfVersions(Unknown Source) - waiting to lock at java.base/java.util.zip.ZipFile$1.getMetaInfVersions(Unknown Source) at java.base/java.util.jar.JarFile.getVersionedEntry(Unknown Source) at java.base/java.util.jar.JarFile.getEntry(Unknown Source) at java.base/java.util.jar.JarFile.getJarEntry(Unknown Source) at java.base/jdk.internal.loader.URLClassPath$JarLoader.getResource(Unknown Source) at java.base/jdk.internal.loader.URLClassPath.getResource(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source) - locked at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) Finally, one virtual thread is trying to load a different class: #830 "" virtual BLOCKED 2025-12-12T19:38:17.503196029Z at java.base/java.util.zip.ZipFile.getMetaInfVersions(Unknown Source) - waiting to lock at java.base/java.util.zip.ZipFile$1.getMetaInfVersions(Unknown Source) at java.base/java.util.jar.JarFile.getVersionedEntry(Unknown Source) at java.base/java.util.jar.JarFile.getEntry(Unknown Source) at java.base/java.util.jar.JarFile.getJarEntry(Unknown Source) at java.base/jdk.internal.loader.URLClassPath$JarLoader.getResource(Unknown Source) at java.base/jdk.internal.loader.URLClassPath.getResource(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source) - locked at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) Since these 32 virtual threads all have implicit class loading stacks, I assume they are pinned and consuming all virtual thread scheduler carrier capacity. So, what's holding onto java.util.jar.JarFile at 74e199a1? It's held by a class-loading platform thread: #159 "" BLOCKED 2025-12-12T19:38:17.491871038Z at java.base/jdk.internal.ref.CleanerImpl$CleanableList.insert(Unknown Source) - waiting to lock at java.base/jdk.internal.ref.PhantomCleanable.(Unknown Source) at java.base/jdk.internal.ref.CleanerImpl$PhantomCleanableRef.(Unknown Source) at java.base/java.lang.ref.Cleaner.register(Unknown Source) at java.base/java.util.zip.ZipFile$ZipFileInflaterInputStream.(Unknown Source) at java.base/java.util.zip.ZipFile$ZipFileInflaterInputStream.(Unknown Source) at java.base/java.util.zip.ZipFile.getInputStream(Unknown Source) - locked at java.base/java.util.jar.JarFile.getInputStream(Unknown Source) - locked at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.getInputStream(Unknown Source) at java.base/jdk.internal.loader.Resource.cachedInputStream(Unknown Source) - locked at java.base/jdk.internal.loader.Resource.getByteBuffer(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source) - locked at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) The final piece of the puzzle is jdk.internal.ref.CleanerImpl$CleanableList at 257e78. No stack in the dump is recorded as having locked this object. There is however this virtual thread: #926 "" virtual RUNNABLE 2025-12-12T19:38:17.504366600Z at java.base/jdk.internal.ref.CleanerImpl$CleanableList.insert(Unknown Source) at java.base/jdk.internal.ref.PhantomCleanable.(Unknown Source) at java.base/java.io.FileCleanable.(Unknown Source) at java.base/java.io.FileCleanable.register(Unknown Source) at java.base/java.io.FileInputStream.(Unknown Source) (some app class that reads files) I'm guessing that the CleanableList object monitor was released and thread #926 was woken. But it can't run because the virtual thread scheduler is starved. Does this analysis seem sound? Is there an existing bug for this issue? From alan.bateman at oracle.com Mon Dec 15 10:40:20 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Mon, 15 Dec 2025 10:40:20 +0000 Subject: class loading deadlock In-Reply-To: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> Message-ID: <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> On 15/12/2025 05:41, Benjamin Peterson wrote: > Greetings, > I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. > > I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. The startup when using MR JARs is indeed complicated. Would it be possible to reveal a bit more of the stack traces, specifically the call of loadClass? Also could you capture the output jcmd Thread.vthread_scheduler as that may quickly confirm your analysis. -Alan From benjamin at locrian.net Mon Dec 15 15:47:58 2025 From: benjamin at locrian.net (Benjamin Peterson) Date: Mon, 15 Dec 2025 07:47:58 -0800 Subject: class loading deadlock In-Reply-To: <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> Message-ID: On Mon, Dec 15, 2025, at 02:40, Alan Bateman wrote: > On 15/12/2025 05:41, Benjamin Peterson wrote: >> Greetings, >> I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. >> >> I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. > The startup when using MR JARs is indeed complicated. It looks to me like there's a potential problem anytime class loading can share an exclusive resource with a non-classloading path. (In this stack dump, the CleanerImpl list.) > Would it be > possible to reveal a bit more of the stack traces, specifically the call > of loadClass? Every frame above a loadClass call is an application method that doesn't explicitly call loadClass if that's your question. E.g., many of the virtual threads are like this: #532 "" virtual BLOCKED 2025-12-12T19:38:17.499406589Z at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source) - waiting to lock at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at com.mycompany..ExternalStorage.acquireBlockingToken(ExternalStorage.java:237) ... > Also could you capture the output jcmd > Thread.vthread_scheduler as that may quickly confirm your analysis. I definitely will if it's seen again, but unfortunately I forgot it in the heat of the moment. It might be handy if pinned virtual threads were annotated in thread dumps! > > -Alan From benoit.lefevre at decathlon.com Mon Dec 15 17:46:09 2025 From: benoit.lefevre at decathlon.com (Benoit LEFEVRE -CAMPUS-) Date: Mon, 15 Dec 2025 18:46:09 +0100 Subject: [StructuredTaskScope] Poor man's "back pressure" ? Message-ID: Hello I recently wondered if there was any room left to implement some kind of poor man's "back pressure" system thanks to the latest version of StructuredTaskScope ? Behind this "poor man's back pressure" term, I have in mind something like : - an endpoint to be called for X distinct IDs - a loop that "*.fork"* the M first calls, then wait until one complete before forking the M+1 call ... - ... and so on until all calls got forked - then wait for the remaining calls completions by calling the join method The point being of course to have at most M calls in flight at a time I doubt it's still possible to do it seeing the latest evolution of the API in Java 25, especially since the "event callbacks" from the Java 21 implementation don't seem to be available anymore, but maybe I'm wrong ? Looking forward to your advice about it ! Best regards. -- Benoit Lef?vre -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon Dec 15 19:29:08 2025 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Mon, 15 Dec 2025 20:29:08 +0100 Subject: [StructuredTaskScope] Poor man's "back pressure" ? In-Reply-To: References: Message-ID: If I'm understanding your problem correctly, then you can just use semaphores to limit the number of concurrent actions. Benoit LEFEVRE -CAMPUS- ezt ?rta (id?pont: 2025. dec. 15., H, 18:47): > Hello > > I recently wondered if there was any room left to implement some kind of > poor man's "back pressure" system thanks to the latest version of > StructuredTaskScope ? > > Behind this "poor man's back pressure" term, I have in mind something like > : > > > - an endpoint to be called for X distinct IDs > - a loop that "*.fork"* the M first calls, then wait until one > complete before forking the M+1 call ... > - ... and so on until all calls got forked > - then wait for the remaining calls completions by calling the join > method > > The point being of course to have at most M calls in flight at a time > > I doubt it's still possible to do it seeing the latest evolution of the > API in Java 25, especially since the "event callbacks" from the Java 21 > implementation don't seem to be available anymore, but maybe I'm wrong ? > > Looking forward to your advice about it ! > > Best regards. > > > -- > Benoit Lef?vre > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Mon Dec 15 20:32:18 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Mon, 15 Dec 2025 20:32:18 +0000 Subject: [StructuredTaskScope] Poor man's "back pressure" ? In-Reply-To: References: Message-ID: On 15/12/2025 19:29, Attila Kelemen wrote: > If I'm understanding your problem correctly, then you can just use > semaphores?to limit the number of concurrent actions. > There are a few other threads to the same topic in the archives. Using a ThreadFactory that limits concurrency is one of the options that others were trying out. -Alan From attila.kelemen85 at gmail.com Mon Dec 15 20:50:38 2025 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Mon, 15 Dec 2025 21:50:38 +0100 Subject: [StructuredTaskScope] Poor man's "back pressure" ? In-Reply-To: References: Message-ID: Yeah, I was on those threads. Though I much dislike the idea doing this with a `ThreadFactory`, because then you would have to do an `acquire` before returning a thread, and generally no API makes the promise that a thread created by the factory will be started (though would be unusual, but still I prefer to code for the contract). If you want to abstract it, then it is way better to hide this behind an `Executor` (or `ExecutorService`) where you can implement this properly (if we restrain ourselves to JDK interfaces). Alan Bateman ezt ?rta (id?pont: 2025. dec. 15., H, 21:32): > > > On 15/12/2025 19:29, Attila Kelemen wrote: > > If I'm understanding your problem correctly, then you can just use > > semaphores to limit the number of concurrent actions. > > > There are a few other threads to the same topic in the archives. Using a > ThreadFactory that limits concurrency is one of the options that others > were trying out. > > -Alan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From patricio.chilano.mateo at oracle.com Tue Dec 16 00:03:01 2025 From: patricio.chilano.mateo at oracle.com (Patricio Chilano Mateo) Date: Mon, 15 Dec 2025 19:03:01 -0500 Subject: class loading deadlock In-Reply-To: References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> Message-ID: <8fbc819b-5a24-f379-f456-cc636881a9c2@oracle.com> Hi Benjamin, This kind of deadlock, where a platform thread is blocked waiting to acquire a monitor and the successor is an unmounted virtual thread that cannot run, should be fixed by JDK-8369019. On 12/15/25 10:47?AM, Benjamin Peterson wrote: > On Mon, Dec 15, 2025, at 02:40, Alan Bateman wrote: >> On 15/12/2025 05:41, Benjamin Peterson wrote: >>> Greetings, >>> I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. >>> >>> I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. >> The startup when using MR JARs is indeed complicated. > It looks to me like there's a potential problem anytime class loading can share an exclusive resource with a non-classloading path. (In this stack dump, the CleanerImpl list.) Yes, class loading has a similar issue to class initialization since native frames in the stack prevent threads to be unmounted. Patricio From benjamin at locrian.net Tue Dec 16 01:37:19 2025 From: benjamin at locrian.net (Benjamin Peterson) Date: Mon, 15 Dec 2025 17:37:19 -0800 Subject: class loading deadlock In-Reply-To: <8fbc819b-5a24-f379-f456-cc636881a9c2@oracle.com> References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> <8fbc819b-5a24-f379-f456-cc636881a9c2@oracle.com> Message-ID: <89dfb486-dedf-4137-a801-55e945961f51@app.fastmail.com> On Mon, Dec 15, 2025, at 16:03, Patricio Chilano Mateo wrote: > Hi Benjamin, > > This kind of deadlock, where a platform thread is blocked waiting to > acquire a monitor and the successor is an unmounted virtual thread that > cannot run, should be fixed by JDK-8369019. Thanks for the pointer. So the idea is that "new" waiters on mutexes with unmounted virtual thread waiters wake up every so often to see if they can run? > > On 12/15/25 10:47?AM, Benjamin Peterson wrote: >> On Mon, Dec 15, 2025, at 02:40, Alan Bateman wrote: >>> On 15/12/2025 05:41, Benjamin Peterson wrote: >>>> Greetings, >>>> I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. >>>> >>>> I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. >>> The startup when using MR JARs is indeed complicated. >> It looks to me like there's a potential problem anytime class loading can share an exclusive resource with a non-classloading path. (In this stack dump, the CleanerImpl list.) > Yes, class loading has a similar issue to class initialization since > native frames in the stack prevent threads to be unmounted. Any plans in the works to remove those native frames or make them unwindable somehow? > > Patricio From duke at openjdk.org Tue Dec 16 10:14:27 2025 From: duke at openjdk.org (duke) Date: Tue, 16 Dec 2025 10:14:27 GMT Subject: git: openjdk/loom: fibers: 44 new changesets Message-ID: Changeset: 180d8c1b Branch: fibers Author: Daisuke Yamazaki Committer: Jaikiran Pai Date: 2025-12-12 12:04:20 +0000 URL: https://git.openjdk.org/loom/commit/180d8c1b57efb29f8f016843d66daca59bb5934f 8372746: Some httpserver files could benefit from some formatting cleanup Reviewed-by: jpai, mikael, michaelm, djelinski, dfuchs ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Authenticator.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpContext.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpHandler.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/SimpleFileServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/AuthFilter.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Code.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ContextList.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/DefaultHttpServerProvider.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/FixedLengthInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/FixedLengthOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpConnection.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpContextImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpError.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpsExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpsServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/LeftOverInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/SSLStreams.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/UndefLengthOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/UnmodifiableHeaders.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/FileServerHandler.java Changeset: a05d5d25 Branch: fibers Author: Beno?t Maillard Date: 2025-12-12 13:45:28 +0000 URL: https://git.openjdk.org/loom/commit/a05d5d2514c835f2bfeaf7a8c7df0ac241f0177f 8373579: Problem list compiler/runtime/Test7196199.java Reviewed-by: chagedorn, epeter ! test/hotspot/jtreg/ProblemList.txt Changeset: 41001437 Branch: fibers Author: Kelvin Nilsen Date: 2025-12-12 14:02:35 +0000 URL: https://git.openjdk.org/loom/commit/410014377c210463d654b841bafbcf36947aa960 8373225: GenShen: More adaptive old-generation growth heuristics Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahGenerationalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java Changeset: d854a042 Branch: fibers Author: Stefan Karlsson Date: 2025-12-12 14:02:50 +0000 URL: https://git.openjdk.org/loom/commit/d854a04231a437a6af36ae65780961f40f336343 8373411: Crash when PrintSharedArchiveAndExit is enabled but shared heap is disabled Reviewed-by: shade, iklam ! src/hotspot/share/cds/aotMetaspace.cpp + test/hotspot/jtreg/runtime/cds/PrintSharedArchiveAndExitNoHeap.java Changeset: a99f340e Branch: fibers Author: Artur Barashev Date: 2025-12-12 14:39:42 +0000 URL: https://git.openjdk.org/loom/commit/a99f340e1b9686431d944ab114918d2b849718fe 8371721: Refactor checkTrusted methods in X509TrustManagerImpl Reviewed-by: coffeys, djelinski ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: 6ec36d34 Branch: fibers Author: Ferenc Rakoczi Committer: Weijun Wang Date: 2025-12-12 16:04:56 +0000 URL: https://git.openjdk.org/loom/commit/6ec36d348b1eaeedb993a905e42650242fac0918 8373059: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java should pass on Aarch64 Reviewed-by: weijun, vpaprotski ! src/java.base/share/classes/sun/security/provider/ML_DSA.java = test/jdk/sun/security/provider/pqc/ML_DSA_Intrinsic_Test.java Changeset: 0eb2bcd2 Branch: fibers Author: Ben Taylor Committer: William Kemper Date: 2025-12-12 16:27:55 +0000 URL: https://git.openjdk.org/loom/commit/0eb2bcd260426bc449264b72a2cee8ce109308ee 8372250: Merge PtrQueue into SATBMarkQueue Reviewed-by: kbarrett, iwalulya, tschatzl, wkemper ! src/hotspot/share/gc/g1/jvmFlagConstraintsG1.cpp ! src/hotspot/share/gc/g1/vmStructs_g1.hpp - src/hotspot/share/gc/shared/ptrQueue.cpp - src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp Changeset: e65e0686 Branch: fibers Author: Phil Race Date: 2025-12-12 18:04:14 +0000 URL: https://git.openjdk.org/loom/commit/e65e06867e7a841c7edce0625f856b8bc2888893 8372592: Adjust logger usage in java2d tests Reviewed-by: kizune, serb, rriggs ! test/jdk/sun/java2d/marlin/Bug8341381.java ! test/jdk/sun/java2d/marlin/CrashNaNTest.java ! test/jdk/sun/java2d/marlin/CrashPaintTest.java ! test/jdk/sun/java2d/marlin/TextClipErrorTest.java Changeset: 9b12c0bb Branch: fibers Author: Phil Race Date: 2025-12-12 18:06:46 +0000 URL: https://git.openjdk.org/loom/commit/9b12c0bb190de3f7d06db71411f37f9465992a04 7067310: 3 tests from closed/javax/sound/sampled caused BSOD on win 7 x86 8307574: ClipIsRunningAfterStop.java failed with "../nptl/pthread_mutex_lock.c:81: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed." 8308395: javax/sound/sampled/Clip/ClipFlushCrash.java timed out Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 6e2ab841 Branch: fibers Author: Srinivas Mandalika Committer: Phil Race Date: 2025-12-12 18:09:51 +0000 URL: https://git.openjdk.org/loom/commit/6e2ab84154e7cc11a31026c588a7dc3ceb446cc2 8068378: [TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update Reviewed-by: psadhukhan, prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java ! test/jdk/java/awt/Modal/PrintDialogsTest/Test.java Changeset: b6319f5b Branch: fibers Author: Volkan Yazici Date: 2025-12-12 18:19:35 +0000 URL: https://git.openjdk.org/loom/commit/b6319f5b42738cc760711a3b8b5d442d14a0ed74 8369595: HttpClient: HttpHeaders.firstValueAsLong failures should be converted to ProtocolException Reviewed-by: dfuchs, djelinski ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http3ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http3Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! test/jdk/java/net/httpclient/http3/H3MalformedResponseTest.java Changeset: 4e9525ef Branch: fibers Author: Matthias Baesken Date: 2025-12-12 18:57:25 +0000 URL: https://git.openjdk.org/loom/commit/4e9525ef3619b02e905f16b89261b82c70830f3a 8373388: Reenable LTO for libsplashscreen Reviewed-by: erikj, dholmes, serb, prr ! make/modules/java.desktop/lib/ClientLibraries.gmk Changeset: f2e56e4c Branch: fibers Author: Vladimir Ivanov Date: 2025-12-12 21:12:09 +0000 URL: https://git.openjdk.org/loom/commit/f2e56e4c18080616e8ef275a3d9c1da824efda26 8372634: C2: Materialize type information from instanceof checks Reviewed-by: dlong, qamai, roland ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/compiler/methodMatcher.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/parse2.cpp + test/hotspot/jtreg/compiler/inlining/TestSubtypeCheckTypeInfo.java ! test/hotspot/jtreg/compiler/intrinsics/klass/CastNullCheckDroppingsTest.java Changeset: 23c39757 Branch: fibers Author: Man Cao Date: 2025-12-12 21:19:09 +0000 URL: https://git.openjdk.org/loom/commit/23c39757ecdc834c631f98f4487cfea21c9b948b 8373403: [TESTBUG] TestG1ClassUnloadingHWM.java could fail with large G1HeapRegionSize and small InitialHeapSize Reviewed-by: tschatzl, iwalulya ! test/hotspot/jtreg/gc/class_unloading/TestG1ClassUnloadingHWM.java Changeset: d0548652 Branch: fibers Author: Sergey Bylokhov Date: 2025-12-13 01:35:24 +0000 URL: https://git.openjdk.org/loom/commit/d05486520036a4a6b3e3eee46a18f5b0e1ef493e 8371975: Apply java.io.Serial annotations in java.security.sasl Reviewed-by: mullan ! src/java.security.sasl/share/classes/com/sun/security/sasl/Provider.java ! src/java.security.sasl/share/classes/javax/security/sasl/AuthenticationException.java ! src/java.security.sasl/share/classes/javax/security/sasl/AuthorizeCallback.java ! src/java.security.sasl/share/classes/javax/security/sasl/RealmCallback.java ! src/java.security.sasl/share/classes/javax/security/sasl/RealmChoiceCallback.java ! src/java.security.sasl/share/classes/javax/security/sasl/SaslException.java Changeset: 17744fbf Branch: fibers Author: Alexey Semenyuk Date: 2025-12-13 02:53:57 +0000 URL: https://git.openjdk.org/loom/commit/17744fbfc004dfed5a3e959cd9ac7e7081b5be7a 8373628: jpackage doesn't print to console until completetion Reviewed-by: almatvee ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java Changeset: 4f1dcf89 Branch: fibers Author: Mohamed Issa Committer: Vladimir Ivanov Date: 2025-12-13 03:16:46 +0000 URL: https://git.openjdk.org/loom/commit/4f1dcf89b841e9a37d342bdf8c66bbbab9edb0d4 8368977: Provide clear naming for AVX10 identifiers Reviewed-by: jbhateja, mhaessig, vlivanov ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! test/hotspot/jtreg/compiler/floatingpoint/ScalarFPtoIntCastTest.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/vectorapi/VectorFPtoIntCastTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java Changeset: 104d0cb5 Branch: fibers Author: Quan Anh Mai Date: 2025-12-13 14:07:24 +0000 URL: https://git.openjdk.org/loom/commit/104d0cb542d12f133ac8a0a34f2b21ca3aa4a5cc 8373577: C2: Cleanup adr_type of CallLeafPureNode Reviewed-by: roland, vlivanov ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/macro.cpp Changeset: fb531cda Branch: fibers Author: Phil Race Date: 2025-12-13 22:43:30 +0000 URL: https://git.openjdk.org/loom/commit/fb531cdaf3b30034e0efa86b9b20558478ce94d0 8373632: Some sound tests failing in CI due to lack of sound key Reviewed-by: iris ! test/jdk/javax/sound/midi/Sequencer/Looping.java ! test/jdk/javax/sound/sampled/Clip/IsRunningHang.java ! test/jdk/javax/sound/sampled/DataLine/LongFramePosition.java ! test/jdk/javax/sound/sampled/DirectAudio/bug6372428.java Changeset: 99f90bef Branch: fibers Author: Thomas Stuefe Date: 2025-12-14 11:57:00 +0000 URL: https://git.openjdk.org/loom/commit/99f90befafe9476de17e416d45a9875569171935 8373490: JFR Leak Profiler: path-to-gc-root very slow for large object arrays Reviewed-by: egahlin ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp + test/jdk/jdk/jfr/jcmd/TestJcmdDumpPathToGCRootsBFSDFS.java Changeset: d03e7cb8 Branch: fibers Author: David Holmes Date: 2025-12-14 20:45:18 +0000 URL: https://git.openjdk.org/loom/commit/d03e7cb87ae04c1d32559b4a49d71d32f9d616a8 8373522: Remove expired flags in JDK 27 Reviewed-by: kvn, ayang ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/man/java.md Changeset: eda1ab21 Branch: fibers Author: Albert Mingkun Yang Date: 2025-12-15 01:50:25 +0000 URL: https://git.openjdk.org/loom/commit/eda1ab2143f8bb25fce2e5c086aeb4ecb4141f55 8373449: Parallel: Obsolete deprecated PSChunkLargeArrays Reviewed-by: kbarrett, dholmes, tschatzl ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 5edeb71e Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-15 04:45:25 +0000 URL: https://git.openjdk.org/loom/commit/5edeb71e3b148d52962c46180c92ebfeda018f67 6292135: DefaultTableModel.setColumnIdentifiers() Clears JTable Row Heights Reviewed-by: tr, kizune ! src/java.desktop/share/classes/javax/swing/JTable.java + test/jdk/javax/swing/JTable/TestRowHeightWithColIdentifier.java Changeset: 0e7bc6b0 Branch: fibers Author: Prasanta Sadhukhan Date: 2025-12-15 04:52:14 +0000 URL: https://git.openjdk.org/loom/commit/0e7bc6b0928bd860c665ead26d2237055c0c9d27 6681958: Maximization state of JInternalFrames is corrupted by WindowsDesktopManager Reviewed-by: tr, kizune ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java + test/jdk/javax/swing/JInternalFrame/JIFMaximizedTrfAttribute.java Changeset: dc1b0b5f Branch: fibers Author: Jonas Norlinder Committer: David Holmes Date: 2025-12-15 06:13:07 +0000 URL: https://git.openjdk.org/loom/commit/dc1b0b5f81b6c3de85a0234d0315370b6413c077 8373557: Remove stale comments after JDK-8372584 Reviewed-by: dholmes, jsjolen ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/os.hpp Changeset: 01adf28c Branch: fibers Author: Sergey Bylokhov Date: 2025-12-15 07:36:42 +0000 URL: https://git.openjdk.org/loom/commit/01adf28c946580751f7c041b13c987f477a6289a 8372974: Add missing @Override annotations in "com.sun.java.swing.plaf.gtk" package Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Changeset: 5141e1a4 Branch: fibers Author: Anton Artemov Date: 2025-12-15 08:39:47 +0000 URL: https://git.openjdk.org/loom/commit/5141e1a4f4ef7499ddd8684469d8038fd75403d2 8373497: SpinCriticalSection should use SpinYield Reviewed-by: dholmes, coleenp ! src/hotspot/share/utilities/spinCriticalSection.cpp Changeset: 895232fc Branch: fibers Author: Daniel Jeli?ski Date: 2025-12-15 08:40:05 +0000 URL: https://git.openjdk.org/loom/commit/895232fc65cab9ba3863b48cab27b688096a7435 8372731: Detailed authentication failure messages Reviewed-by: dfuchs, michaelm ! src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/java.base/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/java.base/windows/native/libnet/NTLMAuthSequence.c + test/jdk/sun/net/www/protocol/http/NTLMFailTest.java Changeset: ad6611a9 Branch: fibers Author: Fredrik Bredberg Date: 2025-12-15 08:55:08 +0000 URL: https://git.openjdk.org/loom/commit/ad6611a9a3fd5f9cf8b73ce3ccf976187e344654 8371347: Move the ObjectMonitorTable to a separate new file Reviewed-by: dholmes, coleenp + src/hotspot/share/runtime/objectMonitorTable.cpp + src/hotspot/share/runtime/objectMonitorTable.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 3559eeca Branch: fibers Author: Hamlin Li Date: 2025-12-15 09:10:51 +0000 URL: https://git.openjdk.org/loom/commit/3559eeca0edd537c6160c6753cf6fc304afee4ca 8373428: Refine variables with the same name in nested scopes in PhaseChaitin::gather_lrg_masks Reviewed-by: phh ! src/hotspot/share/opto/chaitin.cpp Changeset: 629bf20f Branch: fibers Author: Casper Norrbin Date: 2025-12-15 10:23:31 +0000 URL: https://git.openjdk.org/loom/commit/629bf20f59f98a735ca22018ad00c93580aff5f3 8371408: [Linux] VM.info output for container information is confusing Reviewed-by: sgehwolf, dholmes ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! src/hotspot/os/linux/osContainer_linux.cpp ! src/hotspot/os/linux/osContainer_linux.hpp ! src/hotspot/os/linux/os_linux.cpp ! test/hotspot/jtreg/containers/docker/TestContainerInfo.java ! test/hotspot/jtreg/containers/docker/TestLimitsUpdating.java ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMisc.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: f5187ebf Branch: fibers Author: Stefan Karlsson Date: 2025-12-15 12:57:03 +0000 URL: https://git.openjdk.org/loom/commit/f5187ebf7a4d4241f01612b62c514a1e4e272658 8373599: Cleanup arguments.hpp includes Reviewed-by: coleenp, kbarrett ! src/hotspot/share/compiler/compilerDefinitions.inline.hpp ! src/hotspot/share/runtime/abstract_vm_version.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/java.hpp ! test/hotspot/gtest/runtime/test_arguments.cpp Changeset: 1f47294c Branch: fibers Author: Jaikiran Pai Date: 2025-12-15 13:36:12 +0000 URL: https://git.openjdk.org/loom/commit/1f47294cd336db34030ea16132490ab51310ace5 8287062: com/sun/jndi/ldap/LdapPoolTimeoutTest.java failed due to different timeout message Reviewed-by: aefimov ! test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java Changeset: 34f24131 Branch: fibers Author: SendaoYan Date: 2025-12-15 14:18:46 +0000 URL: https://git.openjdk.org/loom/commit/34f241317ecd7473cfb6dcc2e6e5cf3a40299e2c 8371503: RETAIN_IMAGE_AFTER_TEST do not work for some tests Reviewed-by: lmesnik, dholmes ! test/hotspot/jtreg/containers/docker/DockerBasicTest.java ! test/hotspot/jtreg/containers/docker/ShareTmpDir.java ! test/hotspot/jtreg/containers/docker/TestCPUAwareness.java ! test/hotspot/jtreg/containers/docker/TestLimitsUpdating.java ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestPids.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java ! test/jdk/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java ! test/jdk/jdk/internal/platform/docker/TestLimitsUpdating.java ! test/jdk/jdk/internal/platform/docker/TestPidsLimit.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: ea6493c4 Branch: fibers Author: William Kemper Date: 2025-12-15 15:52:01 +0000 URL: https://git.openjdk.org/loom/commit/ea6493c4e1de2bc9615beee389b2d335669dc542 8373100: Genshen: Control thread can miss allocation failure notification Reviewed-by: ysr, kdnilsen, xpeng ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.hpp Changeset: ad29642d Branch: fibers Author: Roland Westrelin Date: 2025-12-15 16:18:44 +0000 URL: https://git.openjdk.org/loom/commit/ad29642d8f4e8e0fb1223b14b85ab7841d7b1b51 8351889: C2 crash: assertion failed: Base pointers must match (addp 344) Reviewed-by: rcastanedalo, epeter ! src/hotspot/share/opto/addnode.hpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp + test/hotspot/jtreg/compiler/c2/TestMismatchedAddPAfterMaxUnroll.java ! test/hotspot/jtreg/compiler/c2/TestVerifyIterativeGVN.java Changeset: 45ee89c4 Branch: fibers Author: Chris Plummer Date: 2025-12-15 19:50:46 +0000 URL: https://git.openjdk.org/loom/commit/45ee89c4c8e3d8bb418b8578fb361e7dc1c12be5 8373297: Test com/sun/jdi/AfterThreadDeathTest.java failed with unexpected ObjectCollectedException Reviewed-by: kevinw, sspitsyn, amenkov, lmesnik ! test/jdk/com/sun/jdi/AfterThreadDeathTest.java Changeset: f52d4992 Branch: fibers Author: Sergey Chernyshev Committer: Serguei Spitsyn Date: 2025-12-15 20:19:05 +0000 URL: https://git.openjdk.org/loom/commit/f52d49925f9c60814a0a34720d7443e748b35c25 8319589: Attach from root to a user java process not supported in Mac Reviewed-by: sspitsyn ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/bsd/os_bsd.hpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/native/libattach/VirtualMachineImpl.c + src/jdk.internal.jvmstat/macosx/classes/sun/jvmstat/PlatformSupportImpl.java ! src/jdk.internal.jvmstat/share/classes/module-info.java Changeset: 6aeabd4b Branch: fibers Author: Kieran Farrell Committer: Roger Riggs Date: 2025-12-15 20:51:08 +0000 URL: https://git.openjdk.org/loom/commit/6aeabd4bfaca168e9c88716b185979cf1e1b85ed 8370910: Cleanup terminology of UUID vs Global Identifiers in UUID Reviewed-by: alanb, rriggs, jpai ! src/java.base/share/classes/java/util/UUID.java Changeset: 317788ff Branch: fibers Author: Damon Nguyen Date: 2025-12-15 22:39:09 +0000 URL: https://git.openjdk.org/loom/commit/317788ff12ee231bd3c9e8f1a0c9b38c8dad3feb 8360160: ubuntu-22-04 machine is failing client tests Reviewed-by: prr, azvegint ! test/jdk/java/awt/Frame/FrameVisualTest.java Changeset: 1748737b Branch: fibers Author: David Holmes Date: 2025-12-16 00:19:01 +0000 URL: https://git.openjdk.org/loom/commit/1748737b99f283f69b4be0910b6623a27d804e68 8372988: Test runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java failed: Unexpected interrupt Reviewed-by: coleenp, iklam, jsjolen ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/oops/instanceKlass.cpp Changeset: 3f33eaa4 Branch: fibers Author: Kim Barrett Date: 2025-12-16 04:03:12 +0000 URL: https://git.openjdk.org/loom/commit/3f33eaa42aff45422c94300573c898868189fdfc 8373649: Convert simple AtomicAccess usage in ConcurrentHashTable to use Atomic Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp Changeset: b1e8c4e0 Branch: fibers Author: Rui Li Committer: Xiaolong Peng Date: 2025-12-16 07:02:15 +0000 URL: https://git.openjdk.org/loom/commit/b1e8c4e030f42ea3146b2502c9ab030bc79a8147 8372543: Shenandoah: undercalculated the available size when soft max takes effect Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahSpaceInfo.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.hpp + test/hotspot/jtreg/gc/shenandoah/TestSoftMaxHeapSizeAvailableCalc.java Changeset: c08cf6c1 Branch: fibers Author: Alan Bateman Date: 2025-12-16 07:24:56 +0000 URL: https://git.openjdk.org/loom/commit/c08cf6c1452ac4ba9c70c2ccac5d274c861c7c0e Merge branch 'master' into fibers ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt From duke at openjdk.org Tue Dec 16 10:17:03 2025 From: duke at openjdk.org (duke) Date: Tue, 16 Dec 2025 10:17:03 GMT Subject: git: openjdk/loom: master: 43 new changesets Message-ID: <2fdef471-2f20-43c1-9b70-227e564f76dd@openjdk.org> Changeset: 180d8c1b Branch: master Author: Daisuke Yamazaki Committer: Jaikiran Pai Date: 2025-12-12 12:04:20 +0000 URL: https://git.openjdk.org/loom/commit/180d8c1b57efb29f8f016843d66daca59bb5934f 8372746: Some httpserver files could benefit from some formatting cleanup Reviewed-by: jpai, mikael, michaelm, djelinski, dfuchs ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Authenticator.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpContext.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpHandler.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/SimpleFileServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/AuthFilter.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Code.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ContextList.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/DefaultHttpServerProvider.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/FixedLengthInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/FixedLengthOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpConnection.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpContextImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpError.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpsExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpsServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/LeftOverInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/SSLStreams.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/UndefLengthOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/UnmodifiableHeaders.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/FileServerHandler.java Changeset: a05d5d25 Branch: master Author: Beno?t Maillard Date: 2025-12-12 13:45:28 +0000 URL: https://git.openjdk.org/loom/commit/a05d5d2514c835f2bfeaf7a8c7df0ac241f0177f 8373579: Problem list compiler/runtime/Test7196199.java Reviewed-by: chagedorn, epeter ! test/hotspot/jtreg/ProblemList.txt Changeset: 41001437 Branch: master Author: Kelvin Nilsen Date: 2025-12-12 14:02:35 +0000 URL: https://git.openjdk.org/loom/commit/410014377c210463d654b841bafbcf36947aa960 8373225: GenShen: More adaptive old-generation growth heuristics Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahGenerationalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java Changeset: d854a042 Branch: master Author: Stefan Karlsson Date: 2025-12-12 14:02:50 +0000 URL: https://git.openjdk.org/loom/commit/d854a04231a437a6af36ae65780961f40f336343 8373411: Crash when PrintSharedArchiveAndExit is enabled but shared heap is disabled Reviewed-by: shade, iklam ! src/hotspot/share/cds/aotMetaspace.cpp + test/hotspot/jtreg/runtime/cds/PrintSharedArchiveAndExitNoHeap.java Changeset: a99f340e Branch: master Author: Artur Barashev Date: 2025-12-12 14:39:42 +0000 URL: https://git.openjdk.org/loom/commit/a99f340e1b9686431d944ab114918d2b849718fe 8371721: Refactor checkTrusted methods in X509TrustManagerImpl Reviewed-by: coffeys, djelinski ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: 6ec36d34 Branch: master Author: Ferenc Rakoczi Committer: Weijun Wang Date: 2025-12-12 16:04:56 +0000 URL: https://git.openjdk.org/loom/commit/6ec36d348b1eaeedb993a905e42650242fac0918 8373059: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java should pass on Aarch64 Reviewed-by: weijun, vpaprotski ! src/java.base/share/classes/sun/security/provider/ML_DSA.java = test/jdk/sun/security/provider/pqc/ML_DSA_Intrinsic_Test.java Changeset: 0eb2bcd2 Branch: master Author: Ben Taylor Committer: William Kemper Date: 2025-12-12 16:27:55 +0000 URL: https://git.openjdk.org/loom/commit/0eb2bcd260426bc449264b72a2cee8ce109308ee 8372250: Merge PtrQueue into SATBMarkQueue Reviewed-by: kbarrett, iwalulya, tschatzl, wkemper ! src/hotspot/share/gc/g1/jvmFlagConstraintsG1.cpp ! src/hotspot/share/gc/g1/vmStructs_g1.hpp - src/hotspot/share/gc/shared/ptrQueue.cpp - src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp Changeset: e65e0686 Branch: master Author: Phil Race Date: 2025-12-12 18:04:14 +0000 URL: https://git.openjdk.org/loom/commit/e65e06867e7a841c7edce0625f856b8bc2888893 8372592: Adjust logger usage in java2d tests Reviewed-by: kizune, serb, rriggs ! test/jdk/sun/java2d/marlin/Bug8341381.java ! test/jdk/sun/java2d/marlin/CrashNaNTest.java ! test/jdk/sun/java2d/marlin/CrashPaintTest.java ! test/jdk/sun/java2d/marlin/TextClipErrorTest.java Changeset: 9b12c0bb Branch: master Author: Phil Race Date: 2025-12-12 18:06:46 +0000 URL: https://git.openjdk.org/loom/commit/9b12c0bb190de3f7d06db71411f37f9465992a04 7067310: 3 tests from closed/javax/sound/sampled caused BSOD on win 7 x86 8307574: ClipIsRunningAfterStop.java failed with "../nptl/pthread_mutex_lock.c:81: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed." 8308395: javax/sound/sampled/Clip/ClipFlushCrash.java timed out Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 6e2ab841 Branch: master Author: Srinivas Mandalika Committer: Phil Race Date: 2025-12-12 18:09:51 +0000 URL: https://git.openjdk.org/loom/commit/6e2ab84154e7cc11a31026c588a7dc3ceb446cc2 8068378: [TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update Reviewed-by: psadhukhan, prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java ! test/jdk/java/awt/Modal/PrintDialogsTest/Test.java Changeset: b6319f5b Branch: master Author: Volkan Yazici Date: 2025-12-12 18:19:35 +0000 URL: https://git.openjdk.org/loom/commit/b6319f5b42738cc760711a3b8b5d442d14a0ed74 8369595: HttpClient: HttpHeaders.firstValueAsLong failures should be converted to ProtocolException Reviewed-by: dfuchs, djelinski ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http3ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http3Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! test/jdk/java/net/httpclient/http3/H3MalformedResponseTest.java Changeset: 4e9525ef Branch: master Author: Matthias Baesken Date: 2025-12-12 18:57:25 +0000 URL: https://git.openjdk.org/loom/commit/4e9525ef3619b02e905f16b89261b82c70830f3a 8373388: Reenable LTO for libsplashscreen Reviewed-by: erikj, dholmes, serb, prr ! make/modules/java.desktop/lib/ClientLibraries.gmk Changeset: f2e56e4c Branch: master Author: Vladimir Ivanov Date: 2025-12-12 21:12:09 +0000 URL: https://git.openjdk.org/loom/commit/f2e56e4c18080616e8ef275a3d9c1da824efda26 8372634: C2: Materialize type information from instanceof checks Reviewed-by: dlong, qamai, roland ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/compiler/methodMatcher.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/parse2.cpp + test/hotspot/jtreg/compiler/inlining/TestSubtypeCheckTypeInfo.java ! test/hotspot/jtreg/compiler/intrinsics/klass/CastNullCheckDroppingsTest.java Changeset: 23c39757 Branch: master Author: Man Cao Date: 2025-12-12 21:19:09 +0000 URL: https://git.openjdk.org/loom/commit/23c39757ecdc834c631f98f4487cfea21c9b948b 8373403: [TESTBUG] TestG1ClassUnloadingHWM.java could fail with large G1HeapRegionSize and small InitialHeapSize Reviewed-by: tschatzl, iwalulya ! test/hotspot/jtreg/gc/class_unloading/TestG1ClassUnloadingHWM.java Changeset: d0548652 Branch: master Author: Sergey Bylokhov Date: 2025-12-13 01:35:24 +0000 URL: https://git.openjdk.org/loom/commit/d05486520036a4a6b3e3eee46a18f5b0e1ef493e 8371975: Apply java.io.Serial annotations in java.security.sasl Reviewed-by: mullan ! src/java.security.sasl/share/classes/com/sun/security/sasl/Provider.java ! src/java.security.sasl/share/classes/javax/security/sasl/AuthenticationException.java ! src/java.security.sasl/share/classes/javax/security/sasl/AuthorizeCallback.java ! src/java.security.sasl/share/classes/javax/security/sasl/RealmCallback.java ! src/java.security.sasl/share/classes/javax/security/sasl/RealmChoiceCallback.java ! src/java.security.sasl/share/classes/javax/security/sasl/SaslException.java Changeset: 17744fbf Branch: master Author: Alexey Semenyuk Date: 2025-12-13 02:53:57 +0000 URL: https://git.openjdk.org/loom/commit/17744fbfc004dfed5a3e959cd9ac7e7081b5be7a 8373628: jpackage doesn't print to console until completetion Reviewed-by: almatvee ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java Changeset: 4f1dcf89 Branch: master Author: Mohamed Issa Committer: Vladimir Ivanov Date: 2025-12-13 03:16:46 +0000 URL: https://git.openjdk.org/loom/commit/4f1dcf89b841e9a37d342bdf8c66bbbab9edb0d4 8368977: Provide clear naming for AVX10 identifiers Reviewed-by: jbhateja, mhaessig, vlivanov ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! test/hotspot/jtreg/compiler/floatingpoint/ScalarFPtoIntCastTest.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/vectorapi/VectorFPtoIntCastTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java Changeset: 104d0cb5 Branch: master Author: Quan Anh Mai Date: 2025-12-13 14:07:24 +0000 URL: https://git.openjdk.org/loom/commit/104d0cb542d12f133ac8a0a34f2b21ca3aa4a5cc 8373577: C2: Cleanup adr_type of CallLeafPureNode Reviewed-by: roland, vlivanov ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/macro.cpp Changeset: fb531cda Branch: master Author: Phil Race Date: 2025-12-13 22:43:30 +0000 URL: https://git.openjdk.org/loom/commit/fb531cdaf3b30034e0efa86b9b20558478ce94d0 8373632: Some sound tests failing in CI due to lack of sound key Reviewed-by: iris ! test/jdk/javax/sound/midi/Sequencer/Looping.java ! test/jdk/javax/sound/sampled/Clip/IsRunningHang.java ! test/jdk/javax/sound/sampled/DataLine/LongFramePosition.java ! test/jdk/javax/sound/sampled/DirectAudio/bug6372428.java Changeset: 99f90bef Branch: master Author: Thomas Stuefe Date: 2025-12-14 11:57:00 +0000 URL: https://git.openjdk.org/loom/commit/99f90befafe9476de17e416d45a9875569171935 8373490: JFR Leak Profiler: path-to-gc-root very slow for large object arrays Reviewed-by: egahlin ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp + test/jdk/jdk/jfr/jcmd/TestJcmdDumpPathToGCRootsBFSDFS.java Changeset: d03e7cb8 Branch: master Author: David Holmes Date: 2025-12-14 20:45:18 +0000 URL: https://git.openjdk.org/loom/commit/d03e7cb87ae04c1d32559b4a49d71d32f9d616a8 8373522: Remove expired flags in JDK 27 Reviewed-by: kvn, ayang ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/man/java.md Changeset: eda1ab21 Branch: master Author: Albert Mingkun Yang Date: 2025-12-15 01:50:25 +0000 URL: https://git.openjdk.org/loom/commit/eda1ab2143f8bb25fce2e5c086aeb4ecb4141f55 8373449: Parallel: Obsolete deprecated PSChunkLargeArrays Reviewed-by: kbarrett, dholmes, tschatzl ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 5edeb71e Branch: master Author: Prasanta Sadhukhan Date: 2025-12-15 04:45:25 +0000 URL: https://git.openjdk.org/loom/commit/5edeb71e3b148d52962c46180c92ebfeda018f67 6292135: DefaultTableModel.setColumnIdentifiers() Clears JTable Row Heights Reviewed-by: tr, kizune ! src/java.desktop/share/classes/javax/swing/JTable.java + test/jdk/javax/swing/JTable/TestRowHeightWithColIdentifier.java Changeset: 0e7bc6b0 Branch: master Author: Prasanta Sadhukhan Date: 2025-12-15 04:52:14 +0000 URL: https://git.openjdk.org/loom/commit/0e7bc6b0928bd860c665ead26d2237055c0c9d27 6681958: Maximization state of JInternalFrames is corrupted by WindowsDesktopManager Reviewed-by: tr, kizune ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java + test/jdk/javax/swing/JInternalFrame/JIFMaximizedTrfAttribute.java Changeset: dc1b0b5f Branch: master Author: Jonas Norlinder Committer: David Holmes Date: 2025-12-15 06:13:07 +0000 URL: https://git.openjdk.org/loom/commit/dc1b0b5f81b6c3de85a0234d0315370b6413c077 8373557: Remove stale comments after JDK-8372584 Reviewed-by: dholmes, jsjolen ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/os.hpp Changeset: 01adf28c Branch: master Author: Sergey Bylokhov Date: 2025-12-15 07:36:42 +0000 URL: https://git.openjdk.org/loom/commit/01adf28c946580751f7c041b13c987f477a6289a 8372974: Add missing @Override annotations in "com.sun.java.swing.plaf.gtk" package Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Changeset: 5141e1a4 Branch: master Author: Anton Artemov Date: 2025-12-15 08:39:47 +0000 URL: https://git.openjdk.org/loom/commit/5141e1a4f4ef7499ddd8684469d8038fd75403d2 8373497: SpinCriticalSection should use SpinYield Reviewed-by: dholmes, coleenp ! src/hotspot/share/utilities/spinCriticalSection.cpp Changeset: 895232fc Branch: master Author: Daniel Jeli?ski Date: 2025-12-15 08:40:05 +0000 URL: https://git.openjdk.org/loom/commit/895232fc65cab9ba3863b48cab27b688096a7435 8372731: Detailed authentication failure messages Reviewed-by: dfuchs, michaelm ! src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/java.base/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/java.base/windows/native/libnet/NTLMAuthSequence.c + test/jdk/sun/net/www/protocol/http/NTLMFailTest.java Changeset: ad6611a9 Branch: master Author: Fredrik Bredberg Date: 2025-12-15 08:55:08 +0000 URL: https://git.openjdk.org/loom/commit/ad6611a9a3fd5f9cf8b73ce3ccf976187e344654 8371347: Move the ObjectMonitorTable to a separate new file Reviewed-by: dholmes, coleenp + src/hotspot/share/runtime/objectMonitorTable.cpp + src/hotspot/share/runtime/objectMonitorTable.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 3559eeca Branch: master Author: Hamlin Li Date: 2025-12-15 09:10:51 +0000 URL: https://git.openjdk.org/loom/commit/3559eeca0edd537c6160c6753cf6fc304afee4ca 8373428: Refine variables with the same name in nested scopes in PhaseChaitin::gather_lrg_masks Reviewed-by: phh ! src/hotspot/share/opto/chaitin.cpp Changeset: 629bf20f Branch: master Author: Casper Norrbin Date: 2025-12-15 10:23:31 +0000 URL: https://git.openjdk.org/loom/commit/629bf20f59f98a735ca22018ad00c93580aff5f3 8371408: [Linux] VM.info output for container information is confusing Reviewed-by: sgehwolf, dholmes ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! src/hotspot/os/linux/osContainer_linux.cpp ! src/hotspot/os/linux/osContainer_linux.hpp ! src/hotspot/os/linux/os_linux.cpp ! test/hotspot/jtreg/containers/docker/TestContainerInfo.java ! test/hotspot/jtreg/containers/docker/TestLimitsUpdating.java ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestMisc.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: f5187ebf Branch: master Author: Stefan Karlsson Date: 2025-12-15 12:57:03 +0000 URL: https://git.openjdk.org/loom/commit/f5187ebf7a4d4241f01612b62c514a1e4e272658 8373599: Cleanup arguments.hpp includes Reviewed-by: coleenp, kbarrett ! src/hotspot/share/compiler/compilerDefinitions.inline.hpp ! src/hotspot/share/runtime/abstract_vm_version.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/java.hpp ! test/hotspot/gtest/runtime/test_arguments.cpp Changeset: 1f47294c Branch: master Author: Jaikiran Pai Date: 2025-12-15 13:36:12 +0000 URL: https://git.openjdk.org/loom/commit/1f47294cd336db34030ea16132490ab51310ace5 8287062: com/sun/jndi/ldap/LdapPoolTimeoutTest.java failed due to different timeout message Reviewed-by: aefimov ! test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java Changeset: 34f24131 Branch: master Author: SendaoYan Date: 2025-12-15 14:18:46 +0000 URL: https://git.openjdk.org/loom/commit/34f241317ecd7473cfb6dcc2e6e5cf3a40299e2c 8371503: RETAIN_IMAGE_AFTER_TEST do not work for some tests Reviewed-by: lmesnik, dholmes ! test/hotspot/jtreg/containers/docker/DockerBasicTest.java ! test/hotspot/jtreg/containers/docker/ShareTmpDir.java ! test/hotspot/jtreg/containers/docker/TestCPUAwareness.java ! test/hotspot/jtreg/containers/docker/TestLimitsUpdating.java ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/hotspot/jtreg/containers/docker/TestPids.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java ! test/jdk/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java ! test/jdk/jdk/internal/platform/docker/TestLimitsUpdating.java ! test/jdk/jdk/internal/platform/docker/TestPidsLimit.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: ea6493c4 Branch: master Author: William Kemper Date: 2025-12-15 15:52:01 +0000 URL: https://git.openjdk.org/loom/commit/ea6493c4e1de2bc9615beee389b2d335669dc542 8373100: Genshen: Control thread can miss allocation failure notification Reviewed-by: ysr, kdnilsen, xpeng ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.hpp Changeset: ad29642d Branch: master Author: Roland Westrelin Date: 2025-12-15 16:18:44 +0000 URL: https://git.openjdk.org/loom/commit/ad29642d8f4e8e0fb1223b14b85ab7841d7b1b51 8351889: C2 crash: assertion failed: Base pointers must match (addp 344) Reviewed-by: rcastanedalo, epeter ! src/hotspot/share/opto/addnode.hpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp + test/hotspot/jtreg/compiler/c2/TestMismatchedAddPAfterMaxUnroll.java ! test/hotspot/jtreg/compiler/c2/TestVerifyIterativeGVN.java Changeset: 45ee89c4 Branch: master Author: Chris Plummer Date: 2025-12-15 19:50:46 +0000 URL: https://git.openjdk.org/loom/commit/45ee89c4c8e3d8bb418b8578fb361e7dc1c12be5 8373297: Test com/sun/jdi/AfterThreadDeathTest.java failed with unexpected ObjectCollectedException Reviewed-by: kevinw, sspitsyn, amenkov, lmesnik ! test/jdk/com/sun/jdi/AfterThreadDeathTest.java Changeset: f52d4992 Branch: master Author: Sergey Chernyshev Committer: Serguei Spitsyn Date: 2025-12-15 20:19:05 +0000 URL: https://git.openjdk.org/loom/commit/f52d49925f9c60814a0a34720d7443e748b35c25 8319589: Attach from root to a user java process not supported in Mac Reviewed-by: sspitsyn ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/bsd/os_bsd.hpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/native/libattach/VirtualMachineImpl.c + src/jdk.internal.jvmstat/macosx/classes/sun/jvmstat/PlatformSupportImpl.java ! src/jdk.internal.jvmstat/share/classes/module-info.java Changeset: 6aeabd4b Branch: master Author: Kieran Farrell Committer: Roger Riggs Date: 2025-12-15 20:51:08 +0000 URL: https://git.openjdk.org/loom/commit/6aeabd4bfaca168e9c88716b185979cf1e1b85ed 8370910: Cleanup terminology of UUID vs Global Identifiers in UUID Reviewed-by: alanb, rriggs, jpai ! src/java.base/share/classes/java/util/UUID.java Changeset: 317788ff Branch: master Author: Damon Nguyen Date: 2025-12-15 22:39:09 +0000 URL: https://git.openjdk.org/loom/commit/317788ff12ee231bd3c9e8f1a0c9b38c8dad3feb 8360160: ubuntu-22-04 machine is failing client tests Reviewed-by: prr, azvegint ! test/jdk/java/awt/Frame/FrameVisualTest.java Changeset: 1748737b Branch: master Author: David Holmes Date: 2025-12-16 00:19:01 +0000 URL: https://git.openjdk.org/loom/commit/1748737b99f283f69b4be0910b6623a27d804e68 8372988: Test runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java failed: Unexpected interrupt Reviewed-by: coleenp, iklam, jsjolen ! src/hotspot/share/classfile/resolutionErrors.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/oops/instanceKlass.cpp Changeset: 3f33eaa4 Branch: master Author: Kim Barrett Date: 2025-12-16 04:03:12 +0000 URL: https://git.openjdk.org/loom/commit/3f33eaa42aff45422c94300573c898868189fdfc 8373649: Convert simple AtomicAccess usage in ConcurrentHashTable to use Atomic Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp Changeset: b1e8c4e0 Branch: master Author: Rui Li Committer: Xiaolong Peng Date: 2025-12-16 07:02:15 +0000 URL: https://git.openjdk.org/loom/commit/b1e8c4e030f42ea3146b2502c9ab030bc79a8147 8372543: Shenandoah: undercalculated the available size when soft max takes effect Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahSpaceInfo.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.hpp + test/hotspot/jtreg/gc/shenandoah/TestSoftMaxHeapSizeAvailableCalc.java From patricio.chilano.mateo at oracle.com Tue Dec 16 17:25:50 2025 From: patricio.chilano.mateo at oracle.com (Patricio Chilano Mateo) Date: Tue, 16 Dec 2025 12:25:50 -0500 Subject: class loading deadlock In-Reply-To: <89dfb486-dedf-4137-a801-55e945961f51@app.fastmail.com> References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> <8fbc819b-5a24-f379-f456-cc636881a9c2@oracle.com> <89dfb486-dedf-4137-a801-55e945961f51@app.fastmail.com> Message-ID: <7d33ee05-087a-2c88-d6ee-f8f6c5a5963a@oracle.com> On 12/15/25 8:37?PM, Benjamin Peterson wrote: > On Mon, Dec 15, 2025, at 16:03, Patricio Chilano Mateo wrote: >> Hi Benjamin, >> >> This kind of deadlock, where a platform thread is blocked waiting to >> acquire a monitor and the successor is an unmounted virtual thread that >> cannot run, should be fixed by JDK-8369019. > Thanks for the pointer. So the idea is that "new" waiters on mutexes with unmounted virtual thread waiters wake up every so often to see if they can run? Yes, for platform threads (carriers or not) we use timed-parking when there are unmounted vthreads ahead in the queue to avoid this kind of deadlock scenarios. > On 12/15/25 10:47?AM, Benjamin Peterson wrote: >>> On Mon, Dec 15, 2025, at 02:40, Alan Bateman wrote: >>>> On 15/12/2025 05:41, Benjamin Peterson wrote: >>>>> Greetings, >>>>> I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. >>>>> >>>>> I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. >>>> The startup when using MR JARs is indeed complicated. >>> It looks to me like there's a potential problem anytime class loading can share an exclusive resource with a non-classloading path. (In this stack dump, the CleanerImpl list.) >> Yes, class loading has a similar issue to class initialization since >> native frames in the stack prevent threads to be unmounted. > Any plans in the works to remove those native frames or make them unwindable somehow? Nothing planned yet but it?s something we may look into. Patricio From benjamin at locrian.net Tue Dec 16 18:30:39 2025 From: benjamin at locrian.net (Benjamin Peterson) Date: Tue, 16 Dec 2025 10:30:39 -0800 Subject: class loading deadlock In-Reply-To: <7d33ee05-087a-2c88-d6ee-f8f6c5a5963a@oracle.com> References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> <8fbc819b-5a24-f379-f456-cc636881a9c2@oracle.com> <89dfb486-dedf-4137-a801-55e945961f51@app.fastmail.com> <7d33ee05-087a-2c88-d6ee-f8f6c5a5963a@oracle.com> Message-ID: On Tue, Dec 16, 2025, at 09:25, Patricio Chilano Mateo wrote: > On 12/15/25 8:37?PM, Benjamin Peterson wrote: >> On Mon, Dec 15, 2025, at 16:03, Patricio Chilano Mateo wrote: >>> Hi Benjamin, >>> >>> This kind of deadlock, where a platform thread is blocked waiting to >>> acquire a monitor and the successor is an unmounted virtual thread that >>> cannot run, should be fixed by JDK-8369019. >> Thanks for the pointer. So the idea is that "new" waiters on mutexes with unmounted virtual thread waiters wake up every so often to see if they can run? > Yes, for platform threads (carriers or not) we use timed-parking when > there are unmounted vthreads ahead in the queue to avoid this kind of > deadlock scenarios. It seems that would dislodge deadlock in the exact scenario I've run into. But what if the unmounted virtual thread is hanging onto other resources required by a waiting platform thread? For example, suppose the unmounted virtual thread had explicitly called ClassLoader.loadClass. Then, it could be holding a class loading lock or one of the JarFile/ZipEntry monitors while unmounted. If the platform thread required one of those mutexes, there would still be a deadlock even if the platform thread woke from its timed wait. > >> On 12/15/25 10:47?AM, Benjamin Peterson wrote: >>>> On Mon, Dec 15, 2025, at 02:40, Alan Bateman wrote: >>>>> On 15/12/2025 05:41, Benjamin Peterson wrote: >>>>>> Greetings, >>>>>> I saw class initialization will be preemptible in many cases in JDK 26, which is exciting. I believe my application is hitting a deadlock due to virtual threads pinned in class loading on OpenJDK 25.0.1. >>>>>> >>>>>> I captured a stack dump of the deadlocked application, and I can share the interesting parts of the dump. For background, there are 32 cores, so the virtual thread scheduler pool has 32 carrier threads. >>>>> The startup when using MR JARs is indeed complicated. >>>> It looks to me like there's a potential problem anytime class loading can share an exclusive resource with a non-classloading path. (In this stack dump, the CleanerImpl list.) >>> Yes, class loading has a similar issue to class initialization since >>> native frames in the stack prevent threads to be unmounted. >> Any plans in the works to remove those native frames or make them unwindable somehow? > Nothing planned yet but it?s something we may look into. Neat. I would follow a bug if there was one. From patricio.chilano.mateo at oracle.com Tue Dec 16 19:07:17 2025 From: patricio.chilano.mateo at oracle.com (Patricio Chilano Mateo) Date: Tue, 16 Dec 2025 14:07:17 -0500 Subject: class loading deadlock In-Reply-To: References: <0d9b232b-9ac9-4a03-a3c4-bc3c7f65d090@app.fastmail.com> <32a73cd3-4cf6-4dbf-8891-7e89c580abf8@oracle.com> <8fbc819b-5a24-f379-f456-cc636881a9c2@oracle.com> <89dfb486-dedf-4137-a801-55e945961f51@app.fastmail.com> <7d33ee05-087a-2c88-d6ee-f8f6c5a5963a@oracle.com> Message-ID: On 12/16/25 1:30?PM, Benjamin Peterson wrote: > On Tue, Dec 16, 2025, at 09:25, Patricio Chilano Mateo wrote: >> On 12/15/25 8:37?PM, Benjamin Peterson wrote: >>> On Mon, Dec 15, 2025, at 16:03, Patricio Chilano Mateo wrote: >>>> Hi Benjamin, >>>> >>>> This kind of deadlock, where a platform thread is blocked waiting to >>>> acquire a monitor and the successor is an unmounted virtual thread that >>>> cannot run, should be fixed by JDK-8369019. >>> Thanks for the pointer. So the idea is that "new" waiters on mutexes with unmounted virtual thread waiters wake up every so often to see if they can run? >> Yes, for platform threads (carriers or not) we use timed-parking when >> there are unmounted vthreads ahead in the queue to avoid this kind of >> deadlock scenarios. > It seems that would dislodge deadlock in the exact scenario I've run into. But what if the unmounted virtual thread is hanging onto other resources required by a waiting platform thread? > > For example, suppose the unmounted virtual thread had explicitly called ClassLoader.loadClass. Then, it could be holding a class loading lock or one of the JarFile/ZipEntry monitors while unmounted. If the platform thread required one of those mutexes, there would still be a deadlock even if the platform thread woke from its timed wait. Yes, 8369019 only addresses the case where the successor is unmounted. Fixing the case where the owner of the monitor is an unmounted virtual thread that cannot run is more complex since we would need to detect the deadlock and allow that particular virtual thread to run. Patricio From duke at openjdk.org Thu Dec 18 19:30:30 2025 From: duke at openjdk.org (duke) Date: Thu, 18 Dec 2025 19:30:30 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: <2db8ac5c-8e8b-498f-bb20-55b874bcf01a@openjdk.org> Changeset: 01a40d7b Branch: fibers Author: Alan Bateman Date: 2025-12-14 15:02:23 +0000 URL: https://git.openjdk.org/loom/commit/01a40d7b8d5a1fc009d2becc2aeb06a6abc0b244 Cleanup ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/VirtualThread.java ! src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList.txt ! test/jdk/java/lang/Thread/virtual/UpDownLoad.java = test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenMounted.java = test/micro/org/openjdk/bench/java/lang/VirtualThreadGetStackTraceWhenUnmounted.java Changeset: 22834ab4 Branch: fibers Author: Alan Bateman Date: 2025-12-18 16:54:16 +0000 URL: https://git.openjdk.org/loom/commit/22834ab4f30aa3c43ad0b843e8ee027d77d8dc5f Lost wakeup when parking after timed-park ! src/java.base/share/classes/java/lang/VirtualThread.java + test/jdk/java/lang/Thread/virtual/stress/ParkAfterTimedPark.java ! test/jdk/java/lang/Thread/virtual/stress/TimedWaitALot.java From duke at openjdk.org Thu Dec 18 19:36:54 2025 From: duke at openjdk.org (duke) Date: Thu, 18 Dec 2025 19:36:54 GMT Subject: git: openjdk/loom: fibers: 59 new changesets Message-ID: <9c8d26c7-5765-450d-b18e-b8edf9f30ea2@openjdk.org> Changeset: 78c2d572 Branch: fibers Author: Axel Boldt-Christmas Date: 2025-12-16 07:38:26 +0000 URL: https://git.openjdk.org/loom/commit/78c2d57259ad829a2cfc1370efbb2a5913df4661 8373668: Add override keyword to *Klass classes Reviewed-by: jwaters, dholmes, kbarrett, tschatzl ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp ! src/hotspot/share/oops/instanceRefKlass.hpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/objArrayKlass.hpp ! src/hotspot/share/oops/typeArrayKlass.hpp Changeset: 84028918 Branch: fibers Author: Emanuel Peter Date: 2025-12-16 09:34:42 +0000 URL: https://git.openjdk.org/loom/commit/8402891889c29894555eca6449ba63f7b7458124 8373355: C2: CompileCommand PrintIdealPhase should also print nodes that are not "reachable from below" Reviewed-by: rcastanedalo, mchevalier, bmaillard ! src/hotspot/share/opto/compile.cpp ! test/hotspot/jtreg/compiler/c2/irTests/ModDNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModFNodeTests.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRFindFromAbove.java Changeset: 43d44561 Branch: fibers Author: Maurizio Cimadamore Date: 2025-12-16 10:01:13 +0000 URL: https://git.openjdk.org/loom/commit/43d4456181fcd759e3f1de7ca4f6d74827a3c644 8373570: Javac stack overflow on method-local class with nested record referring to enclosing type Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java + test/langtools/tools/javac/SuperInit/NewLocalNotInInner.java + test/langtools/tools/javac/SuperInit/NewLocalNotInInner.out Changeset: 41d28c18 Branch: fibers Author: Jaikiran Pai Date: 2025-12-16 10:08:08 +0000 URL: https://git.openjdk.org/loom/commit/41d28c1838bcd7a69f78c9799b449af2a33c11c3 8373561: Replace usages of -verify java launcher option with -Xverify:all JVM option Reviewed-by: serb, prr, dholmes, jlahoda ! test/hotspot/jtreg/runtime/verifier/TestANewArray.java ! test/hotspot/jtreg/runtime/verifier/TraceClassRes.java ! test/hotspot/jtreg/runtime/verifier/stackMapTableTests/StackMapTableTest.java ! test/jdk/javax/swing/JFileChooser/6520101/bug6520101.java ! test/langtools/tools/javac/VarDeclarationWithAssignment.java Changeset: 53ebcdbd Branch: fibers Author: Serguei Spitsyn Date: 2025-12-16 10:28:27 +0000 URL: https://git.openjdk.org/loom/commit/53ebcdbd029a1c78f8429574b78cecce70c11af2 8373627: assert(!is_vthread_transition_disabler()) failed: no suspend allowed for vthread transition disablers Reviewed-by: pchilanomate, dholmes ! src/hotspot/share/runtime/mountUnmountDisabler.cpp Changeset: a61394b1 Branch: fibers Author: Aleksey Shipilev Date: 2025-12-16 13:18:59 +0000 URL: https://git.openjdk.org/loom/commit/a61394b1da40cfbb617fec35553da2d3c3e27d37 8373789: No PCH release build failure after JDK-8372543 Reviewed-by: tschatzl ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp Changeset: 89e77512 Branch: fibers Author: Emanuel Peter Date: 2025-12-16 13:33:02 +0000 URL: https://git.openjdk.org/loom/commit/89e77512fd44b6a0299ab36db15142e7544899f3 8370922: Template Framework Library: Float16 type and operations Reviewed-by: galder, thartmann, bmaillard ! test/hotspot/jtreg/compiler/igvn/ExpressionFuzzer.java ! test/hotspot/jtreg/compiler/lib/template_framework/library/CodeGenerationDataNameType.java + test/hotspot/jtreg/compiler/lib/template_framework/library/Float16Type.java ! test/hotspot/jtreg/compiler/lib/template_framework/library/Operations.java ! test/hotspot/jtreg/compiler/lib/template_framework/library/PrimitiveType.java ! test/hotspot/jtreg/compiler/lib/verify/Verify.java ! test/hotspot/jtreg/testlibrary_tests/template_framework/examples/TestExpressions.java ! test/hotspot/jtreg/testlibrary_tests/verify/tests/TestVerify.java + test/hotspot/jtreg/testlibrary_tests/verify/tests/TestVerifyFloat16.java Changeset: 76e79dbb Branch: fibers Author: Marc Chevalier Date: 2025-12-16 14:32:23 +0000 URL: https://git.openjdk.org/loom/commit/76e79dbb3eca5589aae6852c8f55adf0759c714e 8371716: C2: Phi node fails Value()'s verification when speculative types clash Co-authored-by: Roland Westrelin Reviewed-by: roland, epeter ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/igvn/ClashingSpeculativeTypePhiNode.java Changeset: 81e37576 Branch: fibers Author: Justin Lu Date: 2025-12-16 18:11:37 +0000 URL: https://git.openjdk.org/loom/commit/81e375768837e1ae6c34c1d0a8eff06b4e1d2889 8373566: Performance regression with java.text.MessageFormat subformat patterns Reviewed-by: liach, rriggs, naoto ! src/java.base/share/classes/java/text/MessageFormat.java ! test/micro/org/openjdk/bench/java/text/MessageFormatterBench.java Changeset: b0b42e7e Branch: fibers Author: Ioi Lam Date: 2025-12-16 18:19:40 +0000 URL: https://git.openjdk.org/loom/commit/b0b42e7eb14dbe04c9c00e8d1fda139a502f2120 8373615: Improve HotSpot debug functions findclass() and findmethod Reviewed-by: matsaave, asmehra ! src/hotspot/share/classfile/classPrinter.cpp ! src/hotspot/share/classfile/classPrinter.hpp ! test/hotspot/gtest/runtime/test_classPrinter.cpp Changeset: a0dd66f9 Branch: fibers Author: Saint Wesonga Committer: Andrew Haley Date: 2025-12-16 18:36:28 +0000 URL: https://git.openjdk.org/loom/commit/a0dd66f92d7f8400b9800847e36d036315628afb 8373630: r18_tls should not be modified on Windows AArch64 Reviewed-by: pchilanomate, aph ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 817e3dfd Branch: fibers Author: Mark Powers Date: 2025-12-16 18:38:11 +0000 URL: https://git.openjdk.org/loom/commit/817e3dfde9eaa467ea0dca9b70282e914cdde093 8350711: [JMH] test Signatures.RSASSAPSS failed for 2 threads config Reviewed-by: hchao, valeriep ! test/micro/org/openjdk/bench/java/security/Signatures.java Changeset: 1e357e9e Branch: fibers Author: Roger Riggs Date: 2025-12-16 20:23:58 +0000 URL: https://git.openjdk.org/loom/commit/1e357e9e976bfb0abc9d4e14bfb1572693622af8 8373623: Refactor Serialization tests for Records to JUnit Reviewed-by: jlu ! test/jdk/java/io/Serializable/records/AbsentStreamValuesTest.java ! test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java ! test/jdk/java/io/Serializable/records/BadValues.java ! test/jdk/java/io/Serializable/records/BasicRecordSer.java ! test/jdk/java/io/Serializable/records/ConstructorAccessTest.java ! test/jdk/java/io/Serializable/records/CycleTest.java ! test/jdk/java/io/Serializable/records/DifferentStreamFieldsTest.java ! test/jdk/java/io/Serializable/records/ProhibitedMethods.java ! test/jdk/java/io/Serializable/records/ReadResolveTest.java ! test/jdk/java/io/Serializable/records/RecordClassTest.java ! test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java ! test/jdk/java/io/Serializable/records/SerialVersionUIDTest.java ! test/jdk/java/io/Serializable/records/StreamRefTest.java ! test/jdk/java/io/Serializable/records/ThrowingConstructorTest.java ! test/jdk/java/io/Serializable/records/UnsharedTest.java ! test/jdk/java/io/Serializable/records/WriteReplaceTest.java ! test/jdk/java/io/Serializable/records/migration/AbstractTest.java ! test/jdk/java/io/Serializable/records/migration/AssignableFromTest.java ! test/jdk/java/io/Serializable/records/migration/DefaultValuesTest.java ! test/jdk/java/io/Serializable/records/migration/SuperStreamFieldsTest.java Changeset: d02abfe7 Branch: fibers Author: Khalid Boulanouare Committer: Alexey Ivanov Date: 2025-12-16 20:37:57 +0000 URL: https://git.openjdk.org/loom/commit/d02abfe765a1e67c5e37f3450aa5a0d8fb97a208 8158801: [TEST_BUG] Mixing tests fail because of focus workaround trick Reviewed-by: aivanov, prr, psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/GlassPaneOverlappingTestBase.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JInternalFrameOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JScrollPaneOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/OverlappingTestBase.java ! test/jdk/java/awt/Mixing/AWT_Mixing/SimpleOverlappingTestBase.java Changeset: fb99ba6c Branch: fibers Author: Damon Nguyen Date: 2025-12-16 21:19:33 +0000 URL: https://git.openjdk.org/loom/commit/fb99ba6ccd6e6d7a0e717a1b9f2a80402af5c661 8373119: JDK 26 RDP1 L10n resource files update Reviewed-by: jlu, asemenyuk, almatvee ! src/java.base/share/classes/sun/launcher/resources/launcher_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_de.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ja.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_CN.properties ! src/java.base/share/classes/sun/security/util/resources/security_de.properties ! src/java.base/share/classes/sun/security/util/resources/security_ja.properties ! src/java.base/share/classes/sun/security/util/resources/security_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_de.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_ja.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_zh_CN.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_zh_CN.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_de.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_ja.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_zh_CN.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_ja.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties Changeset: 2241218e Branch: fibers Author: Alexey Semenyuk Date: 2025-12-16 21:25:41 +0000 URL: https://git.openjdk.org/loom/commit/2241218ef64ed6cb51f962f3ab6db1a766f1744f 8373631: Improve classes in the "jdk.jpackage.internal.util.function" package Reviewed-by: almatvee ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacFromOptions.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/TempKeychain.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/AppImageFile.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/PackagingPipeline.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/OptionsProcessor.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/FileUtils.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/Result.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/XmlUtils.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ExceptionBox.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingBiConsumer.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingBiFunction.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingConsumer.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingFunction.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingRunnable.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingSupplier.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingUnaryOperator.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinSystemEnvironment.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/AnnotationsTest.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/PackageTestTest.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/TKitTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/AdditionalLauncher.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageStringBundle.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LauncherVerifier.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LinuxHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacSign.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacSignVerify.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Main.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MethodCall.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/ObjectMapper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TestBuilder.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TestInstance.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WinExecutableIconVerifier.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java ! test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/PackagingPipelineTest.java ! test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/cli/OptionsValidationFailTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/ResultTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/function/ExceptionBoxTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/function/FunctionalTest.java ! test/jdk/tools/jpackage/junit/tools/jdk/jpackage/test/JUnitAdapter.java ! test/jdk/tools/jpackage/linux/AppAboutUrlTest.java ! test/jdk/tools/jpackage/macosx/CustomInfoPListTest.java ! test/jdk/tools/jpackage/macosx/EntitlementsTest.java ! test/jdk/tools/jpackage/share/AppContentTest.java ! test/jdk/tools/jpackage/share/AsyncTest.java ! test/jdk/tools/jpackage/share/BasicTest.java ! test/jdk/tools/jpackage/share/IconTest.java ! test/jdk/tools/jpackage/share/InOutPathTest.java ! test/jdk/tools/jpackage/share/PerUserCfgTest.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java ! test/jdk/tools/jpackage/share/ServiceTest.java Changeset: 30be9408 Branch: fibers Author: Jonas Norlinder Committer: David Holmes Date: 2025-12-16 21:33:27 +0000 URL: https://git.openjdk.org/loom/commit/30be94086aad42b99a15a05fe5115f552e8efb8b 8373625: CPUTimeCounters creates a total counter for unsupported GCs Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/runtime/cpuTimeCounters.hpp Changeset: 87d881fe Branch: fibers Author: Bradford Wetmore Date: 2025-12-16 21:43:43 +0000 URL: https://git.openjdk.org/loom/commit/87d881fee01c42f5847031a63d50873b3d438f7a 8368493: Disable most test JSSE debug output by default, and increase the test default maximum output log size Reviewed-by: jnimeh, hchao ! test/jdk/javax/net/ssl/DTLS/TEST.properties ! test/jdk/javax/net/ssl/HttpsURLConnection/Equals.java ! test/jdk/javax/net/ssl/SSLEngine/NoAuthClientAuth.java ! test/jdk/javax/net/ssl/SSLSession/ResumeTLS13withSNI.java ! test/jdk/javax/net/ssl/SSLSession/ServerNameRejectedTLSSessionResumption.java ! test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java ! test/jdk/javax/net/ssl/Stapling/SSLEngineWithStapling.java + test/jdk/javax/net/ssl/TEST.properties ! test/jdk/javax/net/ssl/TLS/TestJSSE.java ! test/jdk/javax/net/ssl/TLSCommon/TLSTest.java ! test/jdk/javax/net/ssl/TLSCommon/TLSWithEdDSA.java ! test/jdk/javax/net/ssl/TLSv12/ShortRSAKey512.java ! test/jdk/javax/net/ssl/TLSv13/ClientHelloKeyShares.java ! test/jdk/javax/net/ssl/TLSv13/HRRKeyShares.java ! test/jdk/javax/net/ssl/compatibility/ClientHelloProcessing.java ! test/jdk/javax/net/ssl/templates/SSLEngineTemplate.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java ! test/jdk/sun/security/ssl/SSLEngineImpl/TestBadDNForPeerCA.java ! test/jdk/sun/security/ssl/SSLEngineImpl/TestBadDNForPeerCA12.java ! test/jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeClientTLS12withSNI.java ! test/jdk/sun/security/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java ! test/jdk/sun/security/ssl/SignatureScheme/SigAlgosExtTestWithTLS12.java ! test/jdk/sun/security/ssl/SignatureScheme/SigSchemePropOrdering.java ! test/jdk/sun/security/ssl/Stapling/StatusResponseManager.java ! test/jdk/sun/security/ssl/Stapling/java.base/sun/security/ssl/StatusResponseManagerTests.java + test/jdk/sun/security/ssl/TEST.properties Changeset: 3f077102 Branch: fibers Author: Ioi Lam Date: 2025-12-16 23:17:29 +0000 URL: https://git.openjdk.org/loom/commit/3f07710270dbe7268f21828dff20e2eb810b1e70 8373441: Remove DCmdFactory::_enabled Reviewed-by: kevinw, fparain, jsjolen ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/logging/logDiagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/services/management.cpp ! src/jdk.management/share/classes/com/sun/management/DiagnosticCommandMBean.java Changeset: e635330a Branch: fibers Author: Anjian Wen Committer: Feilong Jiang Date: 2025-12-17 02:41:19 +0000 URL: https://git.openjdk.org/loom/commit/e635330ae17fd2ce653ec75fd57fdd72d2512bba 8373069: RISC-V: implement GHASH intrinsic Reviewed-by: fjiang, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp ! src/hotspot/os_cpu/linux_riscv/riscv_hwprobe.cpp Changeset: e9b4696a Branch: fibers Author: Christian Stein Date: 2025-12-17 07:18:26 +0000 URL: https://git.openjdk.org/loom/commit/e9b4696acc966d96d42880e840c8fe27434e4e1b 8373097: Save command should create missing parent directories Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! test/langtools/jdk/jshell/ToolBasicTest.java Changeset: 94c51ce3 Branch: fibers Author: Jan Lahoda Date: 2025-12-17 07:22:37 +0000 URL: https://git.openjdk.org/loom/commit/94c51ce314eea7a4f188fa0db1bae0e3f3dbd230 8372635: Lambdas do not copy over SYNTHETIC flag for local variables Reviewed-by: vromero, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/langtools/tools/javac/patterns/SyntheticVariables.java Changeset: 386ad614 Branch: fibers Author: Daniel Jeli?ski Date: 2025-12-17 07:49:58 +0000 URL: https://git.openjdk.org/loom/commit/386ad61458a3901622b92ca56982d728c11b846a 8373409: java/net/httpclient/http3/H3ErrorHandlingTest.java failed due to deadlock Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicEndpoint.java ! test/jdk/java/net/httpclient/http3/H3ErrorHandlingTest.java Changeset: 9e2008bf Branch: fibers Author: Matthias Baesken Date: 2025-12-17 08:44:46 +0000 URL: https://git.openjdk.org/loom/commit/9e2008bf5e9a63b640eefc6cc7ec5c4f344c4266 8373676: Test javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java fails on a machine without IPV6 Reviewed-by: jpai, dfuchs ! test/jdk/javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java Changeset: 4924b29f Branch: fibers Author: Michael McMahon Date: 2025-12-17 08:54:56 +0000 URL: https://git.openjdk.org/loom/commit/4924b29fa519996b806ac0f4a7c898085f44bc4c 8370655: Check EINTR handling InetAddress implementation and NET_ThrowNew Reviewed-by: alanb ! src/java.base/share/native/libnet/net_util.c ! src/java.base/unix/native/libnet/Inet4AddressImpl.c ! src/java.base/unix/native/libnet/Inet6AddressImpl.c ! src/java.base/unix/native/libnet/net_util_md.c ! src/java.base/unix/native/libnet/net_util_md.h Changeset: af18fbd4 Branch: fibers Author: Arno Zeller Committer: Matthias Baesken Date: 2025-12-17 09:08:29 +0000 URL: https://git.openjdk.org/loom/commit/af18fbd42d2a437dd35f33e557a8906ca0c3bd07 8371559: Intermittent timeouts in test javax/net/ssl/Stapling/HttpsUrlConnClient.java Reviewed-by: mbaesken, myankelevich ! test/jdk/javax/net/ssl/Stapling/HttpsUrlConnClient.java Changeset: fc76403b Branch: fibers Author: Raffaello Giulietti Date: 2025-12-17 09:20:48 +0000 URL: https://git.openjdk.org/loom/commit/fc76403b01c4e801f2a58810deeec2a6ebfa8458 8373798: Refactor java/math tests to use JUnit Reviewed-by: darcy ! test/jdk/java/math/BigDecimal/Constructor.java ! test/jdk/java/math/BigInteger/LargeValueExceptions.java Changeset: 9a23f8aa Branch: fibers Author: Aggelos Biboudis Date: 2025-12-17 10:31:23 +0000 URL: https://git.openjdk.org/loom/commit/9a23f8aa337e1292179625ce9bb8abe22c9e22e2 8373552: ExactConversionsSupport: bad JLS links in javadoc Reviewed-by: liach, iris ! src/java.base/share/classes/java/lang/runtime/ExactConversionsSupport.java Changeset: e4636d69 Branch: fibers Author: Christian Hagedorn Date: 2025-12-17 11:17:39 +0000 URL: https://git.openjdk.org/loom/commit/e4636d69e7e41477619a163e97fd3af2e5942dde 8373420: C2: Add true/false_proj*() methods for IfNode as a replacement for proj_out*(true/false) Reviewed-by: dfenacci, roland, epeter ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/stringopts.cpp Changeset: 5e7ae281 Branch: fibers Author: Daniel Fuchs Date: 2025-12-17 12:13:58 +0000 URL: https://git.openjdk.org/loom/commit/5e7ae281326ca306339aaba101d4206dffdb9ca0 8373677: Clear text HttpServer connection could fail fast if receiving SSL ClientHello Reviewed-by: jpai, djelinski ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/ClearTextServerSSL.java Changeset: 39306d7a Branch: fibers Author: Ioi Lam Date: 2025-12-17 13:19:49 +0000 URL: https://git.openjdk.org/loom/commit/39306d7ab901a1d27d9bfd80f04d917b4d17d07f 8373800: Remove ScopedValueBindingsResolver Reviewed-by: alanb, liach ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/prims/jvm.cpp Changeset: 9862f8f0 Branch: fibers Author: Christian Hagedorn Date: 2025-12-17 13:38:37 +0000 URL: https://git.openjdk.org/loom/commit/9862f8f0d351448803f8930333d5a7286e6c3565 8373513: C2: Move ProjNode::other_if_proj() to IfProjNode Reviewed-by: epeter, roland ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/multnode.hpp ! src/hotspot/share/opto/predicates.cpp Changeset: 4e05748f Branch: fibers Author: Justin Lu Date: 2025-12-17 18:17:24 +0000 URL: https://git.openjdk.org/loom/commit/4e05748f0899cabb235c71ecdf4256d4ad137a0d 8373716: Refactor further java/util tests from TestNG to JUnit Reviewed-by: naoto ! test/jdk/java/util/Calendar/CalendarDisplayNamesTest.java ! test/jdk/java/util/Calendar/JapaneseLenientEraTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTestRun.java ! test/jdk/java/util/Properties/CompatibilityTest.java ! test/jdk/java/util/Properties/EncodingTest.java ! test/jdk/java/util/Properties/InitialCapacity.java ! test/jdk/java/util/Properties/PropertiesEntrySetTest.java ! test/jdk/java/util/Properties/PropertiesStoreTest.java ! test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java ! test/jdk/java/util/ResourceBundle/modules/cache/CacheTest.java ! test/jdk/java/util/ResourceBundle/modules/casesensitive/CaseInsensitiveNameClash.java ! test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java ! test/jdk/java/util/TimeZone/NegativeDSTTest.java ! test/jdk/java/util/TimeZone/ZoneIdRoundTripTest.java Changeset: f3a48560 Branch: fibers Author: Daniel Fuchs Date: 2025-12-17 18:44:49 +0000 URL: https://git.openjdk.org/loom/commit/f3a48560b5e3a280f6f76031eb3d475ff9ee49f4 8373807: test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java getURI() uses "localhost" Reviewed-by: jpai ! test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java Changeset: e75726ee Branch: fibers Author: Chen Liang Date: 2025-12-17 20:52:14 +0000 URL: https://git.openjdk.org/loom/commit/e75726ee03ca4664827ca5d680c02bcf2a96f4ea 8373832: Test java/lang/invoke/TestVHInvokerCaching.java tests nothing Reviewed-by: jvernee, shade ! test/jdk/java/lang/invoke/TestVHInvokerCaching.java Changeset: b3fab414 Branch: fibers Author: David Holmes Date: 2025-12-17 22:14:39 +0000 URL: https://git.openjdk.org/loom/commit/b3fab41460eabf253879d140b55b6b12036c7c10 8373654: Tests in sources/ should only run once Reviewed-by: shade, lmesnik ! test/hotspot/jtreg/sources/TestIncludesAreSorted.java ! test/hotspot/jtreg/sources/TestNoNULL.java Changeset: 232b41b2 Branch: fibers Author: Ioi Lam Date: 2025-12-17 22:16:38 +0000 URL: https://git.openjdk.org/loom/commit/232b41b2227bc9d03d88d316aa28d0cbe87086f7 8373392: Replace CDS object subgraphs with @AOTSafeClassInitializer Reviewed-by: liach, heidinga ! src/hotspot/share/cds/aotArtifactFinder.cpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotMetaspace.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cdsEnumKlass.cpp ! src/hotspot/share/cds/cdsEnumKlass.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/finalImageRecipes.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/java.base/share/classes/java/lang/Byte.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/Short.java ! src/java.base/share/classes/java/lang/module/Configuration.java ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/java/util/jar/Attributes.java ! src/java.base/share/classes/jdk/internal/loader/ArchivedClassLoaders.java ! src/java.base/share/classes/jdk/internal/math/FDBigInteger.java ! src/java.base/share/classes/jdk/internal/module/ArchivedBootLayer.java ! src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/SharedSymbolTableBucketSize.java ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/AOTLoggingTag.java + test/hotspot/jtreg/runtime/cds/appcds/aotCache/HeapObjectIdentity.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java Changeset: 17d633a8 Branch: fibers Author: Kelvin Nilsen Date: 2025-12-17 22:21:24 +0000 URL: https://git.openjdk.org/loom/commit/17d633a8ee7538625501a90469cb6a68b9ba4820 8373720: GenShen: Count live-at-old mark using Snapshot at Beginning Reviewed-by: ysr ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Changeset: c16ce929 Branch: fibers Author: Dan Smith Date: 2025-12-17 22:38:50 +0000 URL: https://git.openjdk.org/loom/commit/c16ce929c7bc127fe18d3faa037d81c2760a44a2 8370970: DocCheck failure in jdkDoctypeBadcharsCheck.java and jdkCheckHtml.java Reviewed-by: liach ! test/docs/ProblemList.txt Changeset: ea583441 Branch: fibers Author: Alexey Semenyuk Date: 2025-12-18 01:46:45 +0000 URL: https://git.openjdk.org/loom/commit/ea5834415db6410c73271c496811ff6b5dcc87ef 8373887: jpackage tests may potentially deadlock Reviewed-by: almatvee ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/ExecutorTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Executor.java Changeset: 0146077a Branch: fibers Author: Leonid Mesnik Date: 2025-12-18 04:27:18 +0000 URL: https://git.openjdk.org/loom/commit/0146077a51635500de771e9cf2c9788ae931b7a0 8373723: Deadlock with JvmtiTagMap::flush_object_free_events() Reviewed-by: dholmes, coleenp ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: b4462625 Branch: fibers Author: Emanuel Peter Date: 2025-12-18 07:04:40 +0000 URL: https://git.openjdk.org/loom/commit/b4462625413e7c2c12778eaad1f2f21d81f59c52 8373682: Test compiler/loopopts/superword/TestReinterpretAndCast.java fails on x86_64 with AVX but without f16c Reviewed-by: kvn, jsikstro, chagedorn ! test/hotspot/jtreg/compiler/loopopts/superword/TestReinterpretAndCast.java Changeset: 00050f84 Branch: fibers Author: Emanuel Peter Date: 2025-12-18 07:05:05 +0000 URL: https://git.openjdk.org/loom/commit/00050f84d44f3ec23e9c6da52bffd68770010749 8373502: C2 SuperWord: speculative check uses VPointer variable was pinned after speculative check, leading to bad graph Reviewed-by: thartmann, roland ! src/hotspot/share/opto/vectorization.cpp ! src/hotspot/share/opto/vectorization.hpp + test/hotspot/jtreg/compiler/loopopts/superword/TestAliasingCheckVPointerVariablesNotAvailable.java Changeset: e6780506 Branch: fibers Author: Quan Anh Mai Date: 2025-12-18 07:31:06 +0000 URL: https://git.openjdk.org/loom/commit/e67805067a8f537862200e808e20464f12d21c9c 8367341: C2: apply KnownBits and unsigned bounds to And / Or operations Reviewed-by: hgreule, epeter ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/rangeinference.cpp ! src/hotspot/share/opto/rangeinference.hpp ! src/hotspot/share/opto/type.hpp - src/hotspot/share/opto/utilities/xor.hpp ! src/hotspot/share/utilities/intn_t.hpp ! test/hotspot/gtest/opto/test_rangeinference.cpp - test/hotspot/gtest/opto/test_xor_node.cpp Changeset: 85983069 Branch: fibers Author: Tobias Hotz Committer: Manuel H?ssig Date: 2025-12-18 07:37:21 +0000 URL: https://git.openjdk.org/loom/commit/859830694b3db0b81b422bf9b2ce9c7ab9a19a85 8364766: C2: Improve Value() of DivI and DivL for non-constant inputs Reviewed-by: mhaessig, epeter, bmaillard ! src/hotspot/share/opto/divnode.cpp + test/hotspot/jtreg/compiler/igvn/IntegerDivValueTests.java Changeset: a31e6e0d Branch: fibers Author: Matthias Baesken Date: 2025-12-18 08:25:26 +0000 URL: https://git.openjdk.org/loom/commit/a31e6e0d3b806b3b1935d3b71dd0b111bc5fddf1 8373593: Support latest VS2026 MSC_VER in abstract_vm_version.cpp Reviewed-by: mdoerr, dholmes ! src/hotspot/share/runtime/abstract_vm_version.cpp Changeset: 3f20eb94 Branch: fibers Author: Matthias Baesken Date: 2025-12-18 09:14:37 +0000 URL: https://git.openjdk.org/loom/commit/3f20eb943532c5c76e55b14292139749bd704ce4 8372348: Adjust some UL / JFR string deduplication output messages Reviewed-by: fandreuzzi, lucy, asteiner ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.cpp ! src/hotspot/share/jfr/metadata/metadata.xml Changeset: e5ca7783 Branch: fibers Author: Daniel Fuchs Date: 2025-12-18 09:21:37 +0000 URL: https://git.openjdk.org/loom/commit/e5ca77838b9243321ed66afc2f460378d25add63 8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5 Reviewed-by: jpai ! test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java Changeset: c6da35d7 Branch: fibers Author: Daniel Fuchs Date: 2025-12-18 09:29:29 +0000 URL: https://git.openjdk.org/loom/commit/c6da35d7c7076aa9643b3dbf03a285420bb1003d 8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5 Reviewed-by: jpai ! test/jdk/java/net/httpclient/AbstractThrowingPublishers.java ! test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java ! test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java ! test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java ! test/jdk/java/net/httpclient/ThrowingPublishersSanity.java Changeset: d8eb1259 Branch: fibers Author: Daniel Fuchs Date: 2025-12-18 09:39:11 +0000 URL: https://git.openjdk.org/loom/commit/d8eb1259f4c0d80861401612e9fc7def1466602e 8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5 Reviewed-by: jpai ! test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLimiting.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLimitingAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java Changeset: 4f283f18 Branch: fibers Author: Aleksey Shipilev Date: 2025-12-18 09:43:28 +0000 URL: https://git.openjdk.org/loom/commit/4f283f188c43cb25c4eafcdf22eb7f58eae286cc 8373820: C2: Robust Node::uncast_helper infinite loop check Reviewed-by: qamai, chagedorn ! src/hotspot/share/opto/node.cpp Changeset: 2ba423db Branch: fibers Author: Roland Westrelin Date: 2025-12-18 10:36:16 +0000 URL: https://git.openjdk.org/loom/commit/2ba423db9925355348106fc9fcf84450123d2605 8370200: Crash: assert(outer->outcnt() >= phis + 2 - be_loads && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis Reviewed-by: rcastanedalo, dlunden, dfenacci ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/c2/TestReplaceNarrowPhiWithBottomPhi.java + test/hotspot/jtreg/compiler/loopstripmining/TestMismatchedMemoryPhis.java Changeset: 2c0d9a79 Branch: fibers Author: Galder Zamarre?o Committer: Roland Westrelin Date: 2025-12-18 11:45:26 +0000 URL: https://git.openjdk.org/loom/commit/2c0d9a79b8197d88a104bd77026dd45b83a11f8a 8373396: Min and Max Ideal missing AddNode::Ideal optimisations Reviewed-by: epeter, roland ! src/hotspot/share/opto/addnode.cpp + test/hotspot/jtreg/compiler/igvn/TestMinMaxIdeal.java Changeset: 629e4ac6 Branch: fibers Author: Volkan Yazici Date: 2025-12-18 12:46:02 +0000 URL: https://git.openjdk.org/loom/commit/629e4ac6f45c87898f6a014f28a443c800413869 8372661: Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext" Reviewed-by: dfuchs, weijun ! test/lib/jdk/test/lib/net/SimpleSSLContext.java Changeset: 3258e4da Branch: fibers Author: Raffaello Giulietti Date: 2025-12-18 13:09:42 +0000 URL: https://git.openjdk.org/loom/commit/3258e4dafa85b2347c7640b0fd87197959cabea2 8373068: Revisit details of Float16 to decimal conversion algorithm Reviewed-by: darcy ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float16.java Changeset: b848ddf6 Branch: fibers Author: Yasumasa Suenaga Date: 2025-12-18 13:15:36 +0000 URL: https://git.openjdk.org/loom/commit/b848ddf6d3bf4e76d409b03be7f36199dadb2c5f 8373110: jstack --mixed frames are broken on macOS after JDK-8371194 Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/aarch64/BsdAARCH64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64CFrame.java Changeset: 7a7e7c9a Branch: fibers Author: Daniel Jeli?ski Date: 2025-12-18 13:17:44 +0000 URL: https://git.openjdk.org/loom/commit/7a7e7c9ae11cb124c14d5d2d3b7e2f5649205106 8373877: QUIC connections are removed too early Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/quic/ConnectionTerminatorImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicConnectionImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicEndpoint.java ! test/jdk/java/net/httpclient/quic/StatelessResetReceiptTest.java Changeset: a820d687 Branch: fibers Author: Alan Bateman Date: 2025-12-18 13:23:36 +0000 URL: https://git.openjdk.org/loom/commit/a820d687965431446f1336c9a90a0a8fcfd1d065 Merge branch 'master' into fibers ! src/hotspot/share/prims/jvm.cpp ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt ! src/hotspot/share/prims/jvm.cpp ! test/hotspot/jtreg/TEST.groups ! test/jdk/ProblemList.txt Changeset: 74782829 Branch: fibers Author: Alan Bateman Date: 2025-12-18 16:54:27 +0000 URL: https://git.openjdk.org/loom/commit/747828296f8287be119cca9f286e1da94183ca7e Merge loom into fibers ! test/jdk/ProblemList.txt ! test/jdk/ProblemList.txt From duke at openjdk.org Thu Dec 18 19:40:15 2025 From: duke at openjdk.org (duke) Date: Thu, 18 Dec 2025 19:40:15 GMT Subject: git: openjdk/loom: master: 57 new changesets Message-ID: Changeset: 78c2d572 Branch: master Author: Axel Boldt-Christmas Date: 2025-12-16 07:38:26 +0000 URL: https://git.openjdk.org/loom/commit/78c2d57259ad829a2cfc1370efbb2a5913df4661 8373668: Add override keyword to *Klass classes Reviewed-by: jwaters, dholmes, kbarrett, tschatzl ! src/hotspot/share/oops/arrayKlass.hpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp ! src/hotspot/share/oops/instanceRefKlass.hpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/objArrayKlass.hpp ! src/hotspot/share/oops/typeArrayKlass.hpp Changeset: 84028918 Branch: master Author: Emanuel Peter Date: 2025-12-16 09:34:42 +0000 URL: https://git.openjdk.org/loom/commit/8402891889c29894555eca6449ba63f7b7458124 8373355: C2: CompileCommand PrintIdealPhase should also print nodes that are not "reachable from below" Reviewed-by: rcastanedalo, mchevalier, bmaillard ! src/hotspot/share/opto/compile.cpp ! test/hotspot/jtreg/compiler/c2/irTests/ModDNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModFNodeTests.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRFindFromAbove.java Changeset: 43d44561 Branch: master Author: Maurizio Cimadamore Date: 2025-12-16 10:01:13 +0000 URL: https://git.openjdk.org/loom/commit/43d4456181fcd759e3f1de7ca4f6d74827a3c644 8373570: Javac stack overflow on method-local class with nested record referring to enclosing type Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java + test/langtools/tools/javac/SuperInit/NewLocalNotInInner.java + test/langtools/tools/javac/SuperInit/NewLocalNotInInner.out Changeset: 41d28c18 Branch: master Author: Jaikiran Pai Date: 2025-12-16 10:08:08 +0000 URL: https://git.openjdk.org/loom/commit/41d28c1838bcd7a69f78c9799b449af2a33c11c3 8373561: Replace usages of -verify java launcher option with -Xverify:all JVM option Reviewed-by: serb, prr, dholmes, jlahoda ! test/hotspot/jtreg/runtime/verifier/TestANewArray.java ! test/hotspot/jtreg/runtime/verifier/TraceClassRes.java ! test/hotspot/jtreg/runtime/verifier/stackMapTableTests/StackMapTableTest.java ! test/jdk/javax/swing/JFileChooser/6520101/bug6520101.java ! test/langtools/tools/javac/VarDeclarationWithAssignment.java Changeset: 53ebcdbd Branch: master Author: Serguei Spitsyn Date: 2025-12-16 10:28:27 +0000 URL: https://git.openjdk.org/loom/commit/53ebcdbd029a1c78f8429574b78cecce70c11af2 8373627: assert(!is_vthread_transition_disabler()) failed: no suspend allowed for vthread transition disablers Reviewed-by: pchilanomate, dholmes ! src/hotspot/share/runtime/mountUnmountDisabler.cpp Changeset: a61394b1 Branch: master Author: Aleksey Shipilev Date: 2025-12-16 13:18:59 +0000 URL: https://git.openjdk.org/loom/commit/a61394b1da40cfbb617fec35553da2d3c3e27d37 8373789: No PCH release build failure after JDK-8372543 Reviewed-by: tschatzl ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp Changeset: 89e77512 Branch: master Author: Emanuel Peter Date: 2025-12-16 13:33:02 +0000 URL: https://git.openjdk.org/loom/commit/89e77512fd44b6a0299ab36db15142e7544899f3 8370922: Template Framework Library: Float16 type and operations Reviewed-by: galder, thartmann, bmaillard ! test/hotspot/jtreg/compiler/igvn/ExpressionFuzzer.java ! test/hotspot/jtreg/compiler/lib/template_framework/library/CodeGenerationDataNameType.java + test/hotspot/jtreg/compiler/lib/template_framework/library/Float16Type.java ! test/hotspot/jtreg/compiler/lib/template_framework/library/Operations.java ! test/hotspot/jtreg/compiler/lib/template_framework/library/PrimitiveType.java ! test/hotspot/jtreg/compiler/lib/verify/Verify.java ! test/hotspot/jtreg/testlibrary_tests/template_framework/examples/TestExpressions.java ! test/hotspot/jtreg/testlibrary_tests/verify/tests/TestVerify.java + test/hotspot/jtreg/testlibrary_tests/verify/tests/TestVerifyFloat16.java Changeset: 76e79dbb Branch: master Author: Marc Chevalier Date: 2025-12-16 14:32:23 +0000 URL: https://git.openjdk.org/loom/commit/76e79dbb3eca5589aae6852c8f55adf0759c714e 8371716: C2: Phi node fails Value()'s verification when speculative types clash Co-authored-by: Roland Westrelin Reviewed-by: roland, epeter ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/igvn/ClashingSpeculativeTypePhiNode.java Changeset: 81e37576 Branch: master Author: Justin Lu Date: 2025-12-16 18:11:37 +0000 URL: https://git.openjdk.org/loom/commit/81e375768837e1ae6c34c1d0a8eff06b4e1d2889 8373566: Performance regression with java.text.MessageFormat subformat patterns Reviewed-by: liach, rriggs, naoto ! src/java.base/share/classes/java/text/MessageFormat.java ! test/micro/org/openjdk/bench/java/text/MessageFormatterBench.java Changeset: b0b42e7e Branch: master Author: Ioi Lam Date: 2025-12-16 18:19:40 +0000 URL: https://git.openjdk.org/loom/commit/b0b42e7eb14dbe04c9c00e8d1fda139a502f2120 8373615: Improve HotSpot debug functions findclass() and findmethod Reviewed-by: matsaave, asmehra ! src/hotspot/share/classfile/classPrinter.cpp ! src/hotspot/share/classfile/classPrinter.hpp ! test/hotspot/gtest/runtime/test_classPrinter.cpp Changeset: a0dd66f9 Branch: master Author: Saint Wesonga Committer: Andrew Haley Date: 2025-12-16 18:36:28 +0000 URL: https://git.openjdk.org/loom/commit/a0dd66f92d7f8400b9800847e36d036315628afb 8373630: r18_tls should not be modified on Windows AArch64 Reviewed-by: pchilanomate, aph ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 817e3dfd Branch: master Author: Mark Powers Date: 2025-12-16 18:38:11 +0000 URL: https://git.openjdk.org/loom/commit/817e3dfde9eaa467ea0dca9b70282e914cdde093 8350711: [JMH] test Signatures.RSASSAPSS failed for 2 threads config Reviewed-by: hchao, valeriep ! test/micro/org/openjdk/bench/java/security/Signatures.java Changeset: 1e357e9e Branch: master Author: Roger Riggs Date: 2025-12-16 20:23:58 +0000 URL: https://git.openjdk.org/loom/commit/1e357e9e976bfb0abc9d4e14bfb1572693622af8 8373623: Refactor Serialization tests for Records to JUnit Reviewed-by: jlu ! test/jdk/java/io/Serializable/records/AbsentStreamValuesTest.java ! test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java ! test/jdk/java/io/Serializable/records/BadValues.java ! test/jdk/java/io/Serializable/records/BasicRecordSer.java ! test/jdk/java/io/Serializable/records/ConstructorAccessTest.java ! test/jdk/java/io/Serializable/records/CycleTest.java ! test/jdk/java/io/Serializable/records/DifferentStreamFieldsTest.java ! test/jdk/java/io/Serializable/records/ProhibitedMethods.java ! test/jdk/java/io/Serializable/records/ReadResolveTest.java ! test/jdk/java/io/Serializable/records/RecordClassTest.java ! test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java ! test/jdk/java/io/Serializable/records/SerialVersionUIDTest.java ! test/jdk/java/io/Serializable/records/StreamRefTest.java ! test/jdk/java/io/Serializable/records/ThrowingConstructorTest.java ! test/jdk/java/io/Serializable/records/UnsharedTest.java ! test/jdk/java/io/Serializable/records/WriteReplaceTest.java ! test/jdk/java/io/Serializable/records/migration/AbstractTest.java ! test/jdk/java/io/Serializable/records/migration/AssignableFromTest.java ! test/jdk/java/io/Serializable/records/migration/DefaultValuesTest.java ! test/jdk/java/io/Serializable/records/migration/SuperStreamFieldsTest.java Changeset: d02abfe7 Branch: master Author: Khalid Boulanouare Committer: Alexey Ivanov Date: 2025-12-16 20:37:57 +0000 URL: https://git.openjdk.org/loom/commit/d02abfe765a1e67c5e37f3450aa5a0d8fb97a208 8158801: [TEST_BUG] Mixing tests fail because of focus workaround trick Reviewed-by: aivanov, prr, psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/GlassPaneOverlappingTestBase.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JInternalFrameOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JScrollPaneOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java ! test/jdk/java/awt/Mixing/AWT_Mixing/OverlappingTestBase.java ! test/jdk/java/awt/Mixing/AWT_Mixing/SimpleOverlappingTestBase.java Changeset: fb99ba6c Branch: master Author: Damon Nguyen Date: 2025-12-16 21:19:33 +0000 URL: https://git.openjdk.org/loom/commit/fb99ba6ccd6e6d7a0e717a1b9f2a80402af5c661 8373119: JDK 26 RDP1 L10n resource files update Reviewed-by: jlu, asemenyuk, almatvee ! src/java.base/share/classes/sun/launcher/resources/launcher_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_de.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ja.properties ! src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_CN.properties ! src/java.base/share/classes/sun/security/util/resources/security_de.properties ! src/java.base/share/classes/sun/security/util/resources/security_ja.properties ! src/java.base/share/classes/sun/security/util/resources/security_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_de.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_ja.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_zh_CN.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_de.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_ja.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_zh_CN.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_de.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_ja.properties ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/LinuxResources_zh_CN.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_ja.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties Changeset: 2241218e Branch: master Author: Alexey Semenyuk Date: 2025-12-16 21:25:41 +0000 URL: https://git.openjdk.org/loom/commit/2241218ef64ed6cb51f962f3ab6db1a766f1744f 8373631: Improve classes in the "jdk.jpackage.internal.util.function" package Reviewed-by: almatvee ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacFromOptions.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/TempKeychain.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/AppImageFile.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/PackagingPipeline.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/OptionsProcessor.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/FileUtils.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/Result.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/XmlUtils.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ExceptionBox.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingBiConsumer.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingBiFunction.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingConsumer.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingFunction.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingRunnable.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingSupplier.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/function/ThrowingUnaryOperator.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinSystemEnvironment.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/AnnotationsTest.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/PackageTestTest.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/TKitTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/AdditionalLauncher.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageStringBundle.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LauncherVerifier.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LinuxHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacSign.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacSignVerify.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Main.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MethodCall.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/ObjectMapper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TestBuilder.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TestInstance.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WinExecutableIconVerifier.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java ! test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/PackagingPipelineTest.java ! test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/cli/OptionsValidationFailTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/ResultTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/function/ExceptionBoxTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/function/FunctionalTest.java ! test/jdk/tools/jpackage/junit/tools/jdk/jpackage/test/JUnitAdapter.java ! test/jdk/tools/jpackage/linux/AppAboutUrlTest.java ! test/jdk/tools/jpackage/macosx/CustomInfoPListTest.java ! test/jdk/tools/jpackage/macosx/EntitlementsTest.java ! test/jdk/tools/jpackage/share/AppContentTest.java ! test/jdk/tools/jpackage/share/AsyncTest.java ! test/jdk/tools/jpackage/share/BasicTest.java ! test/jdk/tools/jpackage/share/IconTest.java ! test/jdk/tools/jpackage/share/InOutPathTest.java ! test/jdk/tools/jpackage/share/PerUserCfgTest.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java ! test/jdk/tools/jpackage/share/ServiceTest.java Changeset: 30be9408 Branch: master Author: Jonas Norlinder Committer: David Holmes Date: 2025-12-16 21:33:27 +0000 URL: https://git.openjdk.org/loom/commit/30be94086aad42b99a15a05fe5115f552e8efb8b 8373625: CPUTimeCounters creates a total counter for unsupported GCs Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/runtime/cpuTimeCounters.hpp Changeset: 87d881fe Branch: master Author: Bradford Wetmore Date: 2025-12-16 21:43:43 +0000 URL: https://git.openjdk.org/loom/commit/87d881fee01c42f5847031a63d50873b3d438f7a 8368493: Disable most test JSSE debug output by default, and increase the test default maximum output log size Reviewed-by: jnimeh, hchao ! test/jdk/javax/net/ssl/DTLS/TEST.properties ! test/jdk/javax/net/ssl/HttpsURLConnection/Equals.java ! test/jdk/javax/net/ssl/SSLEngine/NoAuthClientAuth.java ! test/jdk/javax/net/ssl/SSLSession/ResumeTLS13withSNI.java ! test/jdk/javax/net/ssl/SSLSession/ServerNameRejectedTLSSessionResumption.java ! test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java ! test/jdk/javax/net/ssl/Stapling/SSLEngineWithStapling.java + test/jdk/javax/net/ssl/TEST.properties ! test/jdk/javax/net/ssl/TLS/TestJSSE.java ! test/jdk/javax/net/ssl/TLSCommon/TLSTest.java ! test/jdk/javax/net/ssl/TLSCommon/TLSWithEdDSA.java ! test/jdk/javax/net/ssl/TLSv12/ShortRSAKey512.java ! test/jdk/javax/net/ssl/TLSv13/ClientHelloKeyShares.java ! test/jdk/javax/net/ssl/TLSv13/HRRKeyShares.java ! test/jdk/javax/net/ssl/compatibility/ClientHelloProcessing.java ! test/jdk/javax/net/ssl/templates/SSLEngineTemplate.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java ! test/jdk/sun/security/ssl/SSLEngineImpl/TestBadDNForPeerCA.java ! test/jdk/sun/security/ssl/SSLEngineImpl/TestBadDNForPeerCA12.java ! test/jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeClientTLS12withSNI.java ! test/jdk/sun/security/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java ! test/jdk/sun/security/ssl/SignatureScheme/SigAlgosExtTestWithTLS12.java ! test/jdk/sun/security/ssl/SignatureScheme/SigSchemePropOrdering.java ! test/jdk/sun/security/ssl/Stapling/StatusResponseManager.java ! test/jdk/sun/security/ssl/Stapling/java.base/sun/security/ssl/StatusResponseManagerTests.java + test/jdk/sun/security/ssl/TEST.properties Changeset: 3f077102 Branch: master Author: Ioi Lam Date: 2025-12-16 23:17:29 +0000 URL: https://git.openjdk.org/loom/commit/3f07710270dbe7268f21828dff20e2eb810b1e70 8373441: Remove DCmdFactory::_enabled Reviewed-by: kevinw, fparain, jsjolen ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/logging/logDiagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/services/management.cpp ! src/jdk.management/share/classes/com/sun/management/DiagnosticCommandMBean.java Changeset: e635330a Branch: master Author: Anjian Wen Committer: Feilong Jiang Date: 2025-12-17 02:41:19 +0000 URL: https://git.openjdk.org/loom/commit/e635330ae17fd2ce653ec75fd57fdd72d2512bba 8373069: RISC-V: implement GHASH intrinsic Reviewed-by: fjiang, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp ! src/hotspot/os_cpu/linux_riscv/riscv_hwprobe.cpp Changeset: e9b4696a Branch: master Author: Christian Stein Date: 2025-12-17 07:18:26 +0000 URL: https://git.openjdk.org/loom/commit/e9b4696acc966d96d42880e840c8fe27434e4e1b 8373097: Save command should create missing parent directories Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! test/langtools/jdk/jshell/ToolBasicTest.java Changeset: 94c51ce3 Branch: master Author: Jan Lahoda Date: 2025-12-17 07:22:37 +0000 URL: https://git.openjdk.org/loom/commit/94c51ce314eea7a4f188fa0db1bae0e3f3dbd230 8372635: Lambdas do not copy over SYNTHETIC flag for local variables Reviewed-by: vromero, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/langtools/tools/javac/patterns/SyntheticVariables.java Changeset: 386ad614 Branch: master Author: Daniel Jeli?ski Date: 2025-12-17 07:49:58 +0000 URL: https://git.openjdk.org/loom/commit/386ad61458a3901622b92ca56982d728c11b846a 8373409: java/net/httpclient/http3/H3ErrorHandlingTest.java failed due to deadlock Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicEndpoint.java ! test/jdk/java/net/httpclient/http3/H3ErrorHandlingTest.java Changeset: 9e2008bf Branch: master Author: Matthias Baesken Date: 2025-12-17 08:44:46 +0000 URL: https://git.openjdk.org/loom/commit/9e2008bf5e9a63b640eefc6cc7ec5c4f344c4266 8373676: Test javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java fails on a machine without IPV6 Reviewed-by: jpai, dfuchs ! test/jdk/javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java Changeset: 4924b29f Branch: master Author: Michael McMahon Date: 2025-12-17 08:54:56 +0000 URL: https://git.openjdk.org/loom/commit/4924b29fa519996b806ac0f4a7c898085f44bc4c 8370655: Check EINTR handling InetAddress implementation and NET_ThrowNew Reviewed-by: alanb ! src/java.base/share/native/libnet/net_util.c ! src/java.base/unix/native/libnet/Inet4AddressImpl.c ! src/java.base/unix/native/libnet/Inet6AddressImpl.c ! src/java.base/unix/native/libnet/net_util_md.c ! src/java.base/unix/native/libnet/net_util_md.h Changeset: af18fbd4 Branch: master Author: Arno Zeller Committer: Matthias Baesken Date: 2025-12-17 09:08:29 +0000 URL: https://git.openjdk.org/loom/commit/af18fbd42d2a437dd35f33e557a8906ca0c3bd07 8371559: Intermittent timeouts in test javax/net/ssl/Stapling/HttpsUrlConnClient.java Reviewed-by: mbaesken, myankelevich ! test/jdk/javax/net/ssl/Stapling/HttpsUrlConnClient.java Changeset: fc76403b Branch: master Author: Raffaello Giulietti Date: 2025-12-17 09:20:48 +0000 URL: https://git.openjdk.org/loom/commit/fc76403b01c4e801f2a58810deeec2a6ebfa8458 8373798: Refactor java/math tests to use JUnit Reviewed-by: darcy ! test/jdk/java/math/BigDecimal/Constructor.java ! test/jdk/java/math/BigInteger/LargeValueExceptions.java Changeset: 9a23f8aa Branch: master Author: Aggelos Biboudis Date: 2025-12-17 10:31:23 +0000 URL: https://git.openjdk.org/loom/commit/9a23f8aa337e1292179625ce9bb8abe22c9e22e2 8373552: ExactConversionsSupport: bad JLS links in javadoc Reviewed-by: liach, iris ! src/java.base/share/classes/java/lang/runtime/ExactConversionsSupport.java Changeset: e4636d69 Branch: master Author: Christian Hagedorn Date: 2025-12-17 11:17:39 +0000 URL: https://git.openjdk.org/loom/commit/e4636d69e7e41477619a163e97fd3af2e5942dde 8373420: C2: Add true/false_proj*() methods for IfNode as a replacement for proj_out*(true/false) Reviewed-by: dfenacci, roland, epeter ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/stringopts.cpp Changeset: 5e7ae281 Branch: master Author: Daniel Fuchs Date: 2025-12-17 12:13:58 +0000 URL: https://git.openjdk.org/loom/commit/5e7ae281326ca306339aaba101d4206dffdb9ca0 8373677: Clear text HttpServer connection could fail fast if receiving SSL ClientHello Reviewed-by: jpai, djelinski ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/ClearTextServerSSL.java Changeset: 39306d7a Branch: master Author: Ioi Lam Date: 2025-12-17 13:19:49 +0000 URL: https://git.openjdk.org/loom/commit/39306d7ab901a1d27d9bfd80f04d917b4d17d07f 8373800: Remove ScopedValueBindingsResolver Reviewed-by: alanb, liach ! src/hotspot/share/classfile/vmClassMacros.hpp ! src/hotspot/share/prims/jvm.cpp Changeset: 9862f8f0 Branch: master Author: Christian Hagedorn Date: 2025-12-17 13:38:37 +0000 URL: https://git.openjdk.org/loom/commit/9862f8f0d351448803f8930333d5a7286e6c3565 8373513: C2: Move ProjNode::other_if_proj() to IfProjNode Reviewed-by: epeter, roland ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/multnode.hpp ! src/hotspot/share/opto/predicates.cpp Changeset: 4e05748f Branch: master Author: Justin Lu Date: 2025-12-17 18:17:24 +0000 URL: https://git.openjdk.org/loom/commit/4e05748f0899cabb235c71ecdf4256d4ad137a0d 8373716: Refactor further java/util tests from TestNG to JUnit Reviewed-by: naoto ! test/jdk/java/util/Calendar/CalendarDisplayNamesTest.java ! test/jdk/java/util/Calendar/JapaneseLenientEraTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTestRun.java ! test/jdk/java/util/Properties/CompatibilityTest.java ! test/jdk/java/util/Properties/EncodingTest.java ! test/jdk/java/util/Properties/InitialCapacity.java ! test/jdk/java/util/Properties/PropertiesEntrySetTest.java ! test/jdk/java/util/Properties/PropertiesStoreTest.java ! test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java ! test/jdk/java/util/ResourceBundle/modules/cache/CacheTest.java ! test/jdk/java/util/ResourceBundle/modules/casesensitive/CaseInsensitiveNameClash.java ! test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java ! test/jdk/java/util/TimeZone/NegativeDSTTest.java ! test/jdk/java/util/TimeZone/ZoneIdRoundTripTest.java Changeset: f3a48560 Branch: master Author: Daniel Fuchs Date: 2025-12-17 18:44:49 +0000 URL: https://git.openjdk.org/loom/commit/f3a48560b5e3a280f6f76031eb3d475ff9ee49f4 8373807: test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java getURI() uses "localhost" Reviewed-by: jpai ! test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java Changeset: e75726ee Branch: master Author: Chen Liang Date: 2025-12-17 20:52:14 +0000 URL: https://git.openjdk.org/loom/commit/e75726ee03ca4664827ca5d680c02bcf2a96f4ea 8373832: Test java/lang/invoke/TestVHInvokerCaching.java tests nothing Reviewed-by: jvernee, shade ! test/jdk/java/lang/invoke/TestVHInvokerCaching.java Changeset: b3fab414 Branch: master Author: David Holmes Date: 2025-12-17 22:14:39 +0000 URL: https://git.openjdk.org/loom/commit/b3fab41460eabf253879d140b55b6b12036c7c10 8373654: Tests in sources/ should only run once Reviewed-by: shade, lmesnik ! test/hotspot/jtreg/sources/TestIncludesAreSorted.java ! test/hotspot/jtreg/sources/TestNoNULL.java Changeset: 232b41b2 Branch: master Author: Ioi Lam Date: 2025-12-17 22:16:38 +0000 URL: https://git.openjdk.org/loom/commit/232b41b2227bc9d03d88d316aa28d0cbe87086f7 8373392: Replace CDS object subgraphs with @AOTSafeClassInitializer Reviewed-by: liach, heidinga ! src/hotspot/share/cds/aotArtifactFinder.cpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotMetaspace.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cdsEnumKlass.cpp ! src/hotspot/share/cds/cdsEnumKlass.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/finalImageRecipes.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/java.base/share/classes/java/lang/Byte.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/Short.java ! src/java.base/share/classes/java/lang/module/Configuration.java ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/java/util/jar/Attributes.java ! src/java.base/share/classes/jdk/internal/loader/ArchivedClassLoaders.java ! src/java.base/share/classes/jdk/internal/math/FDBigInteger.java ! src/java.base/share/classes/jdk/internal/module/ArchivedBootLayer.java ! src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/SharedSymbolTableBucketSize.java ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/AOTLoggingTag.java + test/hotspot/jtreg/runtime/cds/appcds/aotCache/HeapObjectIdentity.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java Changeset: 17d633a8 Branch: master Author: Kelvin Nilsen Date: 2025-12-17 22:21:24 +0000 URL: https://git.openjdk.org/loom/commit/17d633a8ee7538625501a90469cb6a68b9ba4820 8373720: GenShen: Count live-at-old mark using Snapshot at Beginning Reviewed-by: ysr ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Changeset: c16ce929 Branch: master Author: Dan Smith Date: 2025-12-17 22:38:50 +0000 URL: https://git.openjdk.org/loom/commit/c16ce929c7bc127fe18d3faa037d81c2760a44a2 8370970: DocCheck failure in jdkDoctypeBadcharsCheck.java and jdkCheckHtml.java Reviewed-by: liach ! test/docs/ProblemList.txt Changeset: ea583441 Branch: master Author: Alexey Semenyuk Date: 2025-12-18 01:46:45 +0000 URL: https://git.openjdk.org/loom/commit/ea5834415db6410c73271c496811ff6b5dcc87ef 8373887: jpackage tests may potentially deadlock Reviewed-by: almatvee ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/ExecutorTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Executor.java Changeset: 0146077a Branch: master Author: Leonid Mesnik Date: 2025-12-18 04:27:18 +0000 URL: https://git.openjdk.org/loom/commit/0146077a51635500de771e9cf2c9788ae931b7a0 8373723: Deadlock with JvmtiTagMap::flush_object_free_events() Reviewed-by: dholmes, coleenp ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: b4462625 Branch: master Author: Emanuel Peter Date: 2025-12-18 07:04:40 +0000 URL: https://git.openjdk.org/loom/commit/b4462625413e7c2c12778eaad1f2f21d81f59c52 8373682: Test compiler/loopopts/superword/TestReinterpretAndCast.java fails on x86_64 with AVX but without f16c Reviewed-by: kvn, jsikstro, chagedorn ! test/hotspot/jtreg/compiler/loopopts/superword/TestReinterpretAndCast.java Changeset: 00050f84 Branch: master Author: Emanuel Peter Date: 2025-12-18 07:05:05 +0000 URL: https://git.openjdk.org/loom/commit/00050f84d44f3ec23e9c6da52bffd68770010749 8373502: C2 SuperWord: speculative check uses VPointer variable was pinned after speculative check, leading to bad graph Reviewed-by: thartmann, roland ! src/hotspot/share/opto/vectorization.cpp ! src/hotspot/share/opto/vectorization.hpp + test/hotspot/jtreg/compiler/loopopts/superword/TestAliasingCheckVPointerVariablesNotAvailable.java Changeset: e6780506 Branch: master Author: Quan Anh Mai Date: 2025-12-18 07:31:06 +0000 URL: https://git.openjdk.org/loom/commit/e67805067a8f537862200e808e20464f12d21c9c 8367341: C2: apply KnownBits and unsigned bounds to And / Or operations Reviewed-by: hgreule, epeter ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/rangeinference.cpp ! src/hotspot/share/opto/rangeinference.hpp ! src/hotspot/share/opto/type.hpp - src/hotspot/share/opto/utilities/xor.hpp ! src/hotspot/share/utilities/intn_t.hpp ! test/hotspot/gtest/opto/test_rangeinference.cpp - test/hotspot/gtest/opto/test_xor_node.cpp Changeset: 85983069 Branch: master Author: Tobias Hotz Committer: Manuel H?ssig Date: 2025-12-18 07:37:21 +0000 URL: https://git.openjdk.org/loom/commit/859830694b3db0b81b422bf9b2ce9c7ab9a19a85 8364766: C2: Improve Value() of DivI and DivL for non-constant inputs Reviewed-by: mhaessig, epeter, bmaillard ! src/hotspot/share/opto/divnode.cpp + test/hotspot/jtreg/compiler/igvn/IntegerDivValueTests.java Changeset: a31e6e0d Branch: master Author: Matthias Baesken Date: 2025-12-18 08:25:26 +0000 URL: https://git.openjdk.org/loom/commit/a31e6e0d3b806b3b1935d3b71dd0b111bc5fddf1 8373593: Support latest VS2026 MSC_VER in abstract_vm_version.cpp Reviewed-by: mdoerr, dholmes ! src/hotspot/share/runtime/abstract_vm_version.cpp Changeset: 3f20eb94 Branch: master Author: Matthias Baesken Date: 2025-12-18 09:14:37 +0000 URL: https://git.openjdk.org/loom/commit/3f20eb943532c5c76e55b14292139749bd704ce4 8372348: Adjust some UL / JFR string deduplication output messages Reviewed-by: fandreuzzi, lucy, asteiner ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.cpp ! src/hotspot/share/jfr/metadata/metadata.xml Changeset: e5ca7783 Branch: master Author: Daniel Fuchs Date: 2025-12-18 09:21:37 +0000 URL: https://git.openjdk.org/loom/commit/e5ca77838b9243321ed66afc2f460378d25add63 8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5 Reviewed-by: jpai ! test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamCustom.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsInputStreamIO.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesCustom.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsLinesIO.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringCustom.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesAsStringIO.java ! test/jdk/java/net/httpclient/ThrowingPushPromisesSanity.java Changeset: c6da35d7 Branch: master Author: Daniel Fuchs Date: 2025-12-18 09:29:29 +0000 URL: https://git.openjdk.org/loom/commit/c6da35d7c7076aa9643b3dbf03a285420bb1003d 8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5 Reviewed-by: jpai ! test/jdk/java/net/httpclient/AbstractThrowingPublishers.java ! test/jdk/java/net/httpclient/ThrowingPublishersCustomAfterCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersCustomBeforeCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersIOAfterCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersIOBeforeCancel.java ! test/jdk/java/net/httpclient/ThrowingPublishersInNextRequest.java ! test/jdk/java/net/httpclient/ThrowingPublishersInRequest.java ! test/jdk/java/net/httpclient/ThrowingPublishersInSubscribe.java ! test/jdk/java/net/httpclient/ThrowingPublishersSanity.java Changeset: d8eb1259 Branch: master Author: Daniel Fuchs Date: 2025-12-18 09:39:11 +0000 URL: https://git.openjdk.org/loom/commit/d8eb1259f4c0d80861401612e9fc7def1466602e 8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5 Reviewed-by: jpai ! test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStream.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsInputStreamAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLimiting.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLimitingAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLines.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsLinesAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsString.java ! test/jdk/java/net/httpclient/ThrowingSubscribersAsStringAsync.java ! test/jdk/java/net/httpclient/ThrowingSubscribersSanity.java Changeset: 4f283f18 Branch: master Author: Aleksey Shipilev Date: 2025-12-18 09:43:28 +0000 URL: https://git.openjdk.org/loom/commit/4f283f188c43cb25c4eafcdf22eb7f58eae286cc 8373820: C2: Robust Node::uncast_helper infinite loop check Reviewed-by: qamai, chagedorn ! src/hotspot/share/opto/node.cpp Changeset: 2ba423db Branch: master Author: Roland Westrelin Date: 2025-12-18 10:36:16 +0000 URL: https://git.openjdk.org/loom/commit/2ba423db9925355348106fc9fcf84450123d2605 8370200: Crash: assert(outer->outcnt() >= phis + 2 - be_loads && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis Reviewed-by: rcastanedalo, dlunden, dfenacci ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/c2/TestReplaceNarrowPhiWithBottomPhi.java + test/hotspot/jtreg/compiler/loopstripmining/TestMismatchedMemoryPhis.java Changeset: 2c0d9a79 Branch: master Author: Galder Zamarre?o Committer: Roland Westrelin Date: 2025-12-18 11:45:26 +0000 URL: https://git.openjdk.org/loom/commit/2c0d9a79b8197d88a104bd77026dd45b83a11f8a 8373396: Min and Max Ideal missing AddNode::Ideal optimisations Reviewed-by: epeter, roland ! src/hotspot/share/opto/addnode.cpp + test/hotspot/jtreg/compiler/igvn/TestMinMaxIdeal.java Changeset: 629e4ac6 Branch: master Author: Volkan Yazici Date: 2025-12-18 12:46:02 +0000 URL: https://git.openjdk.org/loom/commit/629e4ac6f45c87898f6a014f28a443c800413869 8372661: Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext" Reviewed-by: dfuchs, weijun ! test/lib/jdk/test/lib/net/SimpleSSLContext.java Changeset: 3258e4da Branch: master Author: Raffaello Giulietti Date: 2025-12-18 13:09:42 +0000 URL: https://git.openjdk.org/loom/commit/3258e4dafa85b2347c7640b0fd87197959cabea2 8373068: Revisit details of Float16 to decimal conversion algorithm Reviewed-by: darcy ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float16.java Changeset: b848ddf6 Branch: master Author: Yasumasa Suenaga Date: 2025-12-18 13:15:36 +0000 URL: https://git.openjdk.org/loom/commit/b848ddf6d3bf4e76d409b03be7f36199dadb2c5f 8373110: jstack --mixed frames are broken on macOS after JDK-8371194 Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/aarch64/BsdAARCH64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64CFrame.java Changeset: 7a7e7c9a Branch: master Author: Daniel Jeli?ski Date: 2025-12-18 13:17:44 +0000 URL: https://git.openjdk.org/loom/commit/7a7e7c9ae11cb124c14d5d2d3b7e2f5649205106 8373877: QUIC connections are removed too early Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/quic/ConnectionTerminatorImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicConnectionImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicEndpoint.java ! test/jdk/java/net/httpclient/quic/StatelessResetReceiptTest.java From holo3146 at gmail.com Thu Dec 18 20:45:39 2025 From: holo3146 at gmail.com (Holo The Sage Wolf) Date: Thu, 18 Dec 2025 22:45:39 +0200 Subject: Timeouts in structured concurrency Message-ID: Hello Loom devs, Few years ago I experimented in a personal PoC project with StructuredConcurrency in Java 19 and I had to stop working on it for personal reasons. Recently I came back to the project and updated it to Java 25 and had to change my code to the new way the API is built and while doing that I noticed a couple of stuff I want to point out: 1. The default Joiner method can't receive timeout Obviously that is wrong, but the API and JavaDoc don't actually help you. Say you start with: ```java try (var scope = StructuredTaskScope.open()) { ... } ``` And I want to evolve the code to add timeout, I look at the StructuredTaskScope static methods, and won't see any way to do that. After reading a bit what StructuredTaskScope.open(Joiner, configFunction) does, I will realise that I can set the timeout using the configFunction. But then I will encounter the problem that I need to provide a Joiner, currently the only way to actually get the "no args method"-joiner is to look at the source code of the method, see which Joiner it uses and copy that into my method to get: ```java try (var scope = StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), (conf) -> ...)) { ... } ``` Not only is this a lot of work to do something very simple, there is a high chance that people who start learning concurrency will want to use timeout before they even know what the Joiner object is. 2. Changing only the timeout is "verbose". I can only talk from my experience, so I may have the wrong impression, but I feel like setting timeout is orders of magnitude more common than changing the default ThreadFactory (especially when using virtual threads) or setting a name. I feel like adding a couple of overloads of the open method that takes only an extra parameter of duration will be convenient: > StructuredTaskScope.open() > StructuredTaskScope.open(Duration timeout) > StructuredTaskScope.open(Joiner joiner) > StructuredTaskScope.open(Joiner joiner, Duration timeout) > StructuredTaskScope.open(Joiner joiner, Function configFunction) -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Thu Dec 18 21:00:35 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Thu, 18 Dec 2025 16:00:35 -0500 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: For 1, the javadoc absolutely does help you. Please read for open. https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() As for verbose, can you go into more detail? This is a traditional builder pattern addition, so it is literally 1 static method call. That said, if you dislike a 0 parameter call being forced into being a 2 paramefer call when you need to add timeout, then sure, I think adding an overload for that static method that takes in the configFunction is reasonable. I'd support that. On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf wrote: > Hello Loom devs, > Few years ago I experimented in a personal PoC project with > StructuredConcurrency in Java 19 and I had to stop working on it for > personal reasons. > > Recently I came back to the project and updated it to Java 25 and had to > change my code to the new way the API is built and while doing that I > noticed a couple of stuff I want to point out: > > 1. The default Joiner method can't receive timeout > Obviously that is wrong, but the API and JavaDoc don't actually help you. > Say you start with: > ```java > try (var scope = StructuredTaskScope.open()) { > ... > } > ``` > And I want to evolve the code to add timeout, I look at > the StructuredTaskScope static methods, and won't see any way to do that. > After reading a bit what StructuredTaskScope.open(Joiner, configFunction) > does, I will realise that I can set the timeout using the configFunction. > But then I will encounter the problem that I need to provide a Joiner, > currently the only way to actually get the "no args method"-joiner is to > look at the source code of the method, see which Joiner it uses and copy > that into my method to get: > ```java > try (var scope = > StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), (conf) -> > ...)) { > ... > } > ``` > Not only is this a lot of work to do something very simple, there is a > high chance that people who start learning concurrency will want to use > timeout before they even know what the Joiner object is. > > 2. Changing only the timeout is "verbose". > I can only talk from my experience, so I may have the wrong impression, > but I feel like setting timeout is orders of magnitude more common than > changing the default ThreadFactory (especially when using virtual threads) > or setting a name. > I feel like adding a couple of overloads of the open method that takes > only an extra parameter of duration will be convenient: > > StructuredTaskScope.open() > > StructuredTaskScope.open(Duration timeout) > > StructuredTaskScope.open(Joiner joiner) > > StructuredTaskScope.open(Joiner joiner, Duration timeout) > > StructuredTaskScope.open(Joiner joiner, Function Configuration> configFunction) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From holo3146 at gmail.com Thu Dec 18 21:22:00 2025 From: holo3146 at gmail.com (Holo The Sage Wolf) Date: Thu, 18 Dec 2025 23:22:00 +0200 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: I think having a static method that takes only the configFunc as a parameter will be more than enough to satisfy both of my points. And I indeed missed the last note in the javadoc regarding the first point. On Thu, 18 Dec 2025, 23:00 David Alayachew, wrote: > For 1, the javadoc absolutely does help you. Please read for open. > > > https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() > > As for verbose, can you go into more detail? This is a traditional builder > pattern addition, so it is literally 1 static method call. > > That said, if you dislike a 0 parameter call being forced into being a 2 > paramefer call when you need to add timeout, then sure, I think adding an > overload for that static method that takes in the configFunction is > reasonable. I'd support that. > > > On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf > wrote: > >> Hello Loom devs, >> Few years ago I experimented in a personal PoC project with >> StructuredConcurrency in Java 19 and I had to stop working on it for >> personal reasons. >> >> Recently I came back to the project and updated it to Java 25 and had to >> change my code to the new way the API is built and while doing that I >> noticed a couple of stuff I want to point out: >> >> 1. The default Joiner method can't receive timeout >> Obviously that is wrong, but the API and JavaDoc don't actually help you. >> Say you start with: >> ```java >> try (var scope = StructuredTaskScope.open()) { >> ... >> } >> ``` >> And I want to evolve the code to add timeout, I look at >> the StructuredTaskScope static methods, and won't see any way to do that. >> After reading a bit what StructuredTaskScope.open(Joiner, configFunction) >> does, I will realise that I can set the timeout using the configFunction. >> But then I will encounter the problem that I need to provide a Joiner, >> currently the only way to actually get the "no args method"-joiner is to >> look at the source code of the method, see which Joiner it uses and copy >> that into my method to get: >> ```java >> try (var scope = >> StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), (conf) -> >> ...)) { >> ... >> } >> ``` >> Not only is this a lot of work to do something very simple, there is a >> high chance that people who start learning concurrency will want to use >> timeout before they even know what the Joiner object is. >> >> 2. Changing only the timeout is "verbose". >> I can only talk from my experience, so I may have the wrong impression, >> but I feel like setting timeout is orders of magnitude more common than >> changing the default ThreadFactory (especially when using virtual threads) >> or setting a name. >> I feel like adding a couple of overloads of the open method that takes >> only an extra parameter of duration will be convenient: >> > StructuredTaskScope.open() >> > StructuredTaskScope.open(Duration timeout) >> > StructuredTaskScope.open(Joiner joiner) >> > StructuredTaskScope.open(Joiner joiner, Duration timeout) >> > StructuredTaskScope.open(Joiner joiner, Function> Configuration> configFunction) >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at kolotyluk.net Thu Dec 18 21:24:51 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Thu, 18 Dec 2025 13:24:51 -0800 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> My $0.02 Why are we still relying so heavily on exceptions as a control-flow mechanism? Consider the current StructuredTaskScope design: The join() method waits for all subtasks to succeed or any subtask to fail. The join() method returns null if all subtasks complete successfully. It throws StructuredTaskScope.FailedException if any subtask fails, with the exception from the first subtask to fail as the cause. This design encodes normal outcomes as null and expected failure modes as exceptions. That choice forces callers into the least informative and least composable error-handling model Java has. Returning null for success is especially problematic. null conveys no semantic information, cannot carry context, and pushes correctness checks to runtime. It remains one of Java?s most damaging design decisions, and Loom should not be perpetuating it. Optional exists, but it is only a partial solution and does not address error information. In this context, even Optional would be an improvement over null, but it still leaves failure modeled exclusively as exceptional control flow. I also want to be clear that I am not confusing try-with-resources with exceptions. StructuredTaskScope being AutoCloseable is the right design choice for lifetime management and cancellation, and try blocks are the correct mechanism for that. However, scope lifetime and outcome reporting are separable concerns. The use of try does not require that task outcomes be surfaced exclusively via thrown exceptions. As a recent Rust convert, the contrast is stark. Rust?s Result treats failure as a first-class, explicit outcome, enforced by the type system. Java doesn?t need to abandon exceptions?but it does need to support alternate paradigms where failure is expected, structured, and composable. APIs like join() should envision a future beyond ?success = null, failure = throw?. Even a simple structured outcome type?success or failure?would be a step forward. Exceptions could remain available for truly exceptional conditions, not routine concurrency outcomes. Loom is a rare opportunity to modernize not just how Java runs concurrent code, but how Java models correctness and failure. Re-entrenching null and exception-only outcomes misses that opportunity. I?ll stop bloviating now. Sincerely, Eric Kolotyluk On 2025-12-18 1:00 PM, David Alayachew wrote: > For 1, the javadoc absolutely does help you. Please read for open. > > https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() > > As for verbose, can you go into more detail? This is a traditional > builder pattern addition, so it is literally 1 static method call. > > That said, if you dislike a 0 parameter call being forced into being a > 2 paramefer call when you need to add timeout, then sure, I think > adding an overload for that static method that takes in the > configFunction is reasonable. I'd support that. > > > On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf > wrote: > > Hello Loom devs, > Few years ago I experimented in a personal PoC project with > StructuredConcurrency in Java 19 and I had to stop working on it > for personal reasons. > > Recently I came back to the project and updated it to Java 25 and > had to change my code to the new way the API is built and while > doing that I noticed a couple of stuff I want to point out: > > 1. The default Joiner method can't receive?timeout > Obviously that is wrong, but the API and JavaDoc don't actually > help you. Say you start with: > ?```java > try (var scope = StructuredTaskScope.open()) { > ? ? ... > } > ``` > And I want to evolve the code to add timeout, I look at > the?StructuredTaskScope static methods, and won't see any way to > do that. After reading a bit > what?StructuredTaskScope.open(Joiner,?configFunction) does, I will > realise that I can set the timeout using the?configFunction. > But then I will encounter the problem that I need to provide a > Joiner, currently the only way to actually get the "no args > method"-joiner is to look at the source code of the method, see > which Joiner it uses and copy that into my method to get: > ?```java > try (var scope = > StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), > (conf) -> ...)) { > ? ? ... > } > ``` > Not only is this a lot of work to do something very simple, there > is a high chance that people who start learning concurrency will > want to use timeout before they even know what the Joiner object is. > > 2. Changing only the timeout is "verbose". > I can only talk from my experience, so I may have the wrong > impression, but I feel like setting timeout is orders of magnitude > more common than changing the default ThreadFactory (especially > when using virtual threads) or setting a name. > I feel like adding a couple of overloads of the open method that > takes only an extra parameter of duration will be convenient: > > StructuredTaskScope.open() > > StructuredTaskScope.open(Duration timeout) > > StructuredTaskScope.open(Joiner joiner) > > StructuredTaskScope.open(Joiner joiner, Duration timeout) > > StructuredTaskScope.open(Joiner joiner,?Function Configuration> configFunction) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From holo3146 at gmail.com Thu Dec 18 21:32:01 2025 From: holo3146 at gmail.com (Holo The Sage Wolf) Date: Thu, 18 Dec 2025 23:32:01 +0200 Subject: Timeouts in structured concurrency In-Reply-To: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> Message-ID: join does not return void in general. join return the value of "successful run" where "successful run" is defined in the Joiner. One some joiners join() will return a stream of all tasks, on others it will return the result of the first successful task, and on other it will return nothing because successful run produce no output. ?success = null, failure = throw? is a fundamental misunderstanding of the API. On Thu, 18 Dec 2025, 23:25 Eric Kolotyluk, wrote: > My $0.02 > > Why are we still relying so heavily on exceptions as a control-flow > mechanism? > > Consider the current StructuredTaskScope design: > > The join() method waits for all subtasks to succeed or any subtask to fail. > The join() method returns null if all subtasks complete successfully. > It throws StructuredTaskScope.FailedException if any subtask fails, with > the exception from the first subtask to fail as the cause. > > This design encodes normal outcomes as null and expected failure modes as > exceptions. That choice forces callers into the least informative and least > composable error-handling model Java has. > > Returning null for success is especially problematic. null conveys no > semantic information, cannot carry context, and pushes correctness checks > to runtime. It remains one of Java?s most damaging design decisions, and > Loom should not be perpetuating it. > > Optional exists, but it is only a partial solution and does not address > error information. In this context, even Optional would be an > improvement over null, but it still leaves failure modeled exclusively as > exceptional control flow. > > I also want to be clear that I am not confusing try-with-resources with > exceptions. StructuredTaskScope being AutoCloseable is the right design > choice for lifetime management and cancellation, and try blocks are the > correct mechanism for that. However, scope lifetime and outcome reporting > are separable concerns. The use of try does not require that task outcomes > be surfaced exclusively via thrown exceptions. > > As a recent Rust convert, the contrast is stark. Rust?s Result > treats failure as a first-class, explicit outcome, enforced by the type > system. Java doesn?t need to abandon exceptions?but it does need to support > alternate paradigms where failure is expected, structured, and composable. > > APIs like join() should envision a future beyond ?success = null, failure > = throw?. Even a simple structured outcome type?success or failure?would be > a step forward. Exceptions could remain available for truly exceptional > conditions, not routine concurrency outcomes. > > Loom is a rare opportunity to modernize not just how Java runs concurrent > code, but how Java models correctness and failure. Re-entrenching null and > exception-only outcomes misses that opportunity. > > I?ll stop bloviating now. > > Sincerely, > Eric Kolotyluk > > > On 2025-12-18 1:00 PM, David Alayachew wrote: > > For 1, the javadoc absolutely does help you. Please read for open. > > > https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() > > As for verbose, can you go into more detail? This is a traditional builder > pattern addition, so it is literally 1 static method call. > > That said, if you dislike a 0 parameter call being forced into being a 2 > paramefer call when you need to add timeout, then sure, I think adding an > overload for that static method that takes in the configFunction is > reasonable. I'd support that. > > > On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf > wrote: > >> Hello Loom devs, >> Few years ago I experimented in a personal PoC project with >> StructuredConcurrency in Java 19 and I had to stop working on it for >> personal reasons. >> >> Recently I came back to the project and updated it to Java 25 and had to >> change my code to the new way the API is built and while doing that I >> noticed a couple of stuff I want to point out: >> >> 1. The default Joiner method can't receive timeout >> Obviously that is wrong, but the API and JavaDoc don't actually help you. >> Say you start with: >> ```java >> try (var scope = StructuredTaskScope.open()) { >> ... >> } >> ``` >> And I want to evolve the code to add timeout, I look at >> the StructuredTaskScope static methods, and won't see any way to do that. >> After reading a bit what StructuredTaskScope.open(Joiner, configFunction) >> does, I will realise that I can set the timeout using the configFunction. >> But then I will encounter the problem that I need to provide a Joiner, >> currently the only way to actually get the "no args method"-joiner is to >> look at the source code of the method, see which Joiner it uses and copy >> that into my method to get: >> ```java >> try (var scope = >> StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), (conf) -> >> ...)) { >> ... >> } >> ``` >> Not only is this a lot of work to do something very simple, there is a >> high chance that people who start learning concurrency will want to use >> timeout before they even know what the Joiner object is. >> >> 2. Changing only the timeout is "verbose". >> I can only talk from my experience, so I may have the wrong impression, >> but I feel like setting timeout is orders of magnitude more common than >> changing the default ThreadFactory (especially when using virtual threads) >> or setting a name. >> I feel like adding a couple of overloads of the open method that takes >> only an extra parameter of duration will be convenient: >> > StructuredTaskScope.open() >> > StructuredTaskScope.open(Duration timeout) >> > StructuredTaskScope.open(Joiner joiner) >> > StructuredTaskScope.open(Joiner joiner, Duration timeout) >> > StructuredTaskScope.open(Joiner joiner, Function> Configuration> configFunction) >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Thu Dec 18 21:34:33 2025 From: robaho at me.com (Robert Engels) Date: Thu, 18 Dec 2025 15:34:33 -0600 Subject: Timeouts in structured concurrency In-Reply-To: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> Message-ID: <8C2482BF-515C-4A89-8E68-197399E89452@me.com> My two cents? Rust?s error handling is horrible - it is designed to work in functional contexts, so like Java streams - the error handling feels ?random? (and finding out where the error actually occurred is extremely difficult since it is a value type). Java?s Exceptions are for ?exceptional conditions? and should not be used for flow control (which I don?t think they are in this case - they signify unexpected error conditions). > On Dec 18, 2025, at 3:24?PM, Eric Kolotyluk wrote: > > My $0.02 > > Why are we still relying so heavily on exceptions as a control-flow mechanism? > > Consider the current StructuredTaskScope design: > > The join() method waits for all subtasks to succeed or any subtask to fail. > The join() method returns null if all subtasks complete successfully. > It throws StructuredTaskScope.FailedException if any subtask fails, with the exception from the first subtask to fail as the cause. > > This design encodes normal outcomes as null and expected failure modes as exceptions. That choice forces callers into the least informative and least composable error-handling model Java has. > > Returning null for success is especially problematic. null conveys no semantic information, cannot carry context, and pushes correctness checks to runtime. It remains one of Java?s most damaging design decisions, and Loom should not be perpetuating it. > > Optional exists, but it is only a partial solution and does not address error information. In this context, even Optional would be an improvement over null, but it still leaves failure modeled exclusively as exceptional control flow. > > I also want to be clear that I am not confusing try-with-resources with exceptions. StructuredTaskScope being AutoCloseable is the right design choice for lifetime management and cancellation, and try blocks are the correct mechanism for that. However, scope lifetime and outcome reporting are separable concerns. The use of try does not require that task outcomes be surfaced exclusively via thrown exceptions. > > As a recent Rust convert, the contrast is stark. Rust?s Result treats failure as a first-class, explicit outcome, enforced by the type system. Java doesn?t need to abandon exceptions?but it does need to support alternate paradigms where failure is expected, structured, and composable. > > APIs like join() should envision a future beyond ?success = null, failure = throw?. Even a simple structured outcome type?success or failure?would be a step forward. Exceptions could remain available for truly exceptional conditions, not routine concurrency outcomes. > > Loom is a rare opportunity to modernize not just how Java runs concurrent code, but how Java models correctness and failure. Re-entrenching null and exception-only outcomes misses that opportunity. > > I?ll stop bloviating now. > > Sincerely, > Eric Kolotyluk > > > > On 2025-12-18 1:00 PM, David Alayachew wrote: > >> For 1, the javadoc absolutely does help you. Please read for open. >> >> https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() >> >> As for verbose, can you go into more detail? This is a traditional builder pattern addition, so it is literally 1 static method call. >> >> That said, if you dislike a 0 parameter call being forced into being a 2 paramefer call when you need to add timeout, then sure, I think adding an overload for that static method that takes in the configFunction is reasonable. I'd support that. >> >> >> On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf > wrote: >>> Hello Loom devs, >>> Few years ago I experimented in a personal PoC project with StructuredConcurrency in Java 19 and I had to stop working on it for personal reasons. >>> >>> Recently I came back to the project and updated it to Java 25 and had to change my code to the new way the API is built and while doing that I noticed a couple of stuff I want to point out: >>> >>> 1. The default Joiner method can't receive timeout >>> Obviously that is wrong, but the API and JavaDoc don't actually help you. Say you start with: >>> ```java >>> try (var scope = StructuredTaskScope.open()) { >>> ... >>> } >>> ``` >>> And I want to evolve the code to add timeout, I look at the StructuredTaskScope static methods, and won't see any way to do that. After reading a bit what StructuredTaskScope.open(Joiner, configFunction) does, I will realise that I can set the timeout using the configFunction. >>> But then I will encounter the problem that I need to provide a Joiner, currently the only way to actually get the "no args method"-joiner is to look at the source code of the method, see which Joiner it uses and copy that into my method to get: >>> ```java >>> try (var scope = StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), (conf) -> ...)) { >>> ... >>> } >>> ``` >>> Not only is this a lot of work to do something very simple, there is a high chance that people who start learning concurrency will want to use timeout before they even know what the Joiner object is. >>> >>> 2. Changing only the timeout is "verbose". >>> I can only talk from my experience, so I may have the wrong impression, but I feel like setting timeout is orders of magnitude more common than changing the default ThreadFactory (especially when using virtual threads) or setting a name. >>> I feel like adding a couple of overloads of the open method that takes only an extra parameter of duration will be convenient: >>> > StructuredTaskScope.open() >>> > StructuredTaskScope.open(Duration timeout) >>> > StructuredTaskScope.open(Joiner joiner) >>> > StructuredTaskScope.open(Joiner joiner, Duration timeout) >>> > StructuredTaskScope.open(Joiner joiner, Function configFunction) >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at kolotyluk.net Fri Dec 19 00:46:21 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Thu, 18 Dec 2025 16:46:21 -0800 Subject: Timeouts in structured concurrency In-Reply-To: <8C2482BF-515C-4A89-8E68-197399E89452@me.com> References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> <8C2482BF-515C-4A89-8E68-197399E89452@me.com> Message-ID: Respectfully, I think we?re talking past each other a bit. Calling Rust?s error handling ?horrible? is a subjective judgment about trade-offs, not an objective flaw. Rust?s Result is deliberately value-oriented and explicit; Java?s exception model is deliberately stack-oriented and implicit. Each optimizes for different things, and each has real costs. My appreciation of Java?s evolution is that it has consistently expanded the set of available tools, rather than insisting on a single paradigm. Generics, lambdas, streams, records, sealed types, Optional, and now Loom itself all reflect that trajectory. They didn?t replace older mechanisms; they complemented them. There has been sustained criticism in the Java community of both null and over-reliance on exceptions, particularly where failure is expected rather than exceptional. I?m not here to relitigate either debate, nor to argue that exceptions should go away. My point is simply that other options exist, and Java has historically been at its best when APIs acknowledge and support them. In that light, my concern with StructuredTaskScope.join() is not that it uses exceptions at all, but that it offers only an exception-based outcome model, with null representing success. That feels like a missed opportunity in an otherwise forward-looking API. I?m advocating for additional, not replacement, abstractions?ones that allow structured concurrency outcomes to be expressed explicitly when appropriate, while leaving exceptions fully available for genuinely exceptional conditions. Respectfully, Eric Kolotyluk On 2025-12-18 1:34 PM, Robert Engels wrote: > My two cents? Rust?s error handling is horrible - it is designed to > work in functional contexts, so like Java streams - the error handling > feels ?random? (and finding out where the error actually occurred is > extremely difficult since it is a value type). > > Java?s Exceptions are for ?exceptional conditions? and should not be > used for flow control (which I don?t think they are in this case - > they signify unexpected error conditions). > > >> On Dec 18, 2025, at 3:24?PM, Eric Kolotyluk wrote: >> >> My $0.02 >> >> Why are we still relying so heavily on exceptions as a control-flow >> mechanism? >> >> Consider the current StructuredTaskScope design: >> >> The join() method waits for all subtasks to succeed or any subtask to >> fail. >> The join() method returns null if all subtasks complete successfully. >> It throws StructuredTaskScope.FailedException if any subtask fails, >> with the exception from the first subtask to fail as the cause. >> >> This design encodes normal outcomes as null and expected failure >> modes as exceptions. That choice forces callers into the least >> informative and least composable error-handling model Java has. >> >> Returning null for success is especially problematic. null conveys no >> semantic information, cannot carry context, and pushes correctness >> checks to runtime. It remains one of Java?s most damaging design >> decisions, and Loom should not be perpetuating it. >> >> Optional exists, but it is only a partial solution and does not >> address error information. In this context, even Optional would >> be an improvement over null, but it still leaves failure modeled >> exclusively as exceptional control flow. >> >> I also want to be clear that I am not confusing try-with-resources >> with exceptions. StructuredTaskScope being AutoCloseable is the right >> design choice for lifetime management and cancellation, and try >> blocks are the correct mechanism for that. However, scope lifetime >> and outcome reporting are separable concerns. The use of try does not >> require that task outcomes be surfaced exclusively via thrown exceptions. >> >> As a recent Rust convert, the contrast is stark. Rust?s Result >> treats failure as a first-class, explicit outcome, enforced by the >> type system. Java doesn?t need to abandon exceptions?but it does need >> to support alternate paradigms where failure is expected, structured, >> and composable. >> >> APIs like join() should envision a future beyond ?success = null, >> failure = throw?. Even a simple structured outcome type?success or >> failure?would be a step forward. Exceptions could remain available >> for truly exceptional conditions, not routine concurrency outcomes. >> >> Loom is a rare opportunity to modernize not just how Java runs >> concurrent code, but how Java models correctness and failure. >> Re-entrenching null and exception-only outcomes misses that opportunity. >> >> I?ll stop bloviating now. >> >> Sincerely, >> Eric Kolotyluk >> >> >> On 2025-12-18 1:00 PM, David Alayachew wrote: >> >>> For 1, the javadoc absolutely does help you. Please read for open. >>> >>> https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() >>> >>> As for verbose, can you go into more detail? This is a traditional >>> builder pattern addition, so it is literally 1 static method call. >>> >>> That said, if you dislike a 0 parameter call being forced into being >>> a 2 paramefer call when you need to add timeout, then sure, I think >>> adding an overload for that static method that takes in the >>> configFunction is reasonable. I'd support that. >>> >>> >>> On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf >>> wrote: >>> >>> Hello Loom devs, >>> Few years ago I experimented in a personal PoC project with >>> StructuredConcurrency in Java 19 and I had to stop working on it >>> for personal reasons. >>> >>> Recently I came back to the project and updated it to Java 25 >>> and had to change my code to the new way the API is built and >>> while doing that I noticed a couple of stuff I want to point out: >>> >>> 1. The default Joiner method can't receive?timeout >>> Obviously that is wrong, but the API and JavaDoc don't actually >>> help you. Say you start with: >>> ?```java >>> try (var scope = StructuredTaskScope.open()) { >>> ? ? ... >>> } >>> ``` >>> And I want to evolve the code to add timeout, I look at >>> the?StructuredTaskScope static methods, and won't see any way to >>> do that. After reading a bit >>> what?StructuredTaskScope.open(Joiner,?configFunction) does, I >>> will realise that I can set the timeout using the?configFunction. >>> But then I will encounter the problem that I need to provide a >>> Joiner, currently the only way to actually get the "no args >>> method"-joiner is to look at the source code of the method, see >>> which Joiner it uses and copy that into my method to get: >>> ?```java >>> try (var scope = >>> StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), >>> (conf) -> ...)) { >>> ? ? ... >>> } >>> ``` >>> Not only is this a lot of work to do something very simple, >>> there is a high chance that people who start learning >>> concurrency will want to use timeout before they even know what >>> the Joiner object is. >>> >>> 2. Changing only the timeout is "verbose". >>> I can only talk from my experience, so I may have the wrong >>> impression, but I feel like setting timeout is orders of >>> magnitude more common than changing the default ThreadFactory >>> (especially when using virtual threads) or setting a name. >>> I feel like adding a couple of overloads of the open method that >>> takes only an extra parameter of duration will be convenient: >>> > StructuredTaskScope.open() >>> > StructuredTaskScope.open(Duration timeout) >>> > StructuredTaskScope.open(Joiner joiner) >>> > StructuredTaskScope.open(Joiner joiner, Duration timeout) >>> > StructuredTaskScope.open(Joiner >>> joiner,?Function configFunction) >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at kolotyluk.net Fri Dec 19 01:24:51 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Thu, 18 Dec 2025 17:24:51 -0800 Subject: Timeouts in structured concurrency In-Reply-To: References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> <8C2482BF-515C-4A89-8E68-197399E89452@me.com> Message-ID: <28161457-57b7-47a9-b5bc-6e31b485c6d1@kolotyluk.net> Upon reviewing the current documentation, I see that I misstated an earlier point. StructuredTaskScope.join() returns a result of type R (as produced by the configured Joiner), rather than returning null unconditionally on success. That said, the outcome contract remains: join() either returns a value or throws. After waiting for completion or cancellation, the scope invokes Joiner.result(); if that method throws, join() throws FailedException with the underlying exception as the cause (with timeouts and cancellation also surfaced as exceptions). So while Joiners make join() result-producing and more configurable, the failure channel is still exception-based. From that perspective, I can still see value in a functional, value-oriented result type?where success and failure are both represented explicitly as values?coexisting alongside exceptions, rather than routing expected failure exclusively through throws. Joiners improve policy flexibility, but they don?t quite address that particular concern. Respectfully, Eric Kolotyluk On 2025-12-18 4:46 PM, Eric Kolotyluk wrote: > Respectfully, I think we?re talking past each other a bit. > > Calling Rust?s error handling ?horrible? is a subjective judgment > about trade-offs, not an objective flaw. Rust?s Result is > deliberately value-oriented and explicit; Java?s exception model is > deliberately stack-oriented and implicit. Each optimizes for different > things, and each has real costs. > > My appreciation of Java?s evolution is that it has consistently > expanded the set of available tools, rather than insisting on a single > paradigm. Generics, lambdas, streams, records, sealed types, Optional, > and now Loom itself all reflect that trajectory. They didn?t replace > older mechanisms; they complemented them. > > There has been sustained criticism in the Java community of both null > and over-reliance on exceptions, particularly where failure is > expected rather than exceptional. I?m not here to relitigate either > debate, nor to argue that exceptions should go away. My point is > simply that other options exist, and Java has historically been at its > best when APIs acknowledge and support them. > > In that light, my concern with StructuredTaskScope.join() is not that > it uses exceptions at all, but that it offers only an exception-based > outcome model, with null representing success. That feels like a > missed opportunity in an otherwise forward-looking API. > > I?m advocating for additional, not replacement, abstractions?ones that > allow structured concurrency outcomes to be expressed explicitly when > appropriate, while leaving exceptions fully available for genuinely > exceptional conditions. > > Respectfully, > Eric Kolotyluk > > > On 2025-12-18 1:34 PM, Robert Engels wrote: >> My two cents? Rust?s error handling is horrible - it is designed to >> work in functional contexts, so like Java streams - the error >> handling feels ?random? (and finding out where the error actually >> occurred is extremely difficult since it is a value type). >> >> Java?s Exceptions are for ?exceptional conditions? and should not be >> used for flow control (which I don?t think they are in this case - >> they signify unexpected error conditions). >> >> >>> On Dec 18, 2025, at 3:24?PM, Eric Kolotyluk wrote: >>> >>> My $0.02 >>> >>> Why are we still relying so heavily on exceptions as a control-flow >>> mechanism? >>> >>> Consider the current StructuredTaskScope design: >>> >>> The join() method waits for all subtasks to succeed or any subtask >>> to fail. >>> The join() method returns null if all subtasks complete successfully. >>> It throws StructuredTaskScope.FailedException if any subtask fails, >>> with the exception from the first subtask to fail as the cause. >>> >>> This design encodes normal outcomes as null and expected failure >>> modes as exceptions. That choice forces callers into the least >>> informative and least composable error-handling model Java has. >>> >>> Returning null for success is especially problematic. null conveys >>> no semantic information, cannot carry context, and pushes >>> correctness checks to runtime. It remains one of Java?s most >>> damaging design decisions, and Loom should not be perpetuating it. >>> >>> Optional exists, but it is only a partial solution and does not >>> address error information. In this context, even Optional >>> would be an improvement over null, but it still leaves failure >>> modeled exclusively as exceptional control flow. >>> >>> I also want to be clear that I am not confusing try-with-resources >>> with exceptions. StructuredTaskScope being AutoCloseable is the >>> right design choice for lifetime management and cancellation, and >>> try blocks are the correct mechanism for that. However, scope >>> lifetime and outcome reporting are separable concerns. The use of >>> try does not require that task outcomes be surfaced exclusively via >>> thrown exceptions. >>> >>> As a recent Rust convert, the contrast is stark. Rust?s Result >>> treats failure as a first-class, explicit outcome, enforced by the >>> type system. Java doesn?t need to abandon exceptions?but it does >>> need to support alternate paradigms where failure is expected, >>> structured, and composable. >>> >>> APIs like join() should envision a future beyond ?success = null, >>> failure = throw?. Even a simple structured outcome type?success or >>> failure?would be a step forward. Exceptions could remain available >>> for truly exceptional conditions, not routine concurrency outcomes. >>> >>> Loom is a rare opportunity to modernize not just how Java runs >>> concurrent code, but how Java models correctness and failure. >>> Re-entrenching null and exception-only outcomes misses that opportunity. >>> >>> I?ll stop bloviating now. >>> >>> Sincerely, >>> Eric Kolotyluk >>> >>> >>> On 2025-12-18 1:00 PM, David Alayachew wrote: >>> >>>> For 1, the javadoc absolutely does help you. Please read for open. >>>> >>>> https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() >>>> >>>> As for verbose, can you go into more detail? This is a traditional >>>> builder pattern addition, so it is literally 1 static method call. >>>> >>>> That said, if you dislike a 0 parameter call being forced into >>>> being a 2 paramefer call when you need to add timeout, then sure, I >>>> think adding an overload for that static method that takes in the >>>> configFunction is reasonable. I'd support that. >>>> >>>> >>>> On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf >>>> wrote: >>>> >>>> Hello Loom devs, >>>> Few years ago I experimented in a personal PoC project with >>>> StructuredConcurrency in Java 19 and I had to stop working on >>>> it for personal reasons. >>>> >>>> Recently I came back to the project and updated it to Java 25 >>>> and had to change my code to the new way the API is built and >>>> while doing that I noticed a couple of stuff I want to point out: >>>> >>>> 1. The default Joiner method can't receive?timeout >>>> Obviously that is wrong, but the API and JavaDoc don't actually >>>> help you. Say you start with: >>>> ?```java >>>> try (var scope = StructuredTaskScope.open()) { >>>> ? ? ... >>>> } >>>> ``` >>>> And I want to evolve the code to add timeout, I look at >>>> the?StructuredTaskScope static methods, and won't see any way >>>> to do that. After reading a bit >>>> what?StructuredTaskScope.open(Joiner,?configFunction) does, I >>>> will realise that I can set the timeout using the?configFunction. >>>> But then I will encounter the problem that I need to provide a >>>> Joiner, currently the only way to actually get the "no args >>>> method"-joiner is to look at the source code of the method, see >>>> which Joiner it uses and copy that into my method to get: >>>> ?```java >>>> try (var scope = >>>> StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), >>>> (conf) -> ...)) { >>>> ? ? ... >>>> } >>>> ``` >>>> Not only is this a lot of work to do something very simple, >>>> there is a high chance that people who start learning >>>> concurrency will want to use timeout before they even know what >>>> the Joiner object is. >>>> >>>> 2. Changing only the timeout is "verbose". >>>> I can only talk from my experience, so I may have the wrong >>>> impression, but I feel like setting timeout is orders of >>>> magnitude more common than changing the default ThreadFactory >>>> (especially when using virtual threads) or setting a name. >>>> I feel like adding a couple of overloads of the open method >>>> that takes only an extra parameter of duration will be convenient: >>>> > StructuredTaskScope.open() >>>> > StructuredTaskScope.open(Duration timeout) >>>> > StructuredTaskScope.open(Joiner joiner) >>>> > StructuredTaskScope.open(Joiner joiner, Duration timeout) >>>> > StructuredTaskScope.open(Joiner >>>> joiner,?Function configFunction) >>>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri Dec 19 01:49:36 2025 From: robaho at me.com (Robert Engels) Date: Thu, 18 Dec 2025 19:49:36 -0600 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Fri Dec 19 02:02:56 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Thu, 18 Dec 2025 21:02:56 -0500 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: @Eric Kolotyluk - mailing list etiquette dictates that a new topic should be a new thread. @Robert Engels probably sent an email to you privately to avoid breaking etiquette. Since this conversation already started, just make a new thread, and then link back to this conversation via the archive post, then just continue the discussion where you left off. And to be clear, this discussion is absolutely worth having. You are making some decent points, and I have some to share. But for traceability sake, let's not hijack @Holo The Sage Wolf 's thread. Email me separately if you need help linking this conversation via archive post in the new thread. On Thu, Dec 18, 2025 at 8:50?PM Robert Engels wrote: > Respectfully, no you?re arguing that because structured concurrency is a > new addition this is an opportunity to explore using values as errors. That > would be a poor choice. Java developers have successfully written billions > of lines of code using exceptions. It?s not hard or error prone if you take > the time to understand it - and it?s far better than errors as values like > Rust/Go/C has. > > On Dec 18, 2025, at 6:46?PM, Eric Kolotyluk wrote: > > ? Respectfully, I think we?re talking past each other a bit. > > Calling Rust?s error handling ?horrible? is a subjective judgment about > trade-offs, not an objective flaw. Rust?s Result is deliberately > value-oriented and explicit; Java?s exception model is deliberately > stack-oriented and implicit. Each optimizes for different things, and each > has real costs. > > My appreciation of Java?s evolution is that it has consistently expanded > the set of available tools, rather than insisting on a single paradigm. > Generics, lambdas, streams, records, sealed types, Optional, and now Loom > itself all reflect that trajectory. They didn?t replace older mechanisms; > they complemented them. > > There has been sustained criticism in the Java community of both null and > over-reliance on exceptions, particularly where failure is expected rather > than exceptional. I?m not here to relitigate either debate, nor to argue > that exceptions should go away. My point is simply that other options > exist, and Java has historically been at its best when APIs acknowledge and > support them. > > In that light, my concern with StructuredTaskScope.join() is not that it > uses exceptions at all, but that it offers only an exception-based outcome > model, with null representing success. That feels like a missed opportunity > in an otherwise forward-looking API. > > I?m advocating for additional, not replacement, abstractions?ones that > allow structured concurrency outcomes to be expressed explicitly when > appropriate, while leaving exceptions fully available for genuinely > exceptional conditions. > > Respectfully, > Eric Kolotyluk > > > On 2025-12-18 1:34 PM, Robert Engels wrote: > > My two cents? Rust?s error handling is horrible - it is designed to work > in functional contexts, so like Java streams - the error handling feels > ?random? (and finding out where the error actually occurred is extremely > difficult since it is a value type). > > Java?s Exceptions are for ?exceptional conditions? and should not be used > for flow control (which I don?t think they are in this case - they signify > unexpected error conditions). > > > On Dec 18, 2025, at 3:24?PM, Eric Kolotyluk > wrote: > > My $0.02 > > Why are we still relying so heavily on exceptions as a control-flow > mechanism? > > Consider the current StructuredTaskScope design: > > The join() method waits for all subtasks to succeed or any subtask to fail. > The join() method returns null if all subtasks complete successfully. > It throws StructuredTaskScope.FailedException if any subtask fails, with > the exception from the first subtask to fail as the cause. > > This design encodes normal outcomes as null and expected failure modes as > exceptions. That choice forces callers into the least informative and least > composable error-handling model Java has. > > Returning null for success is especially problematic. null conveys no > semantic information, cannot carry context, and pushes correctness checks > to runtime. It remains one of Java?s most damaging design decisions, and > Loom should not be perpetuating it. > > Optional exists, but it is only a partial solution and does not address > error information. In this context, even Optional would be an > improvement over null, but it still leaves failure modeled exclusively as > exceptional control flow. > > I also want to be clear that I am not confusing try-with-resources with > exceptions. StructuredTaskScope being AutoCloseable is the right design > choice for lifetime management and cancellation, and try blocks are the > correct mechanism for that. However, scope lifetime and outcome reporting > are separable concerns. The use of try does not require that task outcomes > be surfaced exclusively via thrown exceptions. > > As a recent Rust convert, the contrast is stark. Rust?s Result > treats failure as a first-class, explicit outcome, enforced by the type > system. Java doesn?t need to abandon exceptions?but it does need to support > alternate paradigms where failure is expected, structured, and composable. > > APIs like join() should envision a future beyond ?success = null, failure > = throw?. Even a simple structured outcome type?success or failure?would be > a step forward. Exceptions could remain available for truly exceptional > conditions, not routine concurrency outcomes. > > Loom is a rare opportunity to modernize not just how Java runs concurrent > code, but how Java models correctness and failure. Re-entrenching null and > exception-only outcomes misses that opportunity. > > I?ll stop bloviating now. > > Sincerely, > Eric Kolotyluk > > > On 2025-12-18 1:00 PM, David Alayachew wrote: > > For 1, the javadoc absolutely does help you. Please read for open. > > > https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html#open() > > As for verbose, can you go into more detail? This is a traditional builder > pattern addition, so it is literally 1 static method call. > > That said, if you dislike a 0 parameter call being forced into being a 2 > paramefer call when you need to add timeout, then sure, I think adding an > overload for that static method that takes in the configFunction is > reasonable. I'd support that. > > > On Thu, Dec 18, 2025, 3:46?PM Holo The Sage Wolf > wrote: > >> Hello Loom devs, >> Few years ago I experimented in a personal PoC project with >> StructuredConcurrency in Java 19 and I had to stop working on it for >> personal reasons. >> >> Recently I came back to the project and updated it to Java 25 and had to >> change my code to the new way the API is built and while doing that I >> noticed a couple of stuff I want to point out: >> >> 1. The default Joiner method can't receive timeout >> Obviously that is wrong, but the API and JavaDoc don't actually help you. >> Say you start with: >> ```java >> try (var scope = StructuredTaskScope.open()) { >> ... >> } >> ``` >> And I want to evolve the code to add timeout, I look at >> the StructuredTaskScope static methods, and won't see any way to do that. >> After reading a bit what StructuredTaskScope.open(Joiner, configFunction) >> does, I will realise that I can set the timeout using the configFunction. >> But then I will encounter the problem that I need to provide a Joiner, >> currently the only way to actually get the "no args method"-joiner is to >> look at the source code of the method, see which Joiner it uses and copy >> that into my method to get: >> ```java >> try (var scope = >> StructuredTaskScope.open(Joiner.awaitAllSuccessfulOrThrow(), (conf) -> >> ...)) { >> ... >> } >> ``` >> Not only is this a lot of work to do something very simple, there is a >> high chance that people who start learning concurrency will want to use >> timeout before they even know what the Joiner object is. >> >> 2. Changing only the timeout is "verbose". >> I can only talk from my experience, so I may have the wrong impression, >> but I feel like setting timeout is orders of magnitude more common than >> changing the default ThreadFactory (especially when using virtual threads) >> or setting a name. >> I feel like adding a couple of overloads of the open method that takes >> only an extra parameter of duration will be convenient: >> > StructuredTaskScope.open() >> > StructuredTaskScope.open(Duration timeout) >> > StructuredTaskScope.open(Joiner joiner) >> > StructuredTaskScope.open(Joiner joiner, Duration timeout) >> > StructuredTaskScope.open(Joiner joiner, Function> Configuration> configFunction) >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at kolotyluk.net Fri Dec 19 04:55:27 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Thu, 18 Dec 2025 20:55:27 -0800 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency Message-ID: Hi all, I?m starting a new thread to continue a discussion that emerged elsewhere, per mailing list etiquette, and to give the topic a clean and traceable home. My interest here isn?t reactive to any one exchange. I?ve been experimenting with Loom since its early iterations, and over time it has sharpened a concern I already had: whether Java?s traditional exception model remains the right default abstraction in a world of structured concurrency, virtual threads, and large-scale composition. To be clear, this is not a claim that ?exceptions are broken? or that Java should abandon them. Java?s exception system has supported billions of lines of successful code, and I?ve used it productively for decades. Rather, Loom makes certain trade-offs more visible ? particularly around control flow, cancellation, failure propagation, and reasoning about lifetimes ? that were easier to ignore in a purely thread-per-task world. The core questions I?m interested in exploring are along these lines: * How do unchecked exceptions interact with structured concurrency?s goal of making lifetimes and failure scopes explicit? * Do exceptions remain the best abstraction for expected failure in highly concurrent, compositional code? * Are there patterns (or emerging idioms) that Loom encourages which mitigate long-standing concerns with exceptions ? or does Loom expose new ones? * More broadly, should Java be thinking in terms of additional failure-handling tools rather than a single dominant model? I?m not advocating a specific alternative here ? just inviting a technical discussion about whether Loom changes how we should think about error handling, and if so, how. That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more recently Rust) has broadened how I think about failure modeling. One thing I?ve consistently appreciated about Java is that it tends to integrate external ideas deliberately, rather than reflexively rejecting them or adopting them wholesale. Loom itself is a good example of that approach. I?m interested in whether error handling deserves a similar re-examination in light of Loom?s goals. Looking forward to the discussion. Cheers, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Fri Dec 19 06:49:05 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Fri, 19 Dec 2025 06:49:05 +0000 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: On 18/12/2025 21:00, David Alayachew wrote: > : > > That said, if you dislike a 0 parameter call being forced into being a > 2 paramefer call when you need to add timeout, then sure, I think > adding an overload for that static method that takes in the > configFunction is reasonable. I'd support that. > The no-arg open method is the only method uses the default configuration and the "default" policy/joiner. We held back from adding a 1-arg open method that takes a configuration function as it doubles down on the defaults. We are confident that the "all of nothing" case is the most important case, and this means the scope will be cancelled if any subtask fails.? It is harder to get a sense as to whether subtasks produce results of the same type or different types, that is what determines if the default is allSuccessfulOrThrow [1] or awaitAllSuccessfulOrThrow [2]. -Alan [1] https://download.java.net/java/early_access/jdk26/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Joiner.html#allSuccessfulOrThrow() [2] https://download.java.net/java/early_access/jdk26/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Joiner.html#awaitAllSuccessfulOrThrow() From alan.bateman at oracle.com Fri Dec 19 07:02:21 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Fri, 19 Dec 2025 07:02:21 +0000 Subject: Timeouts in structured concurrency In-Reply-To: <28161457-57b7-47a9-b5bc-6e31b485c6d1@kolotyluk.net> References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> <8C2482BF-515C-4A89-8E68-197399E89452@me.com> <28161457-57b7-47a9-b5bc-6e31b485c6d1@kolotyluk.net> Message-ID: <4063fcaa-3d9d-467e-8400-9fc9bc018888@oracle.com> On 19/12/2025 01:24, Eric Kolotyluk wrote: > : > > So while Joiners make join() result-producing and more configurable, > the failure channel is still exception-based. From that perspective, I > can still see value in a functional, value-oriented result type?where > success and failure are both represented explicitly as > values?coexisting alongside exceptions, rather than routing expected > failure exclusively through throws. With records, sealed classes, pattern matching, ... then you should have enough to have the outcome from your own Joiner use ADTs to abstract over the success and failures cases. Maybe try that and write up your experiences? -Alan From forax at univ-mlv.fr Fri Dec 19 07:16:00 2025 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 19 Dec 2025 08:16:00 +0100 (CET) Subject: Timeouts in structured concurrency In-Reply-To: <4063fcaa-3d9d-467e-8400-9fc9bc018888@oracle.com> References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> <8C2482BF-515C-4A89-8E68-197399E89452@me.com> <28161457-57b7-47a9-b5bc-6e31b485c6d1@kolotyluk.net> <4063fcaa-3d9d-467e-8400-9fc9bc018888@oracle.com> Message-ID: <1824474924.1635903.1766128560297.JavaMail.zimbra@univ-eiffel.fr> For me you can not really use ADTs as return value of the subtasks because the default joiners do not have a way to define what is a success and what is a failure. So you can use ADTs internally but at some point, if a variant represent a failure, you have to convert it to an exception. regards, R?mi ----- Original Message ----- > From: "Alan Bateman" > To: "Eric Kolotyluk" , "loom-dev" > Sent: Friday, December 19, 2025 8:02:21 AM > Subject: Re: Timeouts in structured concurrency > On 19/12/2025 01:24, Eric Kolotyluk wrote: >> : >> >> So while Joiners make join() result-producing and more configurable, >> the failure channel is still exception-based. From that perspective, I >> can still see value in a functional, value-oriented result type?where >> success and failure are both represented explicitly as >> values?coexisting alongside exceptions, rather than routing expected >> failure exclusively through throws. > > With records, sealed classes, pattern matching, ... then you should have > enough to have the outcome from your own Joiner use ADTs to abstract > over the success and failures cases. Maybe try that and write up your > experiences? > > -Alan From alan.bateman at oracle.com Fri Dec 19 07:19:57 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Fri, 19 Dec 2025 07:19:57 +0000 Subject: Timeouts in structured concurrency In-Reply-To: <1824474924.1635903.1766128560297.JavaMail.zimbra@univ-eiffel.fr> References: <98e9d503-869c-4fa5-9379-33524bd550e1@kolotyluk.net> <8C2482BF-515C-4A89-8E68-197399E89452@me.com> <28161457-57b7-47a9-b5bc-6e31b485c6d1@kolotyluk.net> <4063fcaa-3d9d-467e-8400-9fc9bc018888@oracle.com> <1824474924.1635903.1766128560297.JavaMail.zimbra@univ-eiffel.fr> Message-ID: <7f67e681-ca4c-4e20-b3ea-cce36720f5aa@oracle.com> On 19/12/2025 07:16, Remi Forax wrote: > For me you can not really use ADTs as return value of the subtasks > because the default joiners do not have a way to define what is a success and what is a failure. > > So you can use ADTs internally but at some point, if a variant represent a failure, you have to convert it to an exception. > My comment was about the modelling the outcome of the scope, meaning the return from join, rather the of subtasks. If we go back through the archives then I think some people were already experimenting on this. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From hrgdavor at gmail.com Fri Dec 19 07:37:01 2025 From: hrgdavor at gmail.com (Davor Hrg) Date: Fri, 19 Dec 2025 08:37:01 +0100 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: I have also been experimenting with exceptions as values. It served me well for some initial experiments with wrapping HTTP fetch-like utilities. One issue came up: It was fine while I was not interested in what exception happens, but as soon as I wanted to check multiple exception types I had to resort to Throwable. My exploration is still superficial, but I have not found a way to define exception as value where it can define what "throws IoException,ValidationError" can. we would maybe need union types. ... and I am also afraid what happy when we start mixing the two concepts all over the codebases. This exploration of errors as types also made me appreciate Exceptions bit more. On Fri, Dec 19, 2025 at 7:35?AM Eric Kolotyluk wrote: > Hi all, > > I?m starting a new thread to continue a discussion that emerged elsewhere, > per mailing list etiquette, and to give the topic a clean and traceable > home. > > My interest here isn?t reactive to any one exchange. I?ve been > experimenting with Loom since its early iterations, and over time it has > sharpened a concern I already had: whether Java?s traditional exception > model remains the right default abstraction in a world of structured > concurrency, virtual threads, and large-scale composition. > > To be clear, this is not a claim that ?exceptions are broken? or that Java > should abandon them. Java?s exception system has supported billions of > lines of successful code, and I?ve used it productively for decades. > Rather, Loom makes certain trade-offs more visible ? particularly around > control flow, cancellation, failure propagation, and reasoning about > lifetimes ? that were easier to ignore in a purely thread-per-task world. > > The core questions I?m interested in exploring are along these lines: > > - How do unchecked exceptions interact with structured concurrency?s > goal of making lifetimes and failure scopes explicit? > - Do exceptions remain the best abstraction for expected failure in > highly concurrent, compositional code? > - Are there patterns (or emerging idioms) that Loom encourages which > mitigate long-standing concerns with exceptions ? or does Loom expose new > ones? > - More broadly, should Java be thinking in terms of additional > failure-handling tools rather than a single dominant model? > > I?m not advocating a specific alternative here ? just inviting a technical > discussion about whether Loom changes how we should think about error > handling, and if so, how. > > That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more > recently Rust) has broadened how I think about failure modeling. One thing > I?ve consistently appreciated about Java is that it tends to integrate > external ideas deliberately, rather than reflexively rejecting them or > adopting them wholesale. Loom itself is a good example of that approach. > > I?m interested in whether error handling deserves a similar re-examination > in light of Loom?s goals. > > Looking forward to the discussion. > > Cheers, > Eric > -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Fri Dec 19 08:14:27 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Fri, 19 Dec 2025 03:14:27 -0500 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: I don't understand your response to my quote @Alan Bateman . > We held back from adding a 1-arg open method that takes a configuration > function as it doubles down on the defaults. I don't understand -- are you saying that doubling down on the defaults is a bad thing, and that's why you held back? Why would doubling down on the defaults be bad? Or are you saying that you held back IN ORDER TO double down on the defaults? In which case, I understand what you mean by that even less. > We are confident that the "all of nothing" case is the most important > case, and this means the scope will be cancelled if any subtask fails. > It is harder to get a sense as to whether subtasks produce results of > the same type or different types, that is what determines if the default > is allSuccessfulOrThrow [1] or awaitAllSuccessfulOrThrow [2]. The first sentence here makes sense (I even agree with you), but I don't see how it relates to the second sentence. Or how the second sentence is relevant to any part of my response. Did you maybe mean to respond to someone else besides me? On Fri, Dec 19, 2025 at 1:49?AM Alan Bateman wrote: > > > On 18/12/2025 21:00, David Alayachew wrote: > > : > > > > That said, if you dislike a 0 parameter call being forced into being a > > 2 paramefer call when you need to add timeout, then sure, I think > > adding an overload for that static method that takes in the > > configFunction is reasonable. I'd support that. > > > The no-arg open method is the only method uses the default configuration > and the "default" policy/joiner. We held back from adding a 1-arg open > method that takes a configuration function as it doubles down on the > defaults. We are confident that the "all of nothing" case is the most > important case, and this means the scope will be cancelled if any > subtask fails. It is harder to get a sense as to whether subtasks > produce results of the same type or different types, that is what > determines if the default is allSuccessfulOrThrow [1] or > awaitAllSuccessfulOrThrow [2]. > > -Alan > > [1] > > https://download.java.net/java/early_access/jdk26/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Joiner.html#allSuccessfulOrThrow() > [2] > > https://download.java.net/java/early_access/jdk26/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Joiner.html#awaitAllSuccessfulOrThrow() > -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Fri Dec 19 08:33:14 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Fri, 19 Dec 2025 03:33:14 -0500 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: And maybe it'll help if I clarify what I was saying to @Holo The Sage Wolf . Holo is saying that they like the default joiner, but adding a timeout to it takes more code than necessary. They proposed multiple different overloads, but I suggested the following overload instead. StructuredTaskScope.open(UnaryOperator configOperator) This uses the default joiner, but allows easy config of things like timeout or name. This is reasonable in my mind because most STS cases are "all or nothing". They don't want to change the joining behaviour, just the name or timeout. So, this is easy access to it. Are you saying that this doesn't make sense, or there is something wrong with it? Or maybe it's not worth the weight? On Fri, Dec 19, 2025 at 3:14?AM David Alayachew wrote: > I don't understand your response to my quote @Alan Bateman > . > > > We held back from adding a 1-arg open method that takes a configuration > > function as it doubles down on the defaults. > > I don't understand -- are you saying that doubling down on the defaults is > a bad thing, and that's why you held back? Why would doubling down on the > defaults be bad? > > Or are you saying that you held back IN ORDER TO double down on the > defaults? In which case, I understand what you mean by that even less. > > > We are confident that the "all of nothing" case is the most important > > case, and this means the scope will be cancelled if any subtask fails. > > It is harder to get a sense as to whether subtasks produce results of > > the same type or different types, that is what determines if the default > > is allSuccessfulOrThrow [1] or awaitAllSuccessfulOrThrow [2]. > > The first sentence here makes sense (I even agree with you), but I don't > see how it relates to the second sentence. Or how the second sentence is > relevant to any part of my response. > > Did you maybe mean to respond to someone else besides me? > > On Fri, Dec 19, 2025 at 1:49?AM Alan Bateman > wrote: > >> >> >> On 18/12/2025 21:00, David Alayachew wrote: >> > : >> > >> > That said, if you dislike a 0 parameter call being forced into being a >> > 2 paramefer call when you need to add timeout, then sure, I think >> > adding an overload for that static method that takes in the >> > configFunction is reasonable. I'd support that. >> > >> The no-arg open method is the only method uses the default configuration >> and the "default" policy/joiner. We held back from adding a 1-arg open >> method that takes a configuration function as it doubles down on the >> defaults. We are confident that the "all of nothing" case is the most >> important case, and this means the scope will be cancelled if any >> subtask fails. It is harder to get a sense as to whether subtasks >> produce results of the same type or different types, that is what >> determines if the default is allSuccessfulOrThrow [1] or >> awaitAllSuccessfulOrThrow [2]. >> >> -Alan >> >> [1] >> >> https://download.java.net/java/early_access/jdk26/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Joiner.html#allSuccessfulOrThrow() >> [2] >> >> https://download.java.net/java/early_access/jdk26/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Joiner.html#awaitAllSuccessfulOrThrow() >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From oleksandr.otenko at gmail.com Fri Dec 19 09:36:44 2025 From: oleksandr.otenko at gmail.com (Alex Otenko) Date: Fri, 19 Dec 2025 09:36:44 +0000 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: I think the answer will depend on what you write. If you keep re-throwing exceptions, you wish it was a return value. If you keep checking the return value to make sure you clean up resources, unlock the locks, invoke the same routine, you wish you had try-with-resources or try/catch/finally. If you write map/reduce, you wish you could supply the monoid for errors just like for values. There are horror stories for all of these cases. On Fri, 19 Dec 2025, 04:55 Eric Kolotyluk, wrote: > Hi all, > > I?m starting a new thread to continue a discussion that emerged elsewhere, > per mailing list etiquette, and to give the topic a clean and traceable > home. > > My interest here isn?t reactive to any one exchange. I?ve been > experimenting with Loom since its early iterations, and over time it has > sharpened a concern I already had: whether Java?s traditional exception > model remains the right default abstraction in a world of structured > concurrency, virtual threads, and large-scale composition. > > To be clear, this is not a claim that ?exceptions are broken? or that Java > should abandon them. Java?s exception system has supported billions of > lines of successful code, and I?ve used it productively for decades. > Rather, Loom makes certain trade-offs more visible ? particularly around > control flow, cancellation, failure propagation, and reasoning about > lifetimes ? that were easier to ignore in a purely thread-per-task world. > > The core questions I?m interested in exploring are along these lines: > > - How do unchecked exceptions interact with structured concurrency?s > goal of making lifetimes and failure scopes explicit? > - Do exceptions remain the best abstraction for expected failure in > highly concurrent, compositional code? > - Are there patterns (or emerging idioms) that Loom encourages which > mitigate long-standing concerns with exceptions ? or does Loom expose new > ones? > - More broadly, should Java be thinking in terms of additional > failure-handling tools rather than a single dominant model? > > I?m not advocating a specific alternative here ? just inviting a technical > discussion about whether Loom changes how we should think about error > handling, and if so, how. > > That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more > recently Rust) has broadened how I think about failure modeling. One thing > I?ve consistently appreciated about Java is that it tends to integrate > external ideas deliberately, rather than reflexively rejecting them or > adopting them wholesale. Loom itself is a good example of that approach. > > I?m interested in whether error handling deserves a similar re-examination > in light of Loom?s goals. > > Looking forward to the discussion. > > Cheers, > Eric > -------------- next part -------------- An HTML attachment was scrubbed... URL: From holo3146 at gmail.com Fri Dec 19 09:39:08 2025 From: holo3146 at gmail.com (Holo The Sage Wolf) Date: Fri, 19 Dec 2025 11:39:08 +0200 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: Hello Eric, Here is a simple implementation of "exception as values" structured concurrency *using the current architecture* as a Proof of Concept, this is a working example in Java 25 with the flag --enable-preview. Couple of notes: 1. I used the most on the nose naive implementation of Result type just as a Proof of Concept, but this can be replaced with a more sophisticated type. 2. I didn't implement the timeout feature as "exception as value", meaning using this PoC the only way to use timeout is via the ConfigFunc which *will* throw an exception on timeout. - It is possible and relatively simply to implement timeout inside the Joiner and use that instead of the ConfigFunc feature of timeout and thus bypass this point 3. This is specifically a "on all success return stream of results" implementation, this implementation can easily adapted to all other usecases via minimal changes Minus the above caveats, this implementation is production ready. The only actual downsides I can think of about this implementation are: 1. Even though InterruptedException should never be thrown, you still have to catch it 2. There is no way to prevent users from setting timeout via ConfFunc even if `AllSuccessfulResult` were to implement timeout mechanism @SuppressWarnings("preview") void main() { try (var scope = StructuredTaskScope.open(new AllSuccessfulResult())) { scope.fork(() -> "Holo"); scope.fork(() -> "Test"); var x = scope.join(); // x=(stream of ("Holo", "Test"), null), the order of the stream is not guarantee // scope.fork(() -> "Holo"); // scope.fork(() -> "Test"); // scope.fork(() -> { // throw new IllegalStateException(); // }); // var x = scope.join(); // x=(null, illegalStateException) } catch (InterruptedException | StructuredTaskScope.TimeoutException e) { throw new RuntimeException(e); // only teachable on timeout *when the timeout is configured through StructuredTaskScope.open* // To make it so timeout doesn't get into here, add into the `AllSuccessfulResult` type built in mechanism of timeout // implementing timeout inside the Joiner is not hard, but I omitted it from the Proof of Concept } } record Result(V value, R exception) {} @SuppressWarnings("preview") static final class AllSuccessfulResult implements StructuredTaskScope.Joiner, Throwable>> { private static final MethodHandles.Lookup lookup = MethodHandles.lookup(); private static final VarHandle FIRST_EXCEPTION; static { try { FIRST_EXCEPTION = lookup.findVarHandle(lookup.lookupClass(), "firstException", Throwable.class); } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException(e); // shouldn't be possible to reach } } // list of forked subtasks, only accessed by owner thread private final List> subtasks = new ArrayList<>(); private volatile Throwable firstException; @Override public boolean onFork(StructuredTaskScope.Subtask subtask) { if (subtask.state() != StructuredTaskScope.Subtask.State.UNAVAILABLE) { // after `join` you can't use onFork throw new IllegalArgumentException("Subtask not in UNAVAILABLE state"); } @SuppressWarnings("unchecked") var s = (StructuredTaskScope.Subtask) subtask; subtasks.add(s); return false; } @Override public boolean onComplete(StructuredTaskScope.Subtask subtask) { StructuredTaskScope.Subtask.State state = subtask.state(); if (state == StructuredTaskScope.Subtask.State.UNAVAILABLE) { throw new IllegalArgumentException("Subtask has not completed"); // this shouldn't be reachable I think, but just in case } return (state == StructuredTaskScope.Subtask.State.FAILED) && (firstException == null) && FIRST_EXCEPTION.compareAndSet(this, null, subtask.exception()); } @Override public Result, Throwable> result() { if (firstException != null) { return new Result<>(null, firstException); } var results = subtasks.stream() .filter(t -> t.state() == StructuredTaskScope.Subtask.State.SUCCESS) .map(StructuredTaskScope.Subtask::get); return new Result<>(results, null); } } On Fri, Dec 19, 2025 at 11:10?AM Davor Hrg wrote: > I have also been experimenting with exceptions as values. > > It served me well for some initial experiments with wrapping HTTP > fetch-like utilities. > > One issue came up: It was fine while I was not interested in what > exception happens, > but as soon as I wanted to check multiple exception types I had to resort > to Throwable. > > My exploration is still superficial, but I have not found a way to define > exception as value > where it can define what "throws IoException,ValidationError" can. we > would maybe need union types. ... > and I am also afraid what happy when we start mixing the two concepts all > over the codebases. > > This exploration of errors as types also made me appreciate Exceptions bit > more. > > > > > > > > On Fri, Dec 19, 2025 at 7:35?AM Eric Kolotyluk wrote: > >> Hi all, >> >> I?m starting a new thread to continue a discussion that emerged >> elsewhere, per mailing list etiquette, and to give the topic a clean and >> traceable home. >> >> My interest here isn?t reactive to any one exchange. I?ve been >> experimenting with Loom since its early iterations, and over time it has >> sharpened a concern I already had: whether Java?s traditional exception >> model remains the right default abstraction in a world of structured >> concurrency, virtual threads, and large-scale composition. >> >> To be clear, this is not a claim that ?exceptions are broken? or that >> Java should abandon them. Java?s exception system has supported billions of >> lines of successful code, and I?ve used it productively for decades. >> Rather, Loom makes certain trade-offs more visible ? particularly around >> control flow, cancellation, failure propagation, and reasoning about >> lifetimes ? that were easier to ignore in a purely thread-per-task world. >> >> The core questions I?m interested in exploring are along these lines: >> >> - How do unchecked exceptions interact with structured concurrency?s >> goal of making lifetimes and failure scopes explicit? >> - Do exceptions remain the best abstraction for expected failure in >> highly concurrent, compositional code? >> - Are there patterns (or emerging idioms) that Loom encourages which >> mitigate long-standing concerns with exceptions ? or does Loom expose new >> ones? >> - More broadly, should Java be thinking in terms of additional >> failure-handling tools rather than a single dominant model? >> >> I?m not advocating a specific alternative here ? just inviting a >> technical discussion about whether Loom changes how we should think about >> error handling, and if so, how. >> >> That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more >> recently Rust) has broadened how I think about failure modeling. One thing >> I?ve consistently appreciated about Java is that it tends to integrate >> external ideas deliberately, rather than reflexively rejecting them or >> adopting them wholesale. Loom itself is a good example of that approach. >> >> I?m interested in whether error handling deserves a similar >> re-examination in light of Loom?s goals. >> >> Looking forward to the discussion. >> >> Cheers, >> Eric >> > -- Holo The Wise Wolf Of Yoitsu -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Fri Dec 19 10:52:48 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Fri, 19 Dec 2025 10:52:48 +0000 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: On 19/12/2025 08:33, David Alayachew wrote: > And maybe it'll help if I clarify what I was saying to @Holo The Sage > Wolf . > > Holo is saying that they like the default joiner, but adding a timeout > to it takes more code than necessary. They proposed multiple different > overloads, but I suggested the following overload instead. > > StructuredTaskScope.open(UnaryOperator > configOperator) > There are two built-in joiners that implement the policy to cancel the scope and cause join to throw if any subtask fails. One is suited to subtasks that produce results of the same type. It can collect the results and have join yield the list of results. The other is suited to subtasks that produce results of very different types and where it is more convenient to retain the Subtask returned from fork. The feedback to date on which would be the better default is inconclusive. The choice influences the return from the 1-arg open method is being discussed here, and is why it is not included in the current API. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From holo3146 at gmail.com Fri Dec 19 11:18:37 2025 From: holo3146 at gmail.com (Holo The Sage Wolf) Date: Fri, 19 Dec 2025 13:18:37 +0200 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: I don't see how this stops us from adding the overload David suggests. The current implementation implementation of the 0-args open method is to delegate into the 2-args open method: ... open() { return open(, Function.identity()); } With the suggested overload we will have: ... open() { return open(Function.identity()) } ... open(Function confFunc) { return open(, confFunc); } In both cases, changing the default based on users input will mount to changing the joiner in a single place On Fri, 19 Dec 2025, 12:52 Alan Bateman, wrote: > > > On 19/12/2025 08:33, David Alayachew wrote: > > And maybe it'll help if I clarify what I was saying to @Holo The Sage Wolf > . > > Holo is saying that they like the default joiner, but adding a timeout to > it takes more code than necessary. They proposed multiple different > overloads, but I suggested the following overload instead. > > StructuredTaskScope.open(UnaryOperator > configOperator) > > > There are two built-in joiners that implement the policy to cancel the > scope and cause join to throw if any subtask fails. One is suited to > subtasks that produce results of the same type. It can collect the results > and have join yield the list of results. The other is suited to subtasks > that produce results of very different types and where it is more > convenient to retain the Subtask returned from fork. The feedback to date > on which would be the better default is inconclusive. The choice influences > the return from the 1-arg open method is being discussed here, and is why > it is not included in the current API. > > -Alan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Fri Dec 19 13:20:08 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Fri, 19 Dec 2025 08:20:08 -0500 Subject: Timeouts in structured concurrency In-Reply-To: References: Message-ID: Yeah, I'm not seeing your point here either @Alan Bateman . It almost sounds like you all are saying that, because you don't know which default joiner you are going to use, that you refuse to give us this specific convenience method until you find that default. Maybe the logic behind that train of thought is obvious to you, but not to us. You'll need to explain it. Because in our eyes, the cost is just changing the return type of (and a line of code in) 2 methods -- a cheap thing to do for an API in Preview. In short, what do you gain by holding off on this until you find the right default? That's not clear to us. On Fri, Dec 19, 2025, 6:18?AM Holo The Sage Wolf wrote: > I don't see how this stops us from adding the overload David suggests. > > The current implementation implementation of the 0-args open method is to > delegate into the 2-args open method: > > ... open() { > return open(, Function.identity()); > } > > With the suggested overload we will have: > > ... open() { > return open(Function.identity()) > } > > ... open(Function confFunc) { > return open(, confFunc); > } > > In both cases, changing the default based on users input will mount to > changing the joiner in a single place > > On Fri, 19 Dec 2025, 12:52 Alan Bateman, wrote: > >> >> >> On 19/12/2025 08:33, David Alayachew wrote: >> >> And maybe it'll help if I clarify what I was saying to @Holo The Sage >> Wolf . >> >> Holo is saying that they like the default joiner, but adding a timeout to >> it takes more code than necessary. They proposed multiple different >> overloads, but I suggested the following overload instead. >> >> StructuredTaskScope.open(UnaryOperator >> configOperator) >> >> >> There are two built-in joiners that implement the policy to cancel the >> scope and cause join to throw if any subtask fails. One is suited to >> subtasks that produce results of the same type. It can collect the results >> and have join yield the list of results. The other is suited to subtasks >> that produce results of very different types and where it is more >> convenient to retain the Subtask returned from fork. The feedback to date >> on which would be the better default is inconclusive. The choice influences >> the return from the 1-arg open method is being discussed here, and is why >> it is not included in the current API. >> >> -Alan >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Fri Dec 19 13:25:05 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Fri, 19 Dec 2025 08:25:05 -0500 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: And just for context for all, here is the previous thread where this discussion originated. https://mail.openjdk.org/pipermail/loom-dev/2025-December/008117.html You can start reading from there. A few more replies later, and then this new thread was created, so as not to distract from the other topic. On Fri, Dec 19, 2025, 1:35?AM Eric Kolotyluk wrote: > Hi all, > > I?m starting a new thread to continue a discussion that emerged elsewhere, > per mailing list etiquette, and to give the topic a clean and traceable > home. > > My interest here isn?t reactive to any one exchange. I?ve been > experimenting with Loom since its early iterations, and over time it has > sharpened a concern I already had: whether Java?s traditional exception > model remains the right default abstraction in a world of structured > concurrency, virtual threads, and large-scale composition. > > To be clear, this is not a claim that ?exceptions are broken? or that Java > should abandon them. Java?s exception system has supported billions of > lines of successful code, and I?ve used it productively for decades. > Rather, Loom makes certain trade-offs more visible ? particularly around > control flow, cancellation, failure propagation, and reasoning about > lifetimes ? that were easier to ignore in a purely thread-per-task world. > > The core questions I?m interested in exploring are along these lines: > > - How do unchecked exceptions interact with structured concurrency?s > goal of making lifetimes and failure scopes explicit? > - Do exceptions remain the best abstraction for expected failure in > highly concurrent, compositional code? > - Are there patterns (or emerging idioms) that Loom encourages which > mitigate long-standing concerns with exceptions ? or does Loom expose new > ones? > - More broadly, should Java be thinking in terms of additional > failure-handling tools rather than a single dominant model? > > I?m not advocating a specific alternative here ? just inviting a technical > discussion about whether Loom changes how we should think about error > handling, and if so, how. > > That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more > recently Rust) has broadened how I think about failure modeling. One thing > I?ve consistently appreciated about Java is that it tends to integrate > external ideas deliberately, rather than reflexively rejecting them or > adopting them wholesale. Loom itself is a good example of that approach. > > I?m interested in whether error handling deserves a similar re-examination > in light of Loom?s goals. > > Looking forward to the discussion. > > Cheers, > Eric > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri Dec 19 13:50:19 2025 From: robaho at me.com (Robert Engels) Date: Fri, 19 Dec 2025 07:50:19 -0600 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: <3737BB4F-5131-48E9-8BEC-49D84F558034@me.com> An HTML attachment was scrubbed... URL: From jonas.j.nordin at gmail.com Fri Dec 19 14:29:23 2025 From: jonas.j.nordin at gmail.com (Jonas Nordin) Date: Fri, 19 Dec 2025 15:29:23 +0100 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: <3737BB4F-5131-48E9-8BEC-49D84F558034@me.com> References: <3737BB4F-5131-48E9-8BEC-49D84F558034@me.com> Message-ID: I don't see in what way exceptions can be considered to be side effects? The fact that they return in a 'differently-structured' manner doesn't really matter, nor what you call the abstraction that happens to throw/signal/return them, right? Unexpected, perhaps - less strict than just disallowing them. And that's not really feasible either: prove that OOM can't happen? JVM bugs? Interrupts? Never-returns? That said, something that might be useful would be a utility type in the stdlib that could express 'more functional' typing for method results; perhaps 'ResultOrException'. Or just 'ResultOrFail' - might allow more structured/tighter failure types than just an exception. Or ResultOrFailOrExn. Big design space. On Fri, Dec 19, 2025 at 2:50?PM Robert Engels wrote: > > I?ll disagree with the last case. The number one reason functional programming is a mess is because people don?t exclusively use it with pure functions. Errors or Exceptions are side effects. You can map them to a value and try and call it a function but it?s not. Use map/reduce with pure functions and it works fine. > > On Dec 19, 2025, at 3:37?AM, Alex Otenko wrote: > > ? From davidalayachew at gmail.com Fri Dec 19 14:31:21 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Fri, 19 Dec 2025 09:31:21 -0500 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: Hello @Eric Kolotyluk , Let me start off by giving context -- the way STS uses exceptions is a little more complicated than just "throw, even on very much expected errors". One of the downsides of STS is that it is the hotelier to several different guests with very different (almost orthogonal) semantic needs -- thus forcing the final design to sardine them together in some uncomfortable ways. You mentioned one of these pain points in the previous thread -- about the joiner returning null when successful, and exception otherwise. Stuff like that is usually an indicator that an API is trying to do 2 or more things at once, and can't easily accomodate both in the cleanest way. The literal reason java.lang.Void was created back when was to bandaid this exact problem. So, understanding that STS is trying to cover multiple different API needs in one hood, hopefully that makes more sense why the answer is null vs exception for that particular joiner. It's not clean, but it serves the purpose well enough, imo. With that context out of the way, let me respond to your points. - How do unchecked exceptions interact with structured concurrency?s goal of making lifetimes and failure scopes explicit? I'm not sure I follow. Are you asking how unchecked exceptions thrown by MY CLIENT CODE interact with STS? If so, I'd say, the same as everywhere else. My understanding is that Unchecked is for programming bugs, and therefore, should not be dealt with. The only difference between other contexts and STS is that, for some of the joiners (awaitAll), STS gives you the choice to do that or not. It's not necessarily the default to propagate, which some developers have raised disagreement with in the past. - Do exceptions remain the best abstraction for expected failure in highly concurrent, compositional code? Well, again, it depends what you mean here. This question and the one before it are rather open-ended. Currently, the join method throws several different exceptions. WrongThreadException -- I think using an (unchecked) exception is the right choice here because this situation can only occur via programming error. IllegalStateException -- Same logic as above. FailedException -- Some feel this should be replaced by a return type in the vein of Result or something related. I don't necessarily agree, as I still do want a stack trace with line numbers. And if that Result is actually Result where Ex is an exception, well I think Exceptions are the better vehicle for that type of response instead of Result. TimeoutException -- This is a great example of what I mean when I say sardine. Normally, this would obviously be a checked exception (an expected failure that no amount of prep time can realistically prevent), but since I can turn off timeouts, forcing everyone to pay for this doesn't make sense. Aka, sardines. But really, the original sin is that code that doesn't do timeouts shouldn't be able to throw this. Sadly, the only real way to do this in Java 25 is by significantly bloating the Java api. You'd have to break apart and duplicate the API in ways that increase the surface area while adding very little semantic meaning. That's a double whammy in the worst way. That'd be like Stream vs IntStream vs DoubleStream all over again. I can definitely understand ehy they do not want that for STS. Maybe some exploration is being done towards remedying this, idk. InterruptedException -- Well, this one is fine. However you feel about Interrupts and how Java implements them, STS is advertised to handle and emit interrupts "properly", therefore the behaviour here is unavoidable, according to the spec. You'd have to trandform STS into something wildly different in order to change how or if we deal in InterruptedExceptions. So, from what I can see here, each of the exceptions seem reasonable. Albeit, some are the result of conflicting concerns. But I don't see how any other solution would address these better. - Are there patterns (or emerging idioms) that Loom encourages which mitigate long-standing concerns with exceptions ? or does Loom expose new ones? - More broadly, should Java be thinking in terms of additional failure-handling tools rather than a single dominant model? I think Java already has, but even in light of that exploration, chose to use exceptions here. But frankly, both of these points are broad. I think you need to be more specific here. I will say, your original post in the previous thread was asking a very different question than this thread. Did you mean to, or are you building up to that? On Fri, Dec 19, 2025, 8:25?AM David Alayachew wrote: > And just for context for all, here is the previous thread where this > discussion originated. > > https://mail.openjdk.org/pipermail/loom-dev/2025-December/008117.html > > You can start reading from there. A few more replies later, and then this > new thread was created, so as not to distract from the other topic. > > On Fri, Dec 19, 2025, 1:35?AM Eric Kolotyluk wrote: > >> Hi all, >> >> I?m starting a new thread to continue a discussion that emerged >> elsewhere, per mailing list etiquette, and to give the topic a clean and >> traceable home. >> >> My interest here isn?t reactive to any one exchange. I?ve been >> experimenting with Loom since its early iterations, and over time it has >> sharpened a concern I already had: whether Java?s traditional exception >> model remains the right default abstraction in a world of structured >> concurrency, virtual threads, and large-scale composition. >> >> To be clear, this is not a claim that ?exceptions are broken? or that >> Java should abandon them. Java?s exception system has supported billions of >> lines of successful code, and I?ve used it productively for decades. >> Rather, Loom makes certain trade-offs more visible ? particularly around >> control flow, cancellation, failure propagation, and reasoning about >> lifetimes ? that were easier to ignore in a purely thread-per-task world. >> >> The core questions I?m interested in exploring are along these lines: >> >> - How do unchecked exceptions interact with structured concurrency?s >> goal of making lifetimes and failure scopes explicit? >> - Do exceptions remain the best abstraction for expected failure in >> highly concurrent, compositional code? >> - Are there patterns (or emerging idioms) that Loom encourages which >> mitigate long-standing concerns with exceptions ? or does Loom expose new >> ones? >> - More broadly, should Java be thinking in terms of additional >> failure-handling tools rather than a single dominant model? >> >> I?m not advocating a specific alternative here ? just inviting a >> technical discussion about whether Loom changes how we should think about >> error handling, and if so, how. >> >> That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more >> recently Rust) has broadened how I think about failure modeling. One thing >> I?ve consistently appreciated about Java is that it tends to integrate >> external ideas deliberately, rather than reflexively rejecting them or >> adopting them wholesale. Loom itself is a good example of that approach. >> >> I?m interested in whether error handling deserves a similar >> re-examination in light of Loom?s goals. >> >> Looking forward to the discussion. >> >> Cheers, >> Eric >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri Dec 19 14:56:46 2025 From: robaho at me.com (Robert Engels) Date: Fri, 19 Dec 2025 08:56:46 -0600 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: All errors including exceptions are side effects. A pure function requires the same result for the same inputs - obviously any IO breaks this. > On Dec 19, 2025, at 8:29?AM, Jonas Nordin wrote: > > ?I don't see in what way exceptions can be considered to be side > effects? The fact that they return in a 'differently-structured' > manner doesn't really matter, nor what you call the abstraction that > happens to throw/signal/return them, right? > > Unexpected, perhaps - less strict than just disallowing them. And > that's not really feasible either: prove that OOM can't happen? JVM > bugs? Interrupts? Never-returns? > > That said, something that might be useful would be a utility type in > the stdlib that could express 'more functional' typing for method > results; perhaps 'ResultOrException'. Or just 'ResultOrFail' > - might allow more structured/tighter failure types than just an > exception. Or ResultOrFailOrExn. Big design space. > >> On Fri, Dec 19, 2025 at 2:50?PM Robert Engels wrote: >> >> I?ll disagree with the last case. The number one reason functional programming is a mess is because people don?t exclusively use it with pure functions. Errors or Exceptions are side effects. You can map them to a value and try and call it a function but it?s not. Use map/reduce with pure functions and it works fine. >> >> On Dec 19, 2025, at 3:37?AM, Alex Otenko wrote: >> >> ? From eric at kolotyluk.net Fri Dec 19 18:23:25 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Fri, 19 Dec 2025 10:23:25 -0800 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: Thanks ? this is a thoughtful and technically grounded response, and I appreciate the clarity around the trade-offs STS is managing. I think we largely agree on the local reasoning behind each exception choice, and your description of STS as a compromise object serving orthogonal semantic needs resonates. I want to clarify one aspect of my intent. I?m not so much offering solutions here as asking questions ? deliberately. In my experience, strong scientific and engineering work starts by identifying where the remaining uncertainty or friction actually is, before jumping to remedies. Loom itself is a good example of that mindset. One dimension that Loom brings into sharper focus is the role of the JVM in shaping what becomes viable or idiomatic in Java. Making virtual threads work required substantial runtime and tooling changes ? including around stack capture, continuations, debugging, and exception mechanics ? so that existing exception semantics continue to function naturally under a very different execution model. That?s an impressive achievement, but it also highlights an asymmetry. Exceptions are a VM-native failure mechanism, so when the execution model changes, the JVM absorbs the complexity needed to preserve their ergonomics. Value-based failure modeling (e.g., Result-style returns) is largely a library-level pattern: it doesn?t require JVM enhancements to exist, but it also doesn?t receive first-class runtime or tooling support in the same way. I?m not claiming Result is free or universally better ? it has real costs in boilerplate and ergonomics, especially in Java today ? only that the ecosystem naturally gravitates toward whatever the VM blesses as first-class. This context is what motivates my broader question. Structured concurrency makes lifetimes and scopes explicit, but failure and cancellation semantics are still largely ambient and stack-oriented. STS shows how much care is required to make that work well, yet it also makes visible that there are still hard problems here, especially once concurrency and parallelism are taken seriously: ? ? ?? ? how cancellation should be modeled and propagated, ? ? ?? ? how multiple concurrent failures should be aggregated or prioritized, ? ? ?? ? how to represent partial success and expected failure without overloading ?exceptional? paths, ? ? ?? ? how failure semantics align with explicit lifetime scopes, ? ? ?? ? and how observability and debugging scale across async and parallel boundaries. I?m not arguing that any particular exception in STS is wrong, nor advocating a specific replacement model. I?m asking whether Loom?s success suggests that error handling ? like concurrency itself ? may still have unresolved design questions at the systems level, even if the current answers are pragmatic and defensible. If the conclusion is that exceptions remain sufficient even under these constraints, that?s a reasonable position. My interest is in making that reasoning explicit, in light of the new execution model Loom has introduced. Thanks again for engaging seriously with the question. Cheers, Eric On 2025-12-19 6:31 AM, David Alayachew wrote: > Hello @Eric Kolotyluk , > > Let me start off by giving context -- the way STS uses exceptions is a > little more complicated than just "throw, even on very much expected > errors". > > One of the downsides of STS is that it is the hotelier to several > different guests with very different (almost orthogonal) semantic > needs -- thus forcing the final design to sardine them together in > some uncomfortable ways. > > You mentioned one of these pain points in the previous thread -- about > the joiner returning null when successful, and exception otherwise. > > Stuff like that is usually an indicator that an API is trying to do 2 > or more things at once, and can't easily accomodate both in the > cleanest way. The literal reason java.lang.Void was created back when > was to bandaid this exact problem. > > So, understanding that STS is trying to cover multiple different API > needs in one hood, hopefully that makes more sense why the answer is > null vs exception for that particular joiner. It's not clean, but it > serves the purpose well enough, imo. > > With that context out of the way, let me respond to your points. > > * How do unchecked exceptions interact with structured concurrency?s > goal of making lifetimes and failure scopes explicit? > > I'm not sure I follow. Are you asking how unchecked exceptions thrown > by MY CLIENT CODE interact with STS? If so, I'd say, the same as > everywhere else. > > My understanding is that Unchecked is for programming bugs, and > therefore, should not be dealt with. The only difference between other > contexts and STS is that, for some of the joiners (awaitAll), STS > gives you the choice to do that or not. It's not necessarily the > default to propagate, which some developers have raised disagreement > with in the past. > > * Do exceptions remain the best abstraction for expected failure in > highly concurrent, compositional code? > > Well, again, it depends what you mean here. This question and the one > before it are rather open-ended. > > Currently, the join method throws several different exceptions. > > WrongThreadException -- I think using an (unchecked) exception is the > right choice here because this situation can only occur via > programming error. > > IllegalStateException -- Same logic as above. > > FailedException -- Some feel this should be replaced by a return type > in the vein of Result or something related. I don't necessarily > agree, as I still do want a stack trace with line numbers. And if that > Result is actually Result where Ex is an exception, well I > think Exceptions are the better vehicle for that type of response > instead of Result. > > TimeoutException -- This is a great example of what I mean when I say > sardine. Normally, this would obviously be a checked exception (an > expected failure that no amount of prep time can realistically > prevent), but since I can turn off timeouts, forcing everyone to pay > for this doesn't make sense. Aka, sardines. But really, the original > sin is that code that doesn't do timeouts shouldn't be able to throw > this. Sadly, the only real way to do this in Java 25 is by > significantly bloating the Java api. You'd have to break apart and > duplicate the API in ways that increase the surface area while adding > very little semantic meaning. That's a double whammy in the worst way. > That'd be like Stream vs IntStream vs DoubleStream all over again. I > can definitely understand ehy they do not want that for STS. Maybe > some exploration is being done towards remedying this, idk. > > InterruptedException -- Well, this one is fine. However you feel about > Interrupts and how Java implements them, STS is advertised to handle > and emit interrupts "properly", therefore the behaviour here is > unavoidable, according to the spec. You'd have to trandform STS into > something wildly different in order to change how or if we deal in > InterruptedExceptions. > > So, from what I can see here, each of the exceptions seem reasonable. > Albeit, some are the result of conflicting concerns. But I don't see > how any other solution would address these better. > > * Are there patterns (or emerging idioms) that Loom encourages which > mitigate long-standing concerns with exceptions ? or does Loom > expose new ones? > * More broadly, should Java be thinking in terms of additional > failure-handling tools rather than a single dominant model? > > I think Java already has, but even in light of that exploration, chose > to use exceptions here. > > But frankly, both of these points are broad. I think you need to be > more specific here. > > I will say, your original post in the previous thread was asking a > very different question than this thread. Did you mean to, or are you > building up to that? > > > On Fri, Dec 19, 2025, 8:25?AM David Alayachew > wrote: > > And just for context for all, here is the previous thread where > this discussion originated. > > https://mail.openjdk.org/pipermail/loom-dev/2025-December/008117.html > > You can start reading from there. A few more replies later, and > then this new thread was created, so as not to distract from the > other topic. > > On Fri, Dec 19, 2025, 1:35?AM Eric Kolotyluk > wrote: > > Hi all, > > I?m starting a new thread to continue a discussion that > emerged elsewhere, per mailing list etiquette, and to give the > topic a clean and traceable home. > > My interest here isn?t reactive to any one exchange. I?ve been > experimenting with Loom since its early iterations, and over > time it has sharpened a concern I already had: whether Java?s > traditional exception model remains the right default > abstraction in a world of structured concurrency, virtual > threads, and large-scale composition. > > To be clear, this is not a claim that ?exceptions are broken? > or that Java should abandon them. Java?s exception system has > supported billions of lines of successful code, and I?ve used > it productively for decades. Rather, Loom makes certain > trade-offs more visible ? particularly around control flow, > cancellation, failure propagation, and reasoning about > lifetimes ? that were easier to ignore in a purely > thread-per-task world. > > The core questions I?m interested in exploring are along these > lines: > > * How do unchecked exceptions interact with structured > concurrency?s goal of making lifetimes and failure scopes > explicit? > * Do exceptions remain the best abstraction for expected > failure in highly concurrent, compositional code? > * Are there patterns (or emerging idioms) that Loom > encourages which mitigate long-standing concerns with > exceptions ? or does Loom expose new ones? > * More broadly, should Java be thinking in terms of > additional failure-handling tools rather than a single > dominant model? > > I?m not advocating a specific alternative here ? just inviting > a technical discussion about whether Loom changes how we > should think about error handling, and if so, how. > > That said, exposure to other ecosystems (e.g., Scala, Kotlin, > and more recently Rust) has broadened how I think about > failure modeling. One thing I?ve consistently appreciated > about Java is that it tends to integrate external ideas > deliberately, rather than reflexively rejecting them or > adopting them wholesale. Loom itself is a good example of that > approach. > > I?m interested in whether error handling deserves a similar > re-examination in light of Loom?s goals. > > Looking forward to the discussion. > > Cheers, > Eric > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at kolotyluk.net Fri Dec 19 18:28:49 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Fri, 19 Dec 2025 10:28:49 -0800 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: Hello Holo, Thank you for putting this together ? this is exactly the kind of concrete exploration I was hoping might emerge from the discussion. A working PoC that actually exercises StructuredTaskScope and Joiner semantics is far more valuable than abstract debate, and I appreciate the care you took in documenting the caveats. Taken on its own terms, this convincingly demonstrates an important point: ?exceptions as values? can be expressed today, within the current JVM and Loom architecture, without special runtime support. Your implementation makes that clear, and it?s helpful to see how little machinery is actually required to model ?all succeed or capture first failure? explicitly. What I find most interesting here isn?t whether this exact Result type should exist, or whether this particular Joiner is the ?right? abstraction ? it?s what the PoC reveals about the design space. A few reflections, more observational than critical: * Your implementation makes failure aggregation explicit rather than ambient. The fact that this logic lives in the Joiner ? instead of being implicit in exception propagation ? is precisely what makes the behavior legible. That?s a real conceptual difference, regardless of which model one prefers. * At the same time, the caveats you list are telling. The need to still catch InterruptedException, the inability to prevent timeout configuration through ConfigFunc, and the fact that timeout semantics live outside the Joiner unless reimplemented ? all point to the same underlying reality: failure, cancellation, and time are still split across multiple semantic channels. * None of this is a knock on Loom or STS. If anything, it reinforces how much structured concurrency already clarifies lifetimes and ownership ? and how the remaining friction shows up primarily around how failure and cancellation are represented and composed. I also want to emphasize: I?m not reading this as ?here is the alternative Java should adopt.? Rather, I see it as evidence that there are still open questions worth examining: * Which aspects of failure benefit most from being explicit and value-oriented? * Which aspects genuinely benefit from stack-based propagation and VM-native support? * And where does cancellation sit ? error, control signal, or something orthogonal ? especially under parallel composition? Your PoC doesn?t answer those questions definitively, but it sharpens them considerably. That?s exactly the kind of contribution that makes a technical discussion productive rather than ideological. Thanks again for taking the time to build and share this ? it?s a strong piece of evidence that the space is still worth exploring. Cheers, Eric On 2025-12-19 1:39 AM, Holo The Sage Wolf wrote: > Hello Eric, > > Here is a simple implementation of "exception as values" structured > concurrency *using the current architecture* as a Proof of Concept, > this is a working example in Java 25 with the flag --enable-preview. > > Couple of notes: > 1. I used the most on the nose naive implementation of Result Error> type just as a Proof of Concept, but this can be replaced with > a more sophisticated?type. > 2. I didn't implement the timeout feature as "exception as value", > meaning using this PoC the only way to use timeout is via the > ConfigFunc which *will* throw an exception on timeout. > ? ? - It is possible and relatively simply to implement timeout inside > the Joiner and use that instead of the ConfigFunc feature of timeout > and thus bypass this point > 3. This is specifically?a "on all success return stream?of results" > implementation, this implementation can easily adapted to all other > usecases via minimal changes > > Minus the above caveats, this implementation is production ready. > The only actual downsides I can think of about this implementation?are: > 1. Even though?InterruptedException should never be thrown, you still > have to catch it > 2. There is no way to prevent users from setting timeout via ConfFunc > even if `AllSuccessfulResult` were to implement timeout mechanism > > @SuppressWarnings("preview") > void main() { > try (var scope = StructuredTaskScope.open(new AllSuccessfulResult())) { > scope.fork(() ->"Holo"); > scope.fork(() ->"Test"); > var x = scope.join();// x=(stream of ("Holo", "Test"), null), the order of the stream is > not guarantee > // scope.fork(() -> "Holo"); // scope.fork(() -> "Test"); // > scope.fork(() -> { // throw new IllegalStateException(); // }); // var > x = scope.join(); // x=(null, illegalStateException) }catch (InterruptedException | StructuredTaskScope.TimeoutException e) { > throw new RuntimeException(e);// only teachable on timeout *when the timeout is configured through > StructuredTaskScope.open* // To make it so timeout doesn't get into > here, add into the `AllSuccessfulResult` type built in mechanism of > timeout // implementing timeout inside the Joiner is not hard, but I > omitted it from the Proof of Concept } > } > > record Result(V value,R exception) {} > > @SuppressWarnings("preview") > static final class AllSuccessfulResult implements StructuredTaskScope.Joiner, Throwable>> { > private static final MethodHandles.Lookuplookup = MethodHandles.lookup(); > private static final VarHandleFIRST_EXCEPTION; > > static { > try { > FIRST_EXCEPTION =lookup.findVarHandle(lookup.lookupClass(),"firstException", Throwable.class); > }catch (NoSuchFieldException | IllegalAccessException e) { > throw new RuntimeException(e);// shouldn't be possible to reach } > } > > // list of forked subtasks, only accessed by owner thread private final List> subtasks =new ArrayList<>(); > > private volatile ThrowablefirstException; > > @Override public boolean onFork(StructuredTaskScope.Subtask subtask) { > if (subtask.state() != StructuredTaskScope.Subtask.State.UNAVAILABLE) {// after `join` you can't use onFork throw new IllegalArgumentException("Subtask not in UNAVAILABLE state"); > } > @SuppressWarnings("unchecked") > var s = (StructuredTaskScope.Subtask) subtask; > subtasks.add(s); > return false; > } > > @Override public boolean onComplete(StructuredTaskScope.Subtask subtask) { > StructuredTaskScope.Subtask.State state = subtask.state(); > if (state == StructuredTaskScope.Subtask.State.UNAVAILABLE) { > throw new IllegalArgumentException("Subtask has not completed");// this shouldn't be reachable I think, but just in case } > > return (state == StructuredTaskScope.Subtask.State.FAILED) > && (firstException ==null) > &&FIRST_EXCEPTION.compareAndSet(this,null, subtask.exception()); > } > > @Override public Result, Throwable> result() { > if (firstException !=null) { > return new Result<>(null,firstException); > } > var results =subtasks.stream() > .filter(t -> t.state() == StructuredTaskScope.Subtask.State.SUCCESS) > .map(StructuredTaskScope.Subtask::get); > return new Result<>(results,null); > } > } -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri Dec 19 18:59:44 2025 From: robaho at me.com (Robert Engels) Date: Fri, 19 Dec 2025 12:59:44 -0600 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Fri Dec 19 19:31:21 2025 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Fri, 19 Dec 2025 20:31:21 +0100 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: I don't think STS is really a special case. The same issue happens in many other places, so - to me - it would feel very out of place that Loom itself has a different error handling mechanism. That is, there is no clearly good solution, because as Alex alluded to it on this thread: If exceptions or error values are better depends on the specific context, not technical details, if the code is parallel or not. Given my experience, most of the time you do prefer exceptions over error values. Though I would love to see a feature in Java, where a function could return an error value, and if it is not handled, then it is automatically turned into an exception. Anyway, let me go through the problems on this small sample code: ``` String run() { try (var scope = StructuredTaskScope.open()) { var results = new ArrayList>(); results.add(scope.fork(() -> 42)); results.add(scope.fork(() -> { throw new RuntimeException("Oh, no!"); })); try { scope.join(); } catch (InterruptedException e) { // I guess cancelled? throw new RuntimeException(e); } catch (StructuredTaskScope.FailedException e) { // ok, we will check. } return results.stream() .map(result -> switch (result.state()) { case SUCCESS -> "Success: " + result.get(); case FAILED -> "Error: " + result.exception().getMessage(); case UNAVAILABLE -> throw new AssertionError("But why?"); }) .collect(Collectors.joining(", ")); } } ``` 1. `InterruptedException`: I do think that thread interrupts are a poor way to manage cancellation. The fact that they are checked is a nightmare, because effectively almost all APIs should prepare for the fact that whatever they do might do something longer, and must be cancelled which would imply that all methods should declare `InterruptedException` (which is of course absurd). Even if STS doesn't pick up the job to bring sane cancellation into the JDK, it should wrap cancellation into a new unchecked exception like `OperationCancelledException` (or something like that). This would not be important, because if later Java decides to introduce better cancellation, then a checked exception will be practically impossible to remove from an API, while an unchecked one could be retrofitted to extend a new one. 2. `StructuredTaskScope.FailedException`: It might look a bit uglier than if `join` returned a boolean or something, but consider the consequence: In many cases people don't want to handle the exception, and just treat it as a (semi-)catastrophic failure, and let some generic loop retry somewhere. Now, if you made it a return value, then suddenly you made things more awkward for the common case for minor gain. Because the main issue with exceptions compared to error values is that the `try-catch` creates a scope, but it is not really an issue here. 3. `State.UNAVAILABLE`: Maybe a bit off-topic, but let me put it here: It is kinda evil in my opinion, because most of the time I would fetch the result after a `join` where that is an impossibility, yet its presence makes switch expressions awkward. It would be nice to have a `ResultState` with only two states `SUCCESS` or `FAILED`. Then of course, the old `State` is not necessary, because it could become just a `boolean isAvailable()` instead. Anyway, if the main issue was that `join` throws an exception on failure rather than signals it through a return value (or similar), then I'm strongly against the return value, because it is not really STS relevant to deliver such a paradigm shift to the JDK, and I would not want STS delivery to be delayed just because of the requirement of introducing a new paradigm which is not directly relevant to STS. Attila Eric Kolotyluk ezt ?rta (id?pont: 2025. dec. 19., P, 5:56): > Hi all, > > I?m starting a new thread to continue a discussion that emerged elsewhere, > per mailing list etiquette, and to give the topic a clean and traceable > home. > > My interest here isn?t reactive to any one exchange. I?ve been > experimenting with Loom since its early iterations, and over time it has > sharpened a concern I already had: whether Java?s traditional exception > model remains the right default abstraction in a world of structured > concurrency, virtual threads, and large-scale composition. > > To be clear, this is not a claim that ?exceptions are broken? or that Java > should abandon them. Java?s exception system has supported billions of > lines of successful code, and I?ve used it productively for decades. > Rather, Loom makes certain trade-offs more visible ? particularly around > control flow, cancellation, failure propagation, and reasoning about > lifetimes ? that were easier to ignore in a purely thread-per-task world. > > The core questions I?m interested in exploring are along these lines: > > - How do unchecked exceptions interact with structured concurrency?s > goal of making lifetimes and failure scopes explicit? > - Do exceptions remain the best abstraction for expected failure in > highly concurrent, compositional code? > - Are there patterns (or emerging idioms) that Loom encourages which > mitigate long-standing concerns with exceptions ? or does Loom expose new > ones? > - More broadly, should Java be thinking in terms of additional > failure-handling tools rather than a single dominant model? > > I?m not advocating a specific alternative here ? just inviting a technical > discussion about whether Loom changes how we should think about error > handling, and if so, how. > > That said, exposure to other ecosystems (e.g., Scala, Kotlin, and more > recently Rust) has broadened how I think about failure modeling. One thing > I?ve consistently appreciated about Java is that it tends to integrate > external ideas deliberately, rather than reflexively rejecting them or > adopting them wholesale. Loom itself is a good example of that approach. > > I?m interested in whether error handling deserves a similar re-examination > in light of Loom?s goals. > > Looking forward to the discussion. > > Cheers, > Eric > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.goetz at oracle.com Fri Dec 19 21:37:58 2025 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 19 Dec 2025 16:37:58 -0500 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> References: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> Message-ID: There's no call for this, and putting "respectfully" on front of it doesn't make it respectful. Eric has been unfailingly constructive, polite, and measured in this thread.? (In fact, all but one of the participants on this thread have been.) On 12/19/2025 1:59 PM, Robert Engels wrote: > Respectfully, can you give it a rest. -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri Dec 19 21:40:26 2025 From: robaho at me.com (Robert Engels) Date: Fri, 19 Dec 2025 15:40:26 -0600 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> Message-ID: <698880CA-E170-4F9C-A802-0994129340BB@me.com> You?re right - putting ?respectfully? in front of something doesn?t make it respectful. Thanks for recognizing this. > On Dec 19, 2025, at 3:37?PM, Brian Goetz wrote: > > There's no call for this, and putting "respectfully" on front of it doesn't make it respectful. Eric has been unfailingly constructive, polite, and measured in this thread. (In fact, all but one of the participants on this thread have been.) > > On 12/19/2025 1:59 PM, Robert Engels wrote: >> Respectfully, can you give it a rest. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri Dec 19 21:53:29 2025 From: robaho at me.com (Robert Engels) Date: Fri, 19 Dec 2025 15:53:29 -0600 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: <698880CA-E170-4F9C-A802-0994129340BB@me.com> References: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> <698880CA-E170-4F9C-A802-0994129340BB@me.com> Message-ID: <6C97EB62-53A2-4EEA-9DE7-08A3A9ACBEF4@me.com> Maybe you need to reread the other thread. Eric?s tone was clearly dismissive of the work of Java engineers, and attempting to blanket change something at the 11th hour is also highly dismissive. Then responding with "Respectfully, I think we?re talking past each other a bit.? because I happened to state I felt Rust?s error handling was horrible - nothing towards Eric whatsoever. So then labelling my comments as ?talking past him? to what degree of respectfulness is that? You can use measured words and still be highly disrespectful - that was my point. It?s the intent not the words. > On Dec 19, 2025, at 3:40?PM, Robert Engels wrote: > > You?re right - putting ?respectfully? in front of something doesn?t make it respectful. Thanks for recognizing this. > >> On Dec 19, 2025, at 3:37?PM, Brian Goetz wrote: >> >> There's no call for this, and putting "respectfully" on front of it doesn't make it respectful. Eric has been unfailingly constructive, polite, and measured in this thread. (In fact, all but one of the participants on this thread have been.) >> >> On 12/19/2025 1:59 PM, Robert Engels wrote: >>> Respectfully, can you give it a rest. >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidalayachew at gmail.com Sat Dec 20 00:26:46 2025 From: davidalayachew at gmail.com (David Alayachew) Date: Fri, 19 Dec 2025 19:26:46 -0500 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: <6C97EB62-53A2-4EEA-9DE7-08A3A9ACBEF4@me.com> References: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> <698880CA-E170-4F9C-A802-0994129340BB@me.com> <6C97EB62-53A2-4EEA-9DE7-08A3A9ACBEF4@me.com> Message-ID: I don't know about clearly. Intent over text is hard to parse, but my reading of it was that they just didn't get the point of using exceptions the way STS does, and if it truly is the best. Sure, suggesting a solution immediately after that is somewhat dismissive, but if someone starts off by acknowledging that they are ignorant on the subject and want context, then tbh, it's kind of our job to look past that dismissiveness as unintentional and just address the point. And let's be frank, we have all done the same our first few times on the mailing list. On Fri, Dec 19, 2025 at 4:53?PM Robert Engels wrote: > Maybe you need to reread the other thread. Eric?s tone was clearly > dismissive of the work of Java engineers, and attempting to blanket change > something at the 11th hour is also highly dismissive. > > Then responding with "Respectfully, I think we?re talking past each other > a bit.? because I happened to state I felt Rust?s error handling was > horrible - nothing towards Eric whatsoever. So then labelling my comments > as ?talking past him? to what degree of respectfulness is that? > > You can use measured words and still be highly disrespectful - that was my > point. It?s the intent not the words. > > On Dec 19, 2025, at 3:40?PM, Robert Engels wrote: > > You?re right - putting ?respectfully? in front of something doesn?t make > it respectful. Thanks for recognizing this. > > On Dec 19, 2025, at 3:37?PM, Brian Goetz wrote: > > There's no call for this, and putting "respectfully" on front of it > doesn't make it respectful. Eric has been unfailingly constructive, > polite, and measured in this thread. (In fact, all but one of the > participants on this thread have been.) > > On 12/19/2025 1:59 PM, Robert Engels wrote: > > Respectfully, can you give it a rest. > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at kolotyluk.net Sat Dec 20 03:52:08 2025 From: eric at kolotyluk.net (Eric Kolotyluk) Date: Fri, 19 Dec 2025 19:52:08 -0800 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> References: <3E46B558-0957-4AD3-AB58-E444E7056174@me.com> Message-ID: <0ac691b0-779a-4701-9a4f-318d2f4d6f98@kolotyluk.net> For clarity, this line of thought originally arose from questions around outcome aggregation and failure representation in the context of Loom?s StructuredTaskScope, particularly when reasoning about multiple concurrent subtasks and their combined results. The sketch above is not intended to suggest changes to Loom or to structured concurrency APIs, but simply reflects how thinking through that specific context led me to explore more general value-oriented outcome modeling as a way to reason about the trade-offs discussed. I?m not proposing this as a solution, nor suggesting that such an abstraction should exist; this was simply a way for me to think more concretely about the design space and the trade-offs discussed in the thread. If nothing else, I found the exercise useful for clarifying where value-oriented outcomes align well with Java?s existing idioms, and where they introduce tension. I?ll defer to the architects? judgment on whether any of this is worth revisiting now or in the future, and appreciate the perspectives shared in helping me better understand the constraints involved. Note: I am content with these */not/*being extensible by mere mortals, but maintained and extended through the exclusive diligence of the Java Language Architects. Even when using value-oriented outcomes such as Result, callers must still be prepared for exceptions to be thrown, whether due to programming errors, contract violations, cancellation, or JVM-level conditions. This sketch is not intended to eliminate or replace Java?s exception model, but to complement it where expected failure can be modeled explicitly as data. package java.util; import java.util.function.Function; public sealed interface Result ? ? ? ? permits Result.Success, Result.Failure { ? ? // --- Variants --- ? ? record Success(V value) implements Result {} ? ? record Failure(F failure) implements Result {} ? ? // --- Constructors --- ? ? static Result success(V value) { ? ? ? ? return new Success<>(value); ? ? } ? ? static Result failure(F failure) { ? ? ? ? return new Failure<>(failure); ? ? } ? ? // --- Introspection --- ? ? default boolean isSuccess() { ? ? ? ? return this instanceof Success; ? ? } ? ? default boolean isFailure() { ? ? ? ? return this instanceof Failure; ? ? } ? ? // --- Core transforms --- ? ? default Result map(Function mapper) { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> ? ? ? ? ? ? ? ? ? ? Result.success(mapper.apply(value)); ? ? ? ? ? ? case Failure(var failure) -> ? ? ? ? ? ? ? ? ? ? Result.failure(failure); ? ? ? ? }; ? ? } ? ? default Result mapFailure(Function mapper) { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> ? ? ? ? ? ? ? ? ? ? Result.success(value); ? ? ? ? ? ? case Failure(var failure) -> ? ? ? ? ? ? ? ? ? ? Result.failure(mapper.apply(failure)); ? ? ? ? }; ? ? } ? ? default Result flatMap( ? ? ? ? ? ? Function> mapper) { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> ? ? ? ? ? ? ? ? ? ? mapper.apply(value); ? ? ? ? ? ? case Failure(var failure) -> ? ? ? ? ? ? ? ? ? ? Result.failure(failure); ? ? ? ? }; ? ? } ? ? // --- Extraction --- ? ? default V orElse(V fallback) { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> value; ? ? ? ? ? ? case Failure(var failure) -> fallback; ? ? ? ? }; ? ? } ? ? default V orElseGet(Function fallback) { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> value; ? ? ? ? ? ? case Failure(var failure) -> fallback.apply(failure); ? ? ? ? }; ? ? } ? ? default V orElseThrow( ? ? ? ? ? ? Function toException) throws X { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> value; ? ? ? ? ? ? case Failure(var failure) -> ? ? ? ? ? ? ? ? ? ? throw toException.apply(failure); ? ? ? ? }; ? ? } ? ? // --- Optional interop --- ? ? static Result fromOptional(Optional optional, F failureIfEmpty) { ? ? ? ? return optional ? ? ? ? ? ? ? ? .>map(Result::success) ? ? ? ? ? ? ? ? .orElseGet(() -> Result.failure(failureIfEmpty)); ? ? } ? ? static Result requirePresent( ? ? ? ? ? ? Result, F> result, ? ? ? ? ? ? F failureIfEmpty) { ? ? ? ? return result.flatMap(opt -> ? ? ? ? ? ? ? ? opt.>map(Result::success) ? ? ? ? ? ? ? ? ? ?.orElseGet(() -> Result.failure(failureIfEmpty))); ? ? } ? ? // --- Exception bridge --- ? ? @FunctionalInterface ? ? interface ThrowingSupplier { ? ? ? ? T get() throws Throwable; ? ? } ? ? static Result catching(ThrowingSupplier supplier) { ? ? ? ? try { ? ? ? ? ? ? return Result.success(supplier.get()); ? ? ? ? } catch (Throwable t) { ? ? ? ? ? ? return Result.failure(t); ? ? ? ? } ? ? } ? ? // --- Lossy projections --- ? ? default Optional success() { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> Optional.ofNullable(value); ? ? ? ? ? ? case Failure(var failure) -> Optional.empty(); ? ? ? ? }; ? ? } ? ? default Optional failure() { ? ? ? ? return switch (this) { ? ? ? ? ? ? case Success(var value) -> Optional.empty(); ? ? ? ? ? ? case Failure(var failure) -> Optional.ofNullable(failure); ? ? ? ? }; ? ? } } example switch (result) { ? ? case Result.Success(var value)? ?-> use(value); ? ? case Result.Failure(var failure) -> handle(failure); } Notes: * The name java.util.Result may collide with the existing java.xml.transform.Result (formerly javax.xml.transform.Result). This is not a hard conflict, but it does introduce potential import ambiguity and would need to be weighed. * The example switch uses record patterns and pattern matching for switch, which assumes availability of the relevant language features (currently preview / release-dependent). * Null handling is unspecified. As written, both Success(null) and Failure(null) are possible, and the lossy projections (success() / failure()) would treat null as absence. A real API would likely want to either forbid nulls or explicitly document this behavior. * The instance methods success() and failure() (lossy projections to Optional) share names with the static factory methods success(V) / failure(E). This is legal but may be a source of confusion and could merit different naming. * The catching helper currently captures all Throwable, including Error. This is intentional for discussion, but in a real API it would likely raise questions about whether to catch Exception only, or to offer separate variants. * The ThrowingSupplier interface is included as a convenience placeholder. The JDK may or may not want to introduce an additional throwing functional interface in java.util. * Providing mapFailure naturally raises questions about whether complementary recovery helpers (e.g., recover, recoverWith) should exist. They are intentionally omitted here to keep the surface area minimal. * The Optional interop helpers (fromOptional, requirePresent) are intended to clarify the distinction between ?operation failed? and ?operation succeeded but value is absent,? rather than to suggest a particular modeling style. Cheers, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Sat Dec 20 09:01:53 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Sat, 20 Dec 2025 09:01:53 +0000 Subject: Rethinking Exceptions in the Context of Loom and Structured Concurrency In-Reply-To: References: Message-ID: On 19/12/2025 19:31, Attila Kelemen wrote: > : > > 3. `State.UNAVAILABLE`: Maybe a bit off-topic, but let me put it here: > It is kinda evil in my opinion, because most of the time I would fetch > the result after a `join` where that is an impossibility, yet its > presence makes switch expressions awkward. It would be nice to have a > `ResultState` with only two states `SUCCESS` or `FAILED`. Then of > course, the old `State` is not necessary, because it could become just > a `boolean isAvailable()` instead. > Cancellation and short circuiting means the scope may be cancelled during the "forking phase" or while subtasks are running. There may even be a few stragglers that are slow to respond to the request to finish and continue concurrently with the code that executes after join. So several cases where is no result or exception. Mapping "did not run", "cancelled" and other states to FAILED is problematic, as is introducing further states. (If I read your example correctly then it just wants to cancel when any subtask fails but it doesn't want the scope (or join) to fail. In that case, `Joiner.allUntil(s -> s.state() == Subtask.State.FAILED)` should reduce it down. No need to keep a reference to the subtasks, no need for the results list, and the handling of FailException goes away to). The result from join will be the list of subtasks that can be filtered to exclude the UNAVAILABLE then partitioned into the success + failed buckets.) -Alan.