RFR: 8257228: G1: SIGFPE in G1ConcurrentRefine::create(int*) due to buffers_to_cards overflow [v3]

Kim Barrett kbarrett at openjdk.java.net
Mon Nov 30 09:49:56 UTC 2020


On Mon, 30 Nov 2020 09:43:26 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

>> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix build error without PCH
>
> Changes requested by kbarrett (Reviewer).

> The mul-overflow checking had been fixed.
> The error msg had been refined.

These updates look okay.

> For the sake of maintenance, I didn't use constraint function.
> 
> There are quite a few flags involved in it such as:
> 
> [...]
> 
> Maybe, you can add the constraint function for each of them this time.
> But, when a new flag is used in the future, the constraint function may be missed.
> Also, it seems a little strange to add this kind of constraints to flags like ParallelGCThreads.
> So I prefer to fixing it in buffers_to_cards.

The constraint function could be on G1UpdateBufferSize, checking each of
those other values for being not too large for its given value.  But I agree
that a constraint function is far away, so the improved buffers_to_cards
does seem better.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1489


More information about the hotspot-gc-dev mailing list