[PING] Re: RFR: 8146009: "pure virtual method called" with using new GC logging mechanism

Dmitry Samersoff dmitry.samersoff at oracle.com
Wed Oct 12 09:00:55 UTC 2016


Marcus,

This version looks good for me.

-Dmitry

On 2016-10-12 11:42, Marcus Larsson wrote:
> Any further comments on the updated patch?
> 
> Marcus
> 
> 
> On 10/10/2016 11:20 AM, Marcus Larsson wrote:
>> Updated webrev after feedback:
>> http://cr.openjdk.java.net/~mlarsson/8146009/webrev.01
>>
>> Incremental:
>> http://cr.openjdk.java.net/~mlarsson/8146009/webrev.00-01
>>
>>
>> On 10/07/2016 04:26 PM, Marcus Larsson wrote:
>>> Hi,
>>>
>>> Making another attempt to fix this issue.
>>>
>>> Summary:
>>> The following patch resolves a problem where the VM would crash
>>> during shutdown due to static log related memory being de-initialized
>>> before the last use of the logging framework. The solution involves
>>> parts of the Nifty Counter idiom [0] to control static initialization
>>> and de-initialization of stdout's and stderr's LogOutputs. Both
>>> objects are now allocated using placement new, and avoids destructor
>>> calls during de-initialization. The LogStreamInitializer makes sure
>>> both objects are initialized before first use.
>>>
>>> Because the LogOutput::Stdout/err pointers could no longer be kept in
>>> LogOutput, I've replaced all usages of them with the new references
>>> instead.
>>>
>>> The patch includes a regression test for this issue, contributed by
>>> Michail Chernov.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~mlarsson/8146009/webrev.00
>>>
>>> Issue:
>>> https://bugs.openjdk.java.net/browse/JDK-8146009
>>>
>>> Testing:
>>> JPRT testset hotspot, included test on supported platforms.
>>>
>>> Thanks,
>>> Marcus
>>>
>>> [0] https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter
>>
> 


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the hotspot-dev mailing list