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
Opened by Bryan (bryan) - Tuesday, 03 August 2021, 20:36 GMT
Last edited by Christian Rebischke (Shibumi) - Sunday, 17 October 2021, 17:02 GMT
|
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
Sunday, 17 October 2021, 17:02 GMT
Reason for closing: Upstream
Additional comments about closing: Please report upstream
> 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.
linux 5.13.9.arch1-1
iwd 1.16-1
ell 0.42-1
Can provide any other information if needed.
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".
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
PKGBUILD.diff.ell (0.5 KiB)
PKGBUILD.ell (2.6 KiB)
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.
[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.