Fwupd service fails to start

#1

I’ve installed Fedora Silverblue 29 on my Dell Inspiron 5370 laptop, and the fwupd service always fails to start:

ene 02 19:26:55 localhost.localdomain systemd[1]: Starting Firmware update daemon...
ene 02 19:26:55 localhost.localdomain fwupd[2968]: g_unix_is_system_fs_type: assertion 'fs_type != NULL && *fs_type != '\0'' failed
ene 02 19:26:55 localhost.localdomain fwupd[2968]: g_unix_is_system_device_path: assertion 'device_path != NULL && *device_path != '\0'' failed
ene 02 19:26:56 localhost.localdomain systemd[1]: fwupd.service: Main process exited, code=dumped, status=11/SEGV
ene 02 19:26:56 localhost.localdomain systemd[1]: fwupd.service: Failed with result 'core-dump'.
ene 02 19:26:56 localhost.localdomain systemd[1]: Failed to start Firmware update daemon.

Every time I start the software manager, it complains about the fwupd service. But if I run /usr/libexec/fwupd/fwupd manually, it works fine, and even the software manager can talk to the service. So I think it must be something related to the service configuration.

Here is the core dump debug:

PID: 2058 (fwupd)
UID: 0 (root)
GID: 0 (root)
Signal: 11 (SEGV)
Timestamp: Sun 2019-01-06 20:27:05 CET (42s ago)
Command Line: /usr/libexec/fwupd/fwupd
Executable: /usr/libexec/fwupd/fwupd
Control Group: /system.slice/fwupd.service
Unit: fwupd.service
Slice: system.slice
Boot ID: 46ffba6231c840588a38f3c437b692
Machine ID: ca3f6a0c9e7041d18c65f22641985e
Hostname: localhost.localdomain
Storage: /var/lib/systemd/coredump/
Message: Process 2058 (fwupd) of user 0 dumped core.

Stack trace of thread 2058:
#0 0x00007f722b27ef42 __strcmp_avx2 (libc.so.6)
#1 0x00007f722b63f3e5 n/a (libgio-2.0.so.0)
#2 0x00007f722b64047f g_unix_is_mount_path_system_
#3 0x00007f722b6406e8 n/a (libgio-2.0.so.0)
#4 0x00007f722b640b07 g_unix_mount_at (libgio-2.0.so.0)
#5 0x00007f721ac942f7 fu_plugin_coldplug (libfu_plugin_uefi.so)
#6 0x000056201f211550 fu_plugin_runner_coldplug (fwupd)
#7 0x000056201f1f8a98 n/a (fwupd)
#8 0x000056201f2017fa fu_engine_load (fwupd)
#9 0x000056201f1f155a main (fwupd)
#10 0x00007f722b146413 __libc_start_main (libc.so.6)
#11 0x000056201f1f186e _start (fwupd)

Stack trace of thread 2113:
#0 0x00007f722b214421 __poll (libc.so.6)
#1 0x00007f722aa6bd5f n/a (libusb-1.0.so.0)
#2 0x00007f722b2f058e start_thread (libpthread.so.0)
#3 0x00007f722b21f6a3 __clone (libc.so.6)

Stack trace of thread 2118:
#0 0x00007f722b214421 __poll (libc.so.6)
#1 0x00007f722aa65495 n/a (libusb-1.0.so.0)
#2 0x00007f722aa6666b libusb_handle_events_timeout_
#3 0x00007f722aa666c3 libusb_handle_events (libusb-1.0.so.0)
#4 0x00007f722b520039 g_usb_context_event_thread_cb (libgusb.so.2)
#5 0x00007f722b7772aa n/a (libglib-2.0.so.0)
#6 0x00007f722b2f058e start_thread (libpthread.so.0)
#7 0x00007f722b21f6a3 __clone (libc.so.6)

Stack trace of thread 2125:
#0 0x00007f722b214421 __poll (libc.so.6)
#1 0x00007f722b74e3a6 n/a (libglib-2.0.so.0)
#2 0x00007f722b74e762 g_main_loop_run (libglib-2.0.so.0)
#3 0x00007f722b61510a n/a (libgio-2.0.so.0)
#4 0x00007f722b7772aa n/a (libglib-2.0.so.0)
#5 0x00007f722b2f058e start_thread (libpthread.so.0)
#6 0x00007f722b21f6a3 __clone (libc.so.6)

