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