On Tue, 12 Sep 2023 12:23:40 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

>> See the bug for stack traces. This causes a very intermittent test failure: 
>> when we call for `LOGGER.info` from our custom security manager, it goes 
>> into formatter, which loads locale data, which causes class load, which goes 
>> back to this custom security manager, starting the loop again. 
>> 
>> I think we get lucky most of the time to load the relevant classes outside 
>> this path. But sometimes, we don't get as lucky.
>> 
>> Additional testing:
>>  - [x] 100x iterations of 
>> [JDK-8315640](https://bugs.openjdk.org/browse/JDK-8315640) reproducer
>
> test/jdk/java/net/spi/InetAddressResolverProvider/RuntimePermissionTest.java 
> line 89:
> 
>> 87:             if (permission instanceof RuntimePermission) {
>> 88:                 if (RUNTIME_PERMISSION_NAME.equals(permission.getName()) 
>> && !permitInetAddressResolver) {
>> 89:                     LOGGER.info("Denying '" + RUNTIME_PERMISSION_NAME + 
>> "' permission");
> 
> Hello Aleksey, wouldn't this logger statement have the same issue as the one 
> that was outside the if block? Should this logger message be removed too?

Nope, because this one is gated by `RUNTIME_PERMISSION_NAME`, which is 
`inetAddressResolverProvider`. This does not form the cycle. It is the other 
path that gets us in trouble.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15681#discussion_r1322961766

Reply via email to