After upgrading libnl, NetworkManager crashes on startup: -- May 1 19:47:48 stretch NetworkManager[4971]: <info> monitoring kernel firmware directory '/lib/firmware'. May 1 19:47:48 stretch NetworkManager[4971]: <info> found WiFi radio killswitch rfkill2 (at /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/rfkill2) (driver (unknown)) May 1 19:47:48 stretch NetworkManager[4971]: <info> WiFi enabled by radio killswitch; enabled by state file May 1 19:47:48 stretch NetworkManager[4971]: <info> WWAN enabled by radio killswitch; enabled by state file May 1 19:47:48 stretch NetworkManager[4971]: <info> WiMAX enabled by radio killswitch; enabled by state file May 1 19:47:48 stretch NetworkManager[4971]: <info> Networking is enabled by state file May 1 19:47:48 stretch NetworkManager[4971]: <warn> failed to allocate link cache: (-10) Operation not supported May 1 19:47:48 stretch NetworkManager[4971]: <warn> caught signal 11. Generating backtrace... May 1 19:47:48 stretch NetworkManager[4971]: ******************* START ********************************** May 1 19:47:48 stretch NetworkManager[4971]: Frame 0: /usr/sbin/NetworkManager (nm_logging_backtrace+0x3b) [0x4684db] May 1 19:47:48 stretch NetworkManager[4971]: Frame 1: /usr/sbin/NetworkManager (0x400000+0x44df51) [0x44df51] May 1 19:47:48 stretch NetworkManager[4971]: Frame 2: /lib64/libpthread.so.0 (0x7fe99654f000+0x7fe99655fbf0) [0x7fe99655fbf0] May 1 19:47:48 stretch NetworkManager[4971]: Frame 3: /usr/lib64/libnl-route-3.so.200 (rtnl_link_get_type+0x0) [0x7fe996114cf0] May 1 19:47:48 stretch NetworkManager[4971]: Frame 4: /usr/sbin/NetworkManager (nm_system_get_iface_type+0x87) [0x455d07] May 1 19:47:48 stretch NetworkManager[4971]: Frame 5: /usr/sbin/NetworkManager (0x400000+0x45d6a0) [0x45d6a0] May 1 19:47:48 stretch NetworkManager[4971]: Frame 6: /usr/sbin/NetworkManager (_nm_marshal_VOID__POINTER_POINTER_POINTER_POINTER_INT+0x97) [0x467677] May 1 19:47:48 stretch NetworkManager[4971]: Frame 7: /usr/lib64/libgobject-2.0.so.0 (g_closure_invoke+0x12f) [0x7fe994ec336f] May 1 19:47:48 stretch NetworkManager[4971]: Frame 8: /usr/lib64/libgobject-2.0.so.0 (0x7fe994eb2000+0x7fe994ed3d91) [0x7fe994ed3d91] May 1 19:47:48 stretch NetworkManager[4971]: Frame 9: /usr/lib64/libgobject-2.0.so.0 (g_signal_emit_valist+0xd52) [0x7fe994edbd82] May 1 19:47:48 stretch NetworkManager[4971]: Frame 10: /usr/lib64/libgobject-2.0.so.0 (g_signal_emit+0x8a) [0x7fe994edbf2a] May 1 19:47:48 stretch NetworkManager[4971]: Frame 11: /usr/sbin/NetworkManager (0x400000+0x447869) [0x447869] May 1 19:47:48 stretch NetworkManager[4971]: Frame 12: /usr/sbin/NetworkManager (nm_udev_manager_query_devices+0xa6) [0x448906] May 1 19:47:48 stretch NetworkManager[4971]: Frame 13: /usr/sbin/NetworkManager (nm_manager_start+0x164) [0x45eea4] May 1 19:47:48 stretch NetworkManager[4971]: Frame 14: /usr/sbin/NetworkManager (main+0x11e2) [0x425f12] May 1 19:47:48 stretch NetworkManager[4971]: Frame 15: /lib64/libc.so.6 (__libc_start_main+0xed) [0x7fe99481260d] May 1 19:47:48 stretch NetworkManager[4971]: Frame 16: /usr/sbin/NetworkManager (0x400000+0x426189) [0x426189] May 1 19:47:48 stretch NetworkManager[4971]: ******************* END ********************************** --- After downgrading libnl back to libnl-3.2.7 NetworkManager was able to start successfully. --- # emerge --info =dev-libs/libnl-3.2.8 Portage 2.2.0_alpha101 (default/linux/amd64/10.0, gcc-4.6.3, glibc-2.15-r1, 3.4.0-rc5 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.4.0-rc5-x86_64-Intel-R-_Core-TM-_i7-2620M_CPU_@_2.70GHz-with-gentoo-2.1 Timestamp of tree: Tue, 01 May 2012 23:00:01 +0000 app-shells/bash: 4.2_p24-r1 dev-lang/python: 2.7.3-r1, 3.2.3 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.9.3 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.69 sys-devel/automake: 1.11.5 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.6.3 sys-devel/gcc-config: 1.7 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.3 (virtual/os-headers) sys-libs/glibc: 2.15-r1 Repositories: gentoo marduk gnome gfxboot_overlay Installed sets: @system ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA IBM-J1.6 AdobeFlash-10.3 skype-eula" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/var/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going --usepkg --binpkg-respect-use=y --quiet-build --jobs --quiet-unmerge-warn --oneshot --autounmask=n --buildpkg-exclude virtual/* --buildpkg-exclude sys-kernel/*-sources" FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news noinfo notitles parallel-fetch protect-owned sandbox sfperms skiprocheck strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ja" MAKEOPTS="-j10 -l5.0" PKGDIR="/var/portage/packages" PORTAGE_COMPRESS="" PORTAGE_COMPRESS_FLAGS="" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage" PORTDIR_OVERLAY="/var/lib/layman/marduk /var/lib/layman/gnome /usr/local/portage/gfxboot_overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 cjk introspection multilib nls pam unicode utf8" ALSA_PCM_PLUGINS="*" APACHE2_MODULES="auth_digest authn_file group_file dav dav_fs authz_groupfile" CAMERAS="*" CURL_SSL="openssl" DRACUT_MODULES="plymouth" ELIBC="glibc" FFTOOLS="*" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LINGUAS="ja" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915 i965" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= dev-libs/libnl-3.2.8 was built with the following: USE="(multilib) -doc -static-libs -utils" ---
libnl-3.2.8 has significant API changes from 3.2.7. Just take a look at this gem, for instance: http://git.infradead.org/users/tgr/libnl.git/commitdiff/e0482794a8b70ae23361bfbe3701d4c2c96c66a6?hp=adbc5687358ef62c5edb349332b3d031c01fcbb2 In other words, with 3.2.8, all libnl users that checked for a non-zero return value from nl_recvmsgs() (which e.g. networkmanager does in its _nl80211_send_and_recv() function) will now start failing. I strongly recommend masking libnl-3.2.8 until the packages in the tree have caught up with the new API.
QA-masked until this is sorted out. This is API _and_ ABI breakage even though it slips under the radar of binary interfaces.
Thank you Albert, I had this problem tonight and I was in the dark. Now I masked manually the package.
(In reply to comment #2) > QA-masked You've just made that up, didn't you?
Version 3.2.9 has been released on May 8, 2012. Note: The 3.2.9 release fixes a regression in nl_recvmsgs(). The change in semantics regarding the return value has broken nl_wait_for_ack() among other things. Behaviour has been restored. Please do not distribute 3.2.8.
Changelog for 3.2.8 -> 3.2.9 Jeroen Roovers (1): Fix two bugs in 3.2.8/doc/ Thomas Graf (2): nl: Fix return value of nl_recvmsgs() 3.2.9 release