On Fri, 3 Nov 2023 03:44:31 GMT, Leonid Mesnik <lmes...@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.
>
> Leonid Mesnik has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Replaced System.exit() with exception.

I updated the test thread factory to check if there are unhandled exceptions 
after the test is completed. It now works similarly to what I plan to fix in 
jtreg. So the purpose of this fix is to catch all exceptions with factory 
enabled and also to "pre-test" jtreg fix in some cases.

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

PR Comment: https://git.openjdk.org/jdk/pull/16369#issuecomment-1791859353

Reply via email to