RFR: 8318839: Update test thread factory to catch all exceptions

David Holmes dholmes at openjdk.org
Fri Oct 27 05:58:32 UTC 2023


On Wed, 25 Oct 2023 21:08:01 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:

> The jtreg starts the main thread in a separate ThreadGroup and checks unhandled exceptions for this group. However, it doesn't catch all unhandled exceptions. There is a jtreg issue for this https://bugs.openjdk.org/browse/CODETOOLS-7903526.
> Catching such issues for virtual threads is important because they are not included in any groups. So this fix implements the handler for the test thread factory. 
> 
> A few tests start failing.
> 
> The test
> serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java
> has testcases for platform and virtual threads. So, there is there's no need to run it with the thread factory.
> 
> The test
> java/lang/Thread/virtual/ThreadAPI.java
> tests UncaughtExceptionHandler and virtual threads. No need to run it with a thread factory.
> 
> Test 
> test/jdk/java/util/concurrent/tck/ThreadTest.java is updated to not check the default empty handler.
> 
> Probably, we need some common approach about dealing with the UncaughtExceptionHandler in jtreg.

Not at all sure this is the right approach ... an exception in an arbitrary thread should not terminate the VM. Sometimes we might expect a thread to terminate by exception.

-------------

PR Review: https://git.openjdk.org/jdk/pull/16369#pullrequestreview-1701043216


More information about the core-libs-dev mailing list