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