RFR: JDK-8077265 Modify assert to help debug JDK-8068448
Stefan Karlsson
stefan.karlsson at oracle.com
Fri Apr 10 13:19:25 UTC 2015
On 2015-04-10 15:15, Eric Caspole wrote:
> 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.
Sounds good to me.
StefanK
> 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