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