[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/4] libxl: event handling: Add an assert to egc_run_callbacks



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.Jackson@xxxxxxxxxxxxx>
> CC: Ian Campbell <ian.campbell@xxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> CC: Jim Fehlig <jfehlig@xxxxxxxx>

Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>

> ---
>  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@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.