FS#71718 - [iwd] version 1.16 segfaults

Attached to Project: Community Packages
Opened by Bryan (bryan) - Tuesday, 03 August 2021, 20:36 GMT
Last edited by Christian Rebischke (Shibumi) - Sunday, 17 October 2021, 17:02 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Christian Rebischke (Shibumi)
Levente Polyak (anthraxx)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 5
Private No

Details

Description: iwd 1.16 from community package, installed in today's updates, segfaults.

août 03 13:53:53 iwd[55869]: hardware_rekey not supported
août 03 13:53:53 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
août 03 13:53:55 kernel: iwd[55869]: segfault at 0 ip 00007fc1550d7130 sp 00007ffe104201b0 error 4 in libc-2.33.so[7fc154fe1000+14b000]
août 03 13:53:55 kernel: Code: 48 8b 7c 24 10 48 89 ee e8 ed a3 f0 ff eb 8d 0f 1f 00 66 0f ef c0 31 c0 0f 29 44 24 20 0f 29 44 24 30 0f 1f 84 00 00 00 0>
août 03 13:53:55 systemd[1]: Started Process Core Dump (PID 55916/UID 0).
août 03 13:53:55 systemd-coredump[55917]: Process 55869 (iwd) of user 0 dumped core.

Found module linux-vdso.so.1 with build-id: 67a240aff4f3f650a6de241a4cf5a0a6148d7fac
Found module ld-linux-x86-64.so.2 with build-id: 040cc3dd10461562f177df39e3be2f3704258c3c
Found module libc.so.6 with build-id: 4b406737057708c0e4c642345a703c47a61c73dc
Found module libgcc_s.so.1 with build-id: 7f8508bb914546ada778809b64b99d234337d835
Found module iwd with build-id: 3d5550b19933ddc7488d1789067d60b44bbca984
Stack trace of thread 55869:
#0 0x00007fc1550d7130 inet_ntop (libc.so.6 + 0x11c130)
#1 0x000056477f82f72a n/a (iwd + 0xc472a)
#2 0x000056477f7f6091 n/a (iwd + 0x8b091)
#3 0x000056477f7f51bd n/a (iwd + 0x8a1bd)
#4 0x000056477f7f528e n/a (iwd + 0x8a28e)
#5 0x000056477f7f54d4 n/a (iwd + 0x8a4d4)
#6 0x000056477f7791cf n/a (iwd + 0xe1cf)
#7 0x00007fc154fe2b25 __libc_start_main (libc.so.6 + 0x27b25)
#8 0x000056477f77990e n/a (iwd + 0xe90e)


Additional info: kernel 5.13.7-arch1-1

Steps to reproduce: install the updated packages (iwd and ell), try starting iwd.service via systemctl. In my case systemd is affected too, the running iwd process cannot be killed, network is unavailable, reboot is not possible only hard reset restores proper behavior, thus the critical severity in my opinion.

Reverting iwd to 1.15-1 and ell to 0.41-1 is a temporary workaround.

If other details are needed, let me know.
This task depends upon

Closed by  Christian Rebischke (Shibumi)
Sunday, 17 October 2021, 17:02 GMT
Reason for closing:  Upstream
Additional comments about closing:  Please report upstream
Comment by Zhao Zuohong (Zhao_Zuohong) - Wednesday, 04 August 2021, 17:09 GMT
Same issue. Cannot use WiFi with iwd 1.15-2 and ell 0.42-1, iwd won't start, and system even cannot shutdown properly.
Comment by Danil Kondratiev (knightpp) - Thursday, 05 August 2021, 15:29 GMT
Same. Wi-Fi constantly restarting connection
Comment by Zhao Zuohong (Zhao_Zuohong) - Thursday, 05 August 2021, 16:24 GMT
With different kernel, the bug behaves differents too. With kernel from `linux-lts` package, WiFi keeps restarting. With kernel from `linux` package, iwd just won't start.
Comment by Aodhnait Étaín (aodhneine) - Sunday, 08 August 2021, 15:02 GMT
Same, iwd-1.16 and ell-0.42 results in segfault during boot with:

