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   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-27 20:43:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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

./virt-sandbox-service-util 
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 Berrangé 2012-11-09 11:44:06 UTC
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 11:53:01 UTC
Nope still seems to happen

 rpm -q libvirt
libvirt-1.0.0-1.fc19.x86_64

make clean
make
./virt-sandbox-service-util 
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 Berrangé 2012-11-09 12:10:05 UTC
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 14:06:26 UTC
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 20:52:39 UTC
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 14:25:45 UTC
Well currently in Rawhide, I can not even get stuff to build in libvirt-sandbox.

make
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 20:43:37 UTC
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 15:48:22 UTC
Me either looks good