Bug 853381
Summary: | libvirt 0.10.0-1.fc19 daemon segfaults on startup in netlink_init | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Richard W.M. Jones <rjones> | ||||
Component: | netcf | Assignee: | Laine Stump <laine> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | berrange, clalancette, crobinso, itamar, jforbes, jyang, laine, libvirt-maint, veillard, virt-maint | ||||
Target Milestone: | --- | Keywords: | Reopened | ||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2012-10-01 01:11:58 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: | |||||||
Attachments: |
|
Description
Richard W.M. Jones
2012-08-31 10:01:43 UTC
Created attachment 608469 [details]
core file (xz compressed)
That part which is crashing is inside netcf: #0 0x00000030fdc09fef in netlink_init (ncf=0x8413ed60840086b0, ncf@entry=0x7f27840086b0) at dutil_linux.c:715 #1 0x00000030fdc05fa1 in drv_init (ncf=0x7f27840086b0) at drv_initscripts.c:372 #2 0x00000030fdc044e1 in ncf_init (ncf=<optimized out>, root=<optimized out>, root@entry=0x0) at netcf.c:75 reasigning to the component, but please tell which version of the netcf package you use Daniel This was fixed by updating to netcf-0.2.2-1.fc19. Yes, but the intent was that libvirt-0.10.0+ would require the newer netcf. However, when I updated the libvirt specfile, there was only an explicit BuildRequires of netcf-devel (which I changed to BuildRequires: netcf-devel >= 0.2.2"). I forgot that the install-time Requires: is implied by libvirt linking to libnetcf (i.e. there is no explicit "Requires: netcf-libs"), and since the internal version number of the library didn't change (because there was no change in API), the new netcf wasn't pulled in as a prerequisite for the upgrade of libvirt. In order to avoid this situation completely, I think that means we need to add an explicit: Requires: netcf-libs >= 0.2.2 to libvirt.spec for F18+ and RHEL7+. The alternative is that the few people who update libvirt by itself (rather than updating the entire system) will encounter this same problem. Although I appreciate Rich's leniancy in declaring this as NOTABUG, it still shouldn't happen, and can be prevented. I've pushed a patch upstream which, when applied to the F18 specfile, will prevent this crash, instead either a) forcing a simultaneous update of netcf to 0.2.2, or b) failing that, outputting an error and refusing to upgrade libvirt. Please add it to the next F18 build of libvirt: commit 89810fc42360adf0e76507e0f8051f2ab2b116a3 Author: Laine Stump <laine> Date: Tue Sep 4 13:05:54 2012 -0400 build: require netcf-0.2.2 when installing on Fedora18+ A previous patch forced libnl-3 and netcf-0.2.2 (which itself requires libnl-3) when *building* for Fedora 18+ (and RHEL 7+), but the install-time Requires: for netcf has always been implicit due to libvirtd linking with libnetcf.so. However, the since the API of netcf didn't change when it was rebuilt to use libnl-3, the internal library version didn't change either, making it possible (from rpm's point of view) to upgrade libvirt without upgrading netcf (in reality, that leads to a segfault - see https://bugzilla.redhat.com/show_bug.cgi?id=853381). The solution is to put an explicit Requires: line in libvirt's specfile for fedora >= 18 and rhel >= 7. Another note here - the F18 repos are currently frozen due to a pending alpha release, so although netcf-0.2.2-1 has been built and is available in f18-updates-testing, it's not being pushed to stable until [some unspecified time in the future]. Fortunately, it appears that the alpha will have libvirt-0.10.0rc0 (which is built with libnl1) and netcf-0.2.1 (also built with libnl1), and hopefully both a new libvirt and a new netcf will be queued up for push to stable as soon as the alpha freeze is listed. Pretty sure this is all resolved now in F18 and rawhide. |