RFR: 8314263: Signed jars triggering Logger finder recursion and StackOverflowError [v2]

Jaikiran Pai jpai at openjdk.org
Fri Aug 25 11:26:10 UTC 2023


On Thu, 24 Aug 2023 10:54:19 GMT, Sean Coffey <coffeys at openjdk.org> wrote:

>> Recursive initialization calls possible during loading of LoggerFinder service.  
>> 
>> This fix detects the recursive call and returns a temporary LoggerFinder that is backed by a lazy logger. Automated test case developed to simulate loading of an external LoggerFinder service while also having other threads poke System.getLogger during this framework initialization.
>
> Sean Coffey has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Improve test coverage
>  - Incorporate review comments from Daniel

test/jdk/java/lang/System/LoggerFinder/SignedLoggerFinderTest/SignedLoggerFinderTest.java line 122:

> 120:                             Thread.sleep(sleep);
> 121:                         } catch (InterruptedException e) {
> 122:                             throw new RuntimeException(e);

Given that this will end up being thrown from a `Thread`, this will end up being an uncaught exception and handled by a `UncaughtExceptionHandler` (I don't remember if/what jtreg sets it to). The default `ThreadGroup` UncaughtExceptionHandler, just logs to System.err such exceptions https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/ThreadGroup.java#L697. Just noting it here, in case you want to do this differently if you want this exception to fail the test.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15404#discussion_r1305534996


More information about the core-libs-dev mailing list