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 759001 - [review] dcbw/adsl-fixes-bgo759001: fix some ADSL-related crashes
[review] dcbw/adsl-fixes-bgo759001: fix some ADSL-related crashes
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: nm-review
 
 
Reported: 2015-12-03 17:04 UTC by Dan Williams
Modified: 2015-12-16 15:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dan Williams 2015-12-03 17:04:00 UTC
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (atmtcp0): device state change: deactivating -> disconnected (reason 'new-activation') [110 30 60]
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (atmtcp1): device state change: prepare -> config (reason 'none') [40 50 0]
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: (NetworkManager:2402): NetworkManager-adsl-WARNING **: (nm-device-adsl.c:148):set_nas_iface: runtime check failed: (priv->nas_ifindex > 0)
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (atmtcp1): using NAS interface nas0 (0)
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: nm_platform_link_set_up: assertion 'ifindex > 0' failed
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (nas0): driver 'unknown' does not support carrier detection.
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (nas0): driver 'unknown' does not support carrier detection.
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (nas0): new Ethernet device (carrier: UNKNOWN, driver: 'unknown', ifindex: 82)
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (nas0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <error> [1449159630.783077] [platform/nm-linux-platform.c:2816] do_change_link(): platform-linux: do-change-link: failure changing link 82: Invalid add
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <warn>  (nas0): failed to reset MAC address to 00:00:00:00:00:00
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <info>  (atmtcp1): device state change: config -> ip-config (reason 'none') [50 70 0]
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: <warn>  (atmtcp1): interface atmtcp1 not up for IP configuration
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: **
Dec 03 10:20:30 localhost.localdomain NetworkManager[2402]: NetworkManager:ERROR:ppp-manager/nm-ppp-manager.c:949:create_pppd_cmd_line: assertion failed: (pppoe_binary != NULL)
Dec 03 10:20:30 localhost.localdomain systemd[1]: NetworkManager.service: main process exited, code=dumped, status=6/ABRT
Dec 03 10:20:30 localhost.localdomain systemd[1]: Unit NetworkManager.service entered failed state.
Dec 03 10:20:30 localhost.localdomain systemd[1]: NetworkManager.service failed.
Dec 03 10:20:30 localhost.localdomain systemd[1]: NetworkManager.service holdoff time over, scheduling restart.
Dec 03 10:20:30 localhost.localdomain systemd[1]: Starting Network Manager...

Should be pretty easy to reproduce, actually:

0) create an autoconnect=true ADSL connection:

[ipv6]
method=ignore
may-fail=true

[connection]
id=ADSL Test
uuid=4bb058a8-c5f9-4aaf-a138-7a9b5f88a5af
type=adsl
autoconnect=true

[ppp]
noauth=false

[adsl]
number=#777
username=foobar
password=blah
protocol=pppoe
encapsulation=llc
vpi=3
vci=10

[ipv4]
method=auto
may-fail=true

1) dnf install linux-atm
2) atmtcp virtual listen
3) (in another terminal) atmtcp virtual connect 127.0.0.1
Comment 1 Dan Williams 2015-12-03 17:41:50 UTC
Also, since NM can't get the ifindex of the NAS interface for whatever reason, it then creates a new NMDevice for the NAS.  That's because we don't have any logic in nm-manager.c::platform_link_added() to detect non-ip-iface devices and ignore them.  Unfortunately ADSL/ATM devices can have *two* claimed interface indexes (one for the NAS interface and a second for the PPPoE/PPPoATM interface that runs over the NAS interface).
Comment 2 Thomas Haller 2015-12-04 13:30:00 UTC
The crash is fixed by

http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=dd088ed595197662f89a9c5ddadd5e7fbfe66544

master is not affected.
Comment 3 Dan Williams 2015-12-09 16:59:50 UTC
Two patches in the branch, I have a couple more coming to handle the NAS device being created; I think it should actually be ignored for now like we ignore 'wwanX' devices.
Comment 4 Thomas Haller 2015-12-09 17:17:59 UTC
Tiny fixup pushed.

LGTM.
Comment 5 Jiri Klimes 2015-12-14 08:26:09 UTC
The branch looks good to me.
Comment 6 Dan Williams 2015-12-16 15:40:54 UTC
Merged to master and cherry-picked to nm-1-0.