JDK-8030192 : TEST_BUG: java/util/logging/TestLoggerBundleSync.java failed with NPE
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util.logging
  • Affected Version: 7,8
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-12-16
  • Updated: 2016-06-13
  • Resolved: 2013-12-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
7u76Fixed 8u20Fixed 9 b01Fixed
Related Reports
Relates :  
Relates :  

No security
4000 ms elapsed (4000 requested)
Passed: 276 unique loggers created
	 3216 loggers tested by 3 Thread(s),
	 6876 resource bundles set by 3 Thread(s),
	 6878 resource bundle names set by 3 Thread(s),
	 ThreadMXBean.findDeadlockedThreads called 35 times by 1 Thread.

With security
2995 ms elapsed (4000 requested)
Dec 14, 2013 2:18:43 AM TestLoggerBundleSync$Stopper run
INFO: 3988ms remaining...
Dec 14, 2013 2:18:45 AM TestLoggerBundleSync$Stopper run
INFO: 1323ms remaining...
Dec 14, 2013 2:18:46 AM TestLoggerBundleSync$Stopper run
INFO: 316ms remaining...
Dec 14, 2013 2:18:47 AM TestLoggerBundleSync$Stopper run
INFO: 3999ms remaining...
Dec 14, 2013 2:18:48 AM TestLoggerBundleSync$Stopper run
INFO: 2900ms remaining...
Dec 14, 2013 2:18:49 AM TestLoggerBundleSync$Stopper run
INFO: 1805ms remaining...
	at TestLoggerBundleSync$GetRB.run(TestLoggerBundleSync.java:239)
	at TestLoggerBundleSync$GetRB.run(TestLoggerBundleSync.java:239)

appeared after fix of: JDK-8029281 (Synchronization issues in Logger and LogManager)

seen in jdk7u testing. Will backport.

This is another case of loggers being too eagerly gc'ed. The issue is in the test. I managed to reproduce it quite reliably (though it takes some times) by running the test into a shell while loop - with -server -Xcomp options as SQE seems to be using. I then modified the test to make sure the logger will not be gc'ed - by explicitly using it again at the end of the test - and since then haven't managed to trigger the issue again. So I think my analysis is correct. Will add some more debug traces to the test though - just in case.