[PING] Re: RFR: 8146009: "pure virtual method called" with using new GC logging mechanism
Marcus Larsson
marcus.larsson at oracle.com
Wed Oct 12 08:42:52 UTC 2016
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
>
More information about the hotspot-dev
mailing list