Bug 875033

Summary: Virtualization tools built on Rawhide are blowing up with rtnl_tc_register: Assertion `0'
Product: [Fedora] Fedora Reporter: Daniel Walsh <dwalsh>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: berrange, clalancette, crobinso, dcbw, itamar, jforbes, jyang, laine, libvirt-maint, nhorman, tgraf, veillard, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-27 15:43:37 EST Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Daniel Walsh 2012-11-09 06:42:31 EST
Applications that use netlink sockets (libvirt) are blowing up on Rawhide with the following error.

BUG: route/tc.c:970
lt-virt-sandbox-service-util: route/tc.c:970: rtnl_tc_register: Assertion `0' failed.
Aborted (core dumped)

I was told that the original problem for this was libnl.

I rebuilt libnl rpm on my machine to see if this was a build problem, but I get the same error.
Comment 1 Daniel Berrange 2012-11-09 06:44:06 EST
The problem is that netcf links to libnl.so.3 while libvirt links to libnl.so.0 and they cannot co-exist. I have built libvirt 1.0.0 into rawhide, which I hope will fix the issue - can you test and confirm.
Comment 2 Daniel Walsh 2012-11-09 06:53:01 EST
Nope still seems to happen

 rpm -q libvirt

make clean
BUG: route/tc.c:970
lt-virt-sandbox-service-util: route/tc.c:970: rtnl_tc_register: Assertion `0' failed.
Aborted (core dumped)
[Exit 134 (SIGABRT)]

Seems to actually be a problem with libnl3?
Comment 3 Daniel Berrange 2012-11-09 07:10:05 EST
Hmm, can you confirm that libvirt.so and libnetcf.so both link to the same libnl.so library version eg you get the same output from both of the following

$ ldd /lib64/libvirt.so | grep libnl

$ ldd /lib64/libnetcf.so | grep libnl
Comment 4 Daniel Walsh 2012-11-09 09:06:26 EST
sh-4.2# ldd /lib64/libnetcf.so | grep libnl
	libnl-route-3.so.200 => /lib64/libnl-route-3.so.200 (0x00000032c6600000)
	libnl-3.so.200 => /lib64/libnl-3.so.200 (0x00000032ca200000)
sh-4.2#  ldd /lib64/libvirt.so | grep libnl
	libnl-route-3.so.200 => /lib64/libnl-route-3.so.200 (0x00000032c6600000)
	libnl-3.so.200 => /lib64/libnl-3.so.200 (0x00000032ca200000)
Comment 5 Laine Stump 2012-11-09 15:52:39 EST
Was the previous libvirt build really linking to the old libnl? Looking at the git history of rawhide's libvirt.spec, it looks like that change was made back on August 29, when we updated to 0.10.0 (it was changed for netcf on Aug. 25).
Comment 6 Daniel Walsh 2012-11-13 09:25:45 EST
Well currently in Rawhide, I can not even get stuff to build in libvirt-sandbox.

make  all-recursive
make[1]: Entering directory `/home/dwalsh/lv/libvirt-sandbox'
Making all in libvirt-sandbox
make[2]: Entering directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox'
make  all-recursive
make[3]: Entering directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox'
Making all in tests
make[4]: Entering directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tests'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tests'
make[4]: Entering directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox'
  GEN      LibvirtSandbox-1.0.gir
/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tmp-introspectBTUh_a/LibvirtSandbox-1.0.c: In function 'main':
/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tmp-introspectBTUh_a/LibvirtSandbox-1.0.c:578:3: warning: 'g_type_init' is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
BUG: route/tc.c:970
lt-LibvirtSandbox-1.0: route/tc.c:970: rtnl_tc_register: Assertion `0' failed.
Command '['/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tmp-introspectBTUh_a/LibvirtSandbox-1.0', '--introspect-dump=/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tmp-introspectBTUh_a/functions.txt,/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox/tmp-introspectBTUh_a/dump.xml']' returned non-zero exit status -6
make[4]: *** [LibvirtSandbox-1.0.gir] Error 1
make[4]: Leaving directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/dwalsh/lv/libvirt-sandbox/libvirt-sandbox'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dwalsh/lv/libvirt-sandbox'
make: *** [all] Error 2
Comment 7 Cole Robinson 2013-01-27 15:43:37 EST
Haven't heard any news on this in a while, so assuming its fixed. dwalsh if you are still seeing this please reopen.
Comment 8 Daniel Walsh 2013-01-28 10:48:22 EST
Me either looks good