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