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


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?


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