RFR: JDK-8077265 Modify assert to help debug JDK-8068448
Eric Caspole
eric.caspole at oracle.com
Fri Apr 10 13:15:17 UTC 2015
I don't want to make sweeping changes to try to debug what seems like a
race.
If you dont like the macro in psOldGen I will remove it and just go on
with the original one.
Eric
On 4/10/2015 4:43 AM, Stefan Karlsson wrote:
> On 2015-04-09 22:17, Eric Caspole wrote:
>> Hi everybody,
>> I updated this so the psOldGen part use a macro as Stefan suggested.
>> The assert in psPromotionLAB.hpp is allocating out of an already
>> allocated PLAB, so I don't think that one will ever be hit but I want
>> it there just in case.
>> And as Jesper suggested I made the message more helpful in the
>> original place.
>>
>> http://cr.openjdk.java.net/~ecaspole/JDK-8077265/01/webrev/
>
> I had hoped you would use the new define for all assert, but you've
> only used it for two out of four. If you're not going to use the same
> macro for all usages, it doesn't seem worth having.
>
> http://cr.openjdk.java.net/~ecaspole/JDK-8077265/01/webrev/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp.udiff.html
>
>
> It seems to me that we could refactor allocate_noexpand and
> cas_allocate_noexpand to use a common function to do the assert and
> update the start array. That way you could get rid of the macro you
> added.
>
> Thanks,
> StefanK
>
>>
>> Passes JPRT.
>> Thanks,
>> Eric
>>
>> On 4/9/2015 10:01 AM, Stefan Karlsson wrote:
>>> Hi Eric,
>>>
>>> On 2015-04-09 15:19, Eric Caspole wrote:
>>>> HI everybody,
>>>> Here is a webrev to add more asserts related to debugging
>>>> JDK-8068448. Beyond capturing more info in the original assert,
>>>> after looking at another core I added more asserts to make sure
>>>> there is no other place where old gen allocations would overrun the
>>>> start array.
>>>
>>> Why didn't these two new asserts get the same, more informative,
>>> error message as the first assert you changed? Maybe you could
>>> extract the check out to a helper macro that prints the relevant
>>> information?
>>>
>>> Another point that Bengt mentioned yesterday, is that we don't
>>> really need to print the old_gen part of the assert. It's already
>>> printed in the hs_err file.
>>>
>>> Thanks,
>>> StefanK
>>>
>>>>
>>>> http://cr.openjdk.java.net/~ecaspole/JDK-8077265/00/webrev/
>>>>
>>>> Passes JPRT.
>>>> Thanks,
>>>> Eric
>>>
>>
>
More information about the hotspot-gc-dev
mailing list