> Aug 08 14:40:03 this iwd[553]: /usr/lib/iwd/iwd: symbol lookup error: /usr/lib/iwd/iwd: undefined symbol: l_ecc_curve_get_supported_ike_groups, version ELL_0.10

Here is whole `journalctl -xeu iwd` output for a single boot process: https://paste.debian.net/plain/1206966.

Reverting back to iwd-1.15-1 and ell-0.41-1 works.
Comment by Jose Guisado (guigom) - Sunday, 08 August 2021, 20:44 GMT
Works fine on my laptop, iwd starts fine and connection is stable.

linux 5.13.9.arch1-1
iwd 1.16-1
ell 0.42-1

Can provide any other information if needed.
Comment by Aodhnait Étaín (aodhneine) - Monday, 09 August 2021, 19:44 GMT
After upgrading to linux 5.13.9.arch1-1 everything works fine again.
Comment by Hritik Vijay (MrHritik) - Sunday, 15 August 2021, 21:21 GMT
Currently running 5.13.10-arch1-1 and iwd still crashes randomly.
   y (18.2 KiB)
Comment by loqs (loqs) - Monday, 16 August 2021, 21:11 GMT
@MrHritik please try downgrading ell to 0.41-1, rebuilding iwd with the downgraded ell and test if you can still produce the issue.
Comment by Tarmo Heiskanen (Turski) - Tuesday, 17 August 2021, 20:33 GMT
I am having this same issue, iwd 1.16-1 with 0.42-1 causes segfault of iwd and system freezes.

Everything working just fine with rebuilt iwd 1.15-1 and ell 0.41-1.

Iwd 1.16 refuses to build with ell 0.41 with message about "ell >= 0.42 required".
Comment by loqs (loqs) - Wednesday, 18 August 2021, 00:38 GMT
ell and iwd being so tightly makes it difficult to determine which update triggered the issue.
Please try rebuilding iwd and ell with debug symbols and with stripping disabled [1] to locate which call to inet_ntop is causing the segfault. See attached diffs for the needed changes.
PKGBUILD.ell reverts some uses of inet_ntop that were introduced in ell 0.42, with the other reverts to allow that commit to be reverted cleanly. It might be worth testing if the issue is still present with those changes.

[1] https://wiki.archlinux.org/title/Debugging/Getting_traces#Compilation_settings
Comment by Danil Kondratiev (knightpp) - Friday, 27 August 2021, 08:07 GMT
The same issue with iwd-0.17 and ell-0.43
Comment by ilias leonard (iscilyas) - Saturday, 18 September 2021, 20:24 GMT
Same here. System was behaving completely bizarrely, refusing to shutdown properly etc etc... all packages on system were completely up-to-date. reverted to `linux-lts` and system behaves better but iwd kept segfault'ing... Have been using iwd for months now with never an issue. I eventually put two and two together and thought it might have something to do with the fact that I had enabled ipv6 last night.

Disabling IPv6 in /etc/iwd/main.conf did the trick for me. FWIW in case it helps track down the issue and/or someone else is having the same problem.
Comment by Bryan (bryan) - Thursday, 23 September 2021, 09:26 GMT
My /etc/iwd/main.conf contained:

[General]
EnableNetworkConfiguration=true
AddressRandomization=network

[Network]
NameResolvingService=resolvconf
EnableIPv6=true

Removing the file solved the issue: no more segfault, no more system hanging/unable to reboot properly. Removing EnableIPv6=true config alone in that file was not enough to solve the issue, so that's not the culprit line. I'm now running version 1.18 (and ell 0.44) on up to date ArchLinux, without any issue.
Comment by Bryan (bryan) - Saturday, 02 October 2021, 09:27 GMT
As iscilyas already pointed out, I can reproduce the issue too: iwd segfaults when EnableIPv6=true is added in the main.conf file.
Comment by Rebecca Brown (sweetcheesecake) - Friday, 15 October 2021, 19:04 GMT
I concur that disabling IPv6 solves the issue. Had similar issues on 2 different laptops , both on iwd 1.16.1 , both were setup to test a IPv6 install.
Comment by Christian Rebischke (Shibumi) - Sunday, 17 October 2021, 17:02 GMT
I have the feeling this is an upstream issue. Please report this upstream. It has nothing to do with our package.

Loading...