Red Hat Bugzilla – Bug 903282
libvirtd from git segfaults on shutdown in _dbus_warn_check_failed
Last modified: 2014-04-04 18:56:10 EDT
Cloning to RHEL
+++ This bug was initially created as a clone of Bug #903184 +++
Description of problem:
libvirt compiled from git (55bfd020d8d9de40977832c4762728090df2bee3).
Run the daemon like this:
$ ./run gdb --args ./daemon/libvirtd --timeout 30
Run libguestfs-test-tool against this daemon so that a single
transient guest is created and destroyed.
Wait 30 seconds for libvirtd to timeout and exit.
#0 0x000000328c635ba5 in __GI_raise (sig=sig@entry=6)
#1 0x000000328c637358 in __GI_abort () at abort.c:90
#2 0x0000003291e30ab5 in _dbus_abort () at dbus-sysdeps.c:94
#3 0x0000003291e27545 in _dbus_warn_check_failed (
format=0x3291e325b8 "Attempt to remove filter function %p user data %p, but no such filter has been added\n") at dbus-internals.c:290
#4 0x00007fffea28c710 in nwfilterDriverShutdown ()
#5 0x00007ffff777e89f in virStateCleanup () at libvirt.c:846
#6 0x000000000040c823 in main (argc=<optimized out>, argv=<optimized out>)
Version-Release number of selected component (if applicable):
libvirt from git (55bfd020d8d9de40977832c4762728090df2bee3)
Happened 3 times for me.
--- Additional comment from Daniel Berrange on 2013-01-23 05:20:34 MST ---
Yep, I've just seen that problem too & am investigating it
--- Additional comment from Daniel Berrange on 2013-01-23 05:25:17 MST ---
Oh btw the problem likely exists in previous libvirt, but we were missing the virStateCleanup call for a few releases, which would have avoided triggering the problem
--- Additional comment from Daniel Berrange on 2013-01-23 07:20:57 MST ---
Fixed in GIT with
Author: Daniel P. Berrange <firstname.lastname@example.org>
Date: Wed Jan 16 13:12:16 2013 +0000
Fix nwfilter driver reload/shutdown handling when unprivileged
Although the nwfilter driver skips startup when running in a
session libvirtd, it did not skip reload or shutdown. This
caused errors to be reported when sending SIGHUP to libvirtd,
and caused an abort() in libdbus on shutdown due to trying
to remove a dbus filter that was never added
--- Additional comment from Eric Blake on 2013-01-23 08:32:11 MST ---
I'm backporting this to v0.10.2-maint, and leaving it in POST until F18 picks up the fix.
I've confirmed that the bug was introduced in v0.10.0 (commit f8ab364), and therefore RHEL 6.4 is vulnerable. However, the bug is masked by the fact that we don't clean up properly, so I'm not sure how urgent it is to backport a fix. The backport would consist of the following patches (already upstream, and also in upstream v0.10.2-maint):
aafe419 - drop dead code introduced in commit f8ab364
47e1767 - expose the latent problem
abbec81 - fix the actual bug
I can't see anything critical to clean up during virStateCleanup(), and without that patch, we don't crash; so I think this patch is not urgent, and best picked up in 6.5. Since we will rebase for 6.5, I'm moving this to post.
http://post-office.corp.redhat.com/archives/rhvirt-patches/2013-June/msg00027.html if backporting rather than rebasing
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.