RFR: java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java failing again

Mandy Chung mandy.chung at oracle.com
Thu Dec 19 16:39:36 UTC 2013


On 12/19/2013 3:04 AM, Daniel Fuchs wrote:
> On 12/18/13 9:35 PM, Mandy Chung wrote:
>>
>> On 12/17/2013 3:57 AM, Daniel Fuchs wrote:
>>> Hi,
>>>
>>> Please find below a fix for what I believe is a test bug.
>>> I plan to push this in JDK 9 dev.
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8030187
>>>
>>> This seems to be a very intermittent failure.
>>> It looks as if a logger held in a local variable can be
>>> arbitrarily garbage collected if that variable is no longer
>>> used.
>>> To prevent arbitrary garbage collection of such loggers, the fix
>>> makes sure to use the variable again at the end of the test.
>>>
>>
>> Looks like running the test in -Xcomp and also with jtreg creates
>> pressure to the young gen and more object allocation failure and so
>> unreachable objects get collected in the middle of a small method body
>> (like in this case).
>>
>> You added code to reference the local variables referencing the
>> loggers.  Would it be simpler to have this test  just to hold a strong
>> reference to the logger?
>
> Hmmm. I don't think it would be simpler. I could have added an
> array list of loggers and cleared that at the end of the test.
> It would just have been another way of making sure that the
> loggers weren't gc'ed.

Are you concerned that a static/instance field holding the loggers gets 
GC'ed if not referenced before the test method returns?   They should be 
only collected when the class/instance becomes unreachable and it 
shouldn't be an issue (as do in other tests).

I'm fine with what you have.

Mandy



More information about the core-libs-dev mailing list