[libvirt] [Xen-devel] [PATCH 0/2] libxl: fix handling of fd and timer registrations

Jim Fehlig jfehlig at suse.com
Mon Feb 9 16:21:14 UTC 2015


Anthony PERARD wrote:
> On Mon, Feb 02, 2015 at 05:00:34PM -0700, Jim Fehlig wrote:
>   
>> This small series fixes some assertions we occasionally see in the
>> libxl driver when running libvirt-TCK.  The assertions were due to
>> races between destroying per-domain libxl_ctx and receiving fd and
>> timer callbacks associated with them.  The races are masked by
>> setting DEBUG loglevel in libvirtd.conf, so often missed by
>> automated test setups that want DEBUG loglevel.
>>
>> Patch 1 actually fixes the assertions.  Patch2 fixes a stupid mistake.
>> See the commit messages for details.
>>
>> Jim Fehlig (2):
>>   libxl: fix fd and timer event handling
>>   libxl: Move setup of child processing code to driver initialization
>>
>>  src/libxl/libxl_domain.c | 244 +----------------------------------------------
>>  src/libxl/libxl_driver.c | 212 +++++++++++++++++++++++++++++++++++++++-
>>  2 files changed, 212 insertions(+), 244 deletions(-)
>>     
>
> Hi Jim,
>
> I gave a try to those two patches with OpenStack. Assuming I haven't make any
> mistake, it make things worse.
>   

Thanks Anthony.  I've cooked up a simpler reproducer and will
investigate.  I do think these patches are an improvement, but they've
obviously uncovered a locking issue in the driver.

Regards,
Jim

> Environment:
>   Ubuntu 14.04
>   with Xen package install (xen 4.4)
>   libvirt: master (47dd6c4)
>   Installed OpenStack via DevStack
>
> Test: ./run_tempest.sh tempest.api.compute
>
> Result:
> without the patches, the tests run fine, they all succeed.
> with the patches, the tests fail AND libvirt became unresponsible.
>   Running `virsh -c xen: list` does not return. (or any virsh command)
>
> I have attach a backtrace, if that can help.
>
>   




More information about the libvir-list mailing list