Request for Review (xs) - 8159073: Error handling incomplete when creating GC threads lazily

Jon Masamitsu jon.masamitsu at oracle.com
Tue Jul 26 15:36:10 UTC 2016


Thomas,

Thanks.

Jon

On 7/26/2016 1:36 AM, Thomas Schatzl wrote:
> Hi Jon,
>
> On Mon, 2016-07-25 at 15:43 -0700, Jon Masamitsu wrote:
>>
>> On 07/21/2016 06:57 AM, Thomas Schatzl wrote:
>>> Hi Jon,
>>>
>>>
> [...]
>>>> Delta: http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_02_
>>>> 03/
>>>> Full: http://cr.openjdk.java.net/~jmasa/8159073/webrev.03/
>>>>
>>>> Thanks.
>>>    looks good, ship it :)
>>   
>> When I ran tests which injected  thread creation failure, this
>> guarantee failed.
>>
>> diff --git a/src/share/vm/gc/shared/workgroup.cpp
>> b/src/share/vm/gc/shared/workgroup.cpp
>> --- a/src/share/vm/gc/shared/workgroup.cpp
>> +++ b/src/share/vm/gc/shared/workgroup.cpp
>> @@ -276,7 +276,6 @@
>>     guarantee(num_workers > 0, "Trying to execute task %s with zero
>> workers", task->name());
>>     uint old_num_workers = _active_workers;
>>     update_active_workers(num_workers);
>> -  guarantee(_active_workers == num_workers, "active workers %u
>> num_workers %u", _active_workers, num_workers);
>>     _dispatcher->coordinator_execute_on_workers(task, num_workers);
>>     update_active_workers(old_num_workers);
>>   }
>>
>> "num_workers" was 2 and the update_active_workers() failed to create
>> an
>> additional thread so "_active_workers" remained at 1.  I deleted the
>> guarantee.
>>
>> http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_03_04/
>    looks good.
>
> Thomas
>




More information about the hotspot-gc-dev mailing list