RFR: JDK-8014045 - test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java failing intermittently

Mandy Chung mandy.chung at oracle.com
Thu Jun 13 20:05:21 UTC 2013


Daniel,

I wonder what the list of logger names (loggers1 and loggers2) returned 
by LoggingMXBean contains and that may include loggers in the running VM 
other than the ones created and kept a strong reference by the test.   
In other words,  would it be possible for the running VM that has 
loggers that are not created by the test and got GC'ed?

Mandy

On 6/13/2013 6:47 AM, Daniel Fuchs wrote:
> Hi,
>
> Please find below an attempt at fixing
> test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
>
> This is an intermittent failure which I haven't managed to reproduce,
> so I am reduced to figure out what could have gone wrong by analyzing
> the code.
>
> AFAICT the NPE is thrown when LoggingMXBean.getLogerLevel(logger)
> returns null - which I believe can only happen
> when LogManager.getLogger() returns null.
>
> I see that LogManager uses weak references to hold loggers - so my
> suspicion is that one of the logger whose name had been returned by
> getLoggerNames() has been gc'ed in between the two calls.
>
> I have modified the code to accept this possibility - excluding the
> two loggers for which the test itself holds a strong reference, as
> these should not have been gc'ed.
>
> I can't guarantee that it will fix the issue, but if it does not,
> we will at least be able to disregard this possibility :-)
>
> <http://cr.openjdk.java.net/~dfuchs/JDK-8014045/webrev.00/>
>
> -- daniel




More information about the core-libs-dev mailing list