glib crash via eventtest.c
Daniel P. Berrangé
berrange at redhat.com
Mon Feb 10 18:20:46 UTC 2020
On Mon, Feb 10, 2020 at 01:13:55PM -0500, Cole Robinson wrote:
> I attempted to review some patches on Friday and started hitting
> occasional crashes via eventtest.c. Long story short it's a glib bug:
>
> https://gitlab.gnome.org/GNOME/glib/merge_requests/1358
>
> It's a ref counting issue caused when g_source_remove
> (virEventRemoveHandle) is called from one thread, while the main loop is
> in a particular state in a different thread.
>
> The way vireventglib is implemented means every user initiated
> g_source_remove is likely called from a different thread so we risk
> hitting this. Not sure how likely it is in realworld usage,
> vireventtest.c is pretty pathologic in this area. We could change
> vireventglib.c to do the final source_unref from the idle callback which
> would avoid the problem
I think libvirtd itself is fairly pathological wrt event loop too, so
we ought to try to workaround it IMHO.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list