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

Thomas Schatzl thomas.schatzl at oracle.com
Tue Jul 26 08:36:36 UTC 2016


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