Stack trace of thread 2098:
#0 0x00007f722b214421 __poll (libc.so.6)
#1 0x00007f722b74e3a6 n/a (libglib-2.0.so.0)
#2 0x00007f722b74e4d0 g_main_context_iteration (libglib-2.0.so.0)
#3 0x00007f722b74e521 n/a (libglib-2.0.so.0)
#4 0x00007f722b7772aa n/a (libglib-2.0.so.0)
#5 0x00007f722b2f058e start_thread (libpthread.so.0)
#6 0x00007f722b21f6a3 __clone (libc.so.6)

warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Core was generated by `/usr/libexec/fwupd/fwupd'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f722b27ef42 in __strcmp_avx2 () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f7229f08280 (LWP 2058))]
Missing separate debuginfos, use: dnf debuginfo-install fwupd-1.1.4-1.fc29.x86_64

(gdb) bt
#0 0x00007f722b27ef42 in __strcmp_avx2 () from /lib64/libc.so.6
#1 0x00007f722b63f3e5 in ?? () from /lib64/libgio-2.0.so.0
#2 0x00007f722b64047f in g_unix_is_mount_path_system_
#3 0x00007f722b6406e8 in ?? () from /lib64/libgio-2.0.so.0
#4 0x00007f722b640b07 in g_unix_mount_at () from /lib64/libgio-2.0.so.0
#5 0x00007f721ac942f7 in fu_plugin_coldplug () from /usr/lib64/fwupd-plugins-3/
#6 0x000056201f211550 in fu_plugin_runner_coldplug ()
#7 0x000056201f1f8a98 in ?? ()
#8 0x000056201f2017fa in fu_engine_load ()
#9 0x000056201f1f155a in main ()

Any idea about this problem?

Thanks

1 Like
#2

What’s the content of your /etc/mtab?

#3

I never noticed this before, but I’m seeing the same on my host using Silverblue 29.20190102.0

I opened an issue upstream - https://github.com/hughsie/fwupd/issues/926

#4

This is my /etc/mtab:

sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=4002600k,nr_inodes=1000650,mode=755 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0
devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0
tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0
cgroup2 /sys/fs/cgroup/unified cgroup2 rw,seclabel,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/mapper/fedora-root /sysroot ext4 rw,seclabel,relatime 0 0
/dev/mapper/fedora-root / ext4 rw,seclabel,relatime 0 0
/dev/mapper/fedora-root /usr ext4 ro,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime,pagesize=2M 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=22645 0 0
debugfs /sys/kernel/debug debugfs rw,seclabel,relatime 0 0
mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0
tmpfs /tmp tmpfs rw,seclabel,nosuid,nodev 0 0
/dev/mapper/fedora-root /var ext4 rw,seclabel,relatime 0 0
/dev/sda7 /boot ext4 rw,seclabel,relatime 0 0
/dev/sda1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro 0 0
/dev/mapper/luks-d178d57c-224a-4310-8046-8f4901d27831 /var/home ext4 rw,seclabel,relatime 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=806240k,mode=700,uid=1000,gid=1000 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
#5

Thank you! I’m following the thread at github.

#6

Well, I was going to compare that against my own mtab, but I just realized my fwupd was crashing as well… :sweat_smile:

I did a bit of research into this, and my best guess would be that you’re right in that it’s a systemd configuration issue (maybe from ProtectSystem=yes?). The call that’s failing is g_unix_mount_at ("/sys/firmware/efi/efivars", NULL).

1 Like
#7

Did fresh install on one of my spares, same problem.

#8

My fwupd service is running after 29.20190128.0 upgrade :grin:

#9

I’m still having this issue in Fedora 29 with the latest updates and glib2 == 2.58.3.
Somehow the fwupd service is not located in /usr/libexec/fwupd/fwupd but in “./.cache/gnome-software/fwupd” ???

#10

This helped: https://forums.fedoraforum.org/showthread.php?321090-fwupd-error-in-software-center&p=1821524#post1821524