bus1 / dbus-broker

Linux D-Bus Message Broker
https://github.com/bus1/dbus-broker/wiki
Apache License 2.0
677 stars 79 forks source link

Error starting dbus-broker-launch #349

Closed mthmulders closed 6 months ago

mthmulders commented 6 months ago

On one ArchLinux installation I have, dbus-broker fails to start.

Output of journalctl -u dbus-broker:

Mar 05 02:19:20 alarm dbus-broker-launch[846]: ERROR util_audit_drop_permissions @ ../dbus-broker-35/src/util/audit.c +86: Invalid argument
Mar 05 02:19:20 alarm dbus-broker-launch[845]: ERROR service_add @ ../dbus-broker-35/src/launch/service.c +1011: Transport endpoint is not connected
Mar 05 02:19:20 alarm dbus-broker-launch[845]:       launcher_add_services @ ../dbus-broker-35/src/launch/launcher.c +805
Mar 05 02:19:20 alarm dbus-broker-launch[845]:       launcher_run @ ../dbus-broker-35/src/launch/launcher.c +1416
Mar 05 02:19:20 alarm dbus-broker-launch[845]:       run @ ../dbus-broker-35/src/launch/main.c +152
Mar 05 02:19:20 alarm dbus-broker-launch[845]:       main @ ../dbus-broker-35/src/launch/main.c +178
Mar 05 02:19:20 alarm dbus-broker-launch[845]: Exiting due to fatal error: -107

As an end user, I have no clue what the problem is or where to even start debugging. I wouldn't mind providing more info, if only I knew where to look...

dvdhrm commented 6 months ago

Thanks for the report! This is an assertion failure in dbus-broker. prctl(PR_CAP_AMBIENT, ...) is returning EINVAL, which is unexpected and not supported. Hence you see the backtrace and error message.

Are you running the default ArchLinux kernel? What kernel version is this? Do you run with any LSMs enabled? That is, SELinux, AppArmor, etc?

mthmulders commented 6 months ago

I'm running a port of ArchLinux, ArchLinux ARM, because the device is an CuBox-i which is not supported by mainline ArchLinux. This also explains the old kernel version:

Linux alarm 3.14.79-3-ARCH #1 SMP Wed May 10 01:50:38 UTC 2017 armv7l GNU/Linux

As far as I can tell, I have neither SELinux nor AppArmor installed:

[alarm@alarm ~]$ sudo sestatus
sudo: sestatus: command not found
[alarm@alarm ~]$ sudo apparmor_status
sudo: apparmor_status: command not found
teg commented 6 months ago

dbus-broker requires Linux 4.17, so this is not likely to work / get fixed.

mthmulders commented 6 months ago

Wow, that never appeared to me. Thanks for pointing that out!

I took the guess and tried the generic armv7 kernel from ArchLinux ARM and it boots fine. More importantly, it lets dbus-broker boot. So I think that resolves my issue!

teg commented 6 months ago

Nice! Great to hear :)