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 <[email protected]>
Reviewed-by: Anthony PERARD <[email protected]>
Thanks,
--
Anthony PERARD