After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 732472 - Networkmanager refuse to start if there is a deprecated ipv6 on 1 interface
Networkmanager refuse to start if there is a deprecated ipv6 on 1 interface
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-06-30 10:46 UTC by misc
Modified: 2014-06-30 12:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description misc 2014-06-30 10:46:58 UTC
This morning, with Networkmanager from rawhide ( NetworkManager-0.9.9.98-1.git20140620.fc21.x86_64 ), I had the bad surprise to see it was not running. Upon further debugging, it turned out to be caused by this :

[root@liliana misc]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: em1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether f3:2e:21:13:62:b5 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:25:d4:44:37:1c brd ff:ff:ff:ff:ff:ff
    inet 192.168.76.124/24 brd 192.168.76.255 scope global dynamic wlan0
       valid_lft 64173sec preferred_lft 64173sec
    inet6 2002:52ee:dc52:1:224:d7ff:5e3e:271c/64 scope global deprecated noprefixroute dynamic 
       valid_lft 45262sec preferred_lft 0sec
    inet6 fe80::224:d7ff:4e2e:572d/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 52:54:00:e3:32:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fee9:7243/64 scope link 
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 500
    link/ether 52:54:00:e3:32:44 brd ff:ff:ff:ff:ff:ff


More specifically from this line :
    inet6 2002:52ee:dc52:1:224:d7ff:5e3e:271c/64 scope global deprecated noprefixroute dynamic 
       valid_lft 45262sec preferred_lft 0sec

This trigger a assert in _init_ip_address_lifetime :

juin 30 11:53:58 liliana.cdg.example.org NetworkManager[26736]: NetworkManager:ERROR:platform/nm-linux-platform.c:1144:_init_ip_address_lifetime: assertion failed: (a_preferred <= a_valid && a_valid > 0 && a_preferred > 0)

This is quite interesting, because on the next step, NetworkManager do place a_preffered to 0 to signal the interface address is deprecated when this is not valid anymore. This also seems to be a documented practice (if a blog count as doc, which is maybe not the case) :
http://www.davidc.net/networking/ipv6-source-address-selection-linux

So after removing the ip v6 from the wlan0 interface fixed the issue. 

Unfortunately, I do not know how the preferred lifetime was put to 0, I suspect this is networkManager itself, or the kernel.
Comment 1 Thomas Haller 2014-06-30 12:26:04 UTC
Hi Michael,

thanks for the detailed bug report.

The assertion condition is correct.

Inside _init_ip_address_lifetime(), the valid/preferred times are no longer those as reported via netlink. Instead they are modified to be absolute timestamps, which must to be > 0.
The error was, that during startup there were some addresses, which timestamps were unmodified.



Pushed fixes to

master: http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=2a8925856233c05e9a94560dca548e1162aab2f1
nm-0-9-10: http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=69cb909c9bf329ca453cdcf8cb31f9bc514b2f26


fixes for Fedora rawhide will come with the next update (newer then NetworkManager-0.9.9.98-1.git20140620.fc21.x86_64).