On Fri, Apr 01, 2022 at 10:33:10AM -0400, Jason Andryuk wrote: > I've observed this failed assertion: > libxl_event.c:2057: libxl__ao_inprogress_gc: Assertion `ao' failed. > > AFAICT, this is happening in qmp_proxy_spawn_outcome where > sdss->qmp_proxy_spawn.ao is NULL. > > The out label of spawn_stub_launch_dm() calls qmp_proxy_spawn_outcome(), > but it is only in the success path that sdss->qmp_proxy_spawn.ao gets > set to the current ao. > > qmp_proxy_spawn_outcome() should instead use sdss->dm.spawn.ao, which is > the already in-use ao when spawn_stub_launch_dm() is called. The same > is true for spawn_qmp_proxy(). > > With this, move sdss->qmp_proxy_spawn.ao initialization to > spawn_qmp_proxy() since its use is for libxl__spawn_spawn() and it can > be initialized along with the rest of sdss->qmp_proxy_spawn. > > Fixes: 83c845033dc8 ("libxl: use vchan for QMP access with Linux stubdomain") > Signed-off-by: Jason Andryuk <jandr...@gmail.com>
Reviewed-by: Anthony PERARD <anthony.per...@citrix.com> Thanks, -- Anthony PERARD