On Mon, Feb 09, 2015 at 03:51:09PM +0000, Ian Jackson wrote: > Check that the ao is still live when we are about to running some of > its callbacks. > > This reveals an existing bug in libxl which is exercised by libvirt, > converting > libvirtd: libxl_event.c:1792: libxl__ao_complete_check_progress_reports: > Assertion `ao->in_initiator' failed. > into > libvirtd: libxl_event.c:1338: egc_run_callbacks: Assertion `aop->ao->magic > == 0xA0FACE00ul' failed. > > Signed-off-by: Ian Jackson <ian.jack...@eu.citrix.com> > CC: Ian Campbell <ian.campb...@citrix.com> > CC: Wei Liu <wei.l...@citrix.com> > CC: Jim Fehlig <jfeh...@suse.com>
Acked-by: Wei Liu <wei.l...@citrix.com> > --- > tools/libxl/libxl_event.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c > index 0d874d9..ae73728 100644 > --- a/tools/libxl/libxl_event.c > +++ b/tools/libxl/libxl_event.c > @@ -1335,6 +1335,7 @@ static void egc_run_callbacks(libxl__egc *egc) > aop->how->callback(CTX, aop->ev, aop->how->for_callback); > > CTX_LOCK; > + assert(aop->ao->magic == LIBXL__AO_MAGIC); > aop->ao->progress_reports_outstanding--; > libxl__ao_complete_check_progress_reports(egc, aop->ao); > CTX_UNLOCK; > -- > 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel