Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 822240 - media-video/wireplumber-0.4.4: failed to start systemd logind monitor
Summary: media-video/wireplumber-0.4.4: failed to start systemd logind monitor
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Niklāvs Koļesņikovs
URL: https://gitlab.freedesktop.org/pipewi...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-07 07:08 UTC by Tamer Higazi
Modified: 2021-12-01 23:15 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
systemd cat_config (cat_config.txt,15.76 KB, text/plain)
2021-11-14 09:44 UTC, Tamer Higazi
Details
emerge --info (emerge_info.txt,5.56 KB, text/plain)
2021-11-14 09:47 UTC, Tamer Higazi
Details
systemd-analyze verify default.target (systemd_dependency_loop.txt,2.98 KB, text/plain)
2021-11-14 09:49 UTC, Tamer Higazi
Details
merge --info wireplumber pipewire (emerge_info_wireplumber_pipewire.txt,7.00 KB, text/plain)
2021-11-14 10:18 UTC, Tamer Higazi
Details
sys-apps/systemd-tmpfiles conflict install error (systemd_tmp_merge_error.txt,15.43 KB, text/plain)
2021-12-01 05:10 UTC, Tamer Higazi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tamer Higazi 2021-11-07 07:08:56 UTC
Hi,
After upgrading pipewire (media-video/wireplumber-0.4.4:0/0.4::gentoo) all sound devices are not listed. 

As pipewire is dependend on wireplumber, I figured out that wireplumber never starts at all. 

systemctl systemctl --user status wireplumber.service tells me it failed to start and executing wireplumber by hand outputs me the error that it couldn't find systemd logind monitor:

tamer@tux ~ $ wireplumber 
failed to start systemd logind monitor: -2 (No such file or directory)
M 08:07:33.687523        wireplumber ../wireplumber-0.4.4/src/main.c:328:on_disconnected: disconnected from pipewire


wireplumber systemd Status:

tamer@tux ~ $ systemctl --user status wireplumber.service
× wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2021-11-07 07:42:44 CET; 19min ago
    Process: 1386 ExecStart=/usr/bin/wireplumber (code=exited, status=70)
   Main PID: 1386 (code=exited, status=70)

Nov 07 07:42:44 tux systemd[1252]: wireplumber.service: Scheduled restart job, restart counter is at 5.
Nov 07 07:42:44 tux systemd[1252]: Stopped Multimedia Service Session Manager.
Nov 07 07:42:44 tux systemd[1252]: wireplumber.service: Start request repeated too quickly.
Nov 07 07:42:44 tux systemd[1252]: wireplumber.service: Failed with result 'exit-code'.
Nov 07 07:42:44 tux systemd[1252]: Failed to start Multimedia Service Session Manager.


emerge --info wireplumber:
media-video/wireplumber-0.4.4::gentoo was built with the following:
USE="systemd (-elogind) -test" ABI_X86="(64)" LUA_SINGLE_TARGET="lua5-4 -lua5-3"
FEATURES="usersync userpriv binpkg-docompress unmerge-orphans unmerge-logs parallel-fetch merge-sync strict config-protect-if-modified multilib-strict pid-sandbox xattr sandbox qa-unresolved-soname-deps sfperms binpkg-logs news binpkg-dostrip fixlafiles userfetch preserve-libs usersandbox network-sandbox ipc-sandbox distlocks protect-owned ebuild-locks assume-digests unknown-features-warn"


emerge --info systemd:
sys-apps/systemd-249.4-r4::gentoo was built with the following:
USE="acl cgroup-hybrid gcrypt hwdb kmod lz4 pam pcre policykit resolvconf seccomp (split-usr) sysv-utils zstd -apparmor -audit -build -cryptsetup -curl -dns-over-tls -elfutils -fido2 -gnuefi -homed -http -idn -importd -lzma -nat -pkcs11 -pwquality -qrcode -repart (-selinux) -test -tpm -vanilla -xkb" ABI_X86="(64) -32 (-x32)"
FEATURES="usersandbox ipc-sandbox xattr news binpkg-docompress network-sandbox protect-owned userpriv sandbox config-protect-if-modified ebuild-locks unmerge-orphans userfetch usersync qa-unresolved-soname-deps distlocks binpkg-dostrip parallel-fetch unknown-features-warn multilib-strict fixlafiles sfperms binpkg-logs merge-sync pid-sandbox preserve-libs assume-digests unmerge-logs strict"
Comment 1 Tamer Higazi 2021-11-07 07:14:18 UTC
System Info:

amer@tux ~ $ emerge --info
Portage 3.0.28 (python 3.9.7-final-0, default/linux/amd64/17.1/systemd, gcc-11.2.0, glibc-2.33-r7, 5.10.76-gentoo-r1-x86_64 x86_64)
=================================================================
System uname: Linux-5.10.76-gentoo-r1-x86_64-x86_64-AMD_Ryzen_5_1400_Quad-Core_Processor-with-glibc2.33
KiB Mem:    16408628 total,  11830568 free
KiB Swap:   13476860 total,  13476860 free
Timestamp of repository gentoo: Sat, 06 Nov 2021 00:45:01 +0000
Head commit of repository flatpak-overlay: 4bf9a7815ca9361f86459c8a8e9bc403e3721704

sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0-r3::gentoo
dev-lang/python:          2.7.18_p13::gentoo, 3.9.7_p1::gentoo
dev-lang/rust-bin:        1.53.0::gentoo
dev-util/cmake:           3.20.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.25::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.4::gentoo
sys-devel/binutils:       2.37_p1::gentoo
sys-devel/gcc:            11.2.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: webrsync
    sync-uri: https://mirror.init7.net/gentoo
    priority: -1000
    sync-webrsync-delta: true  # false to use plain webrsync
    sync-webrsync-verify-signature: true

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

flatpak-overlay
    location: /var/lib/flatpak
    sync-type: git
    sync-uri: https://github.com/fosero/flatpak-overlay.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=znver1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/fax /usr/share/config /usr/share/gnupg/qualified.txt /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /var/spool/fax/etc/xferfaxlog"
CXXFLAGS="-O2 -pipe -march=znver1"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=znver1"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans unprivileged userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=znver1"
GENTOO_MIRRORS="https://mirror.init7.net/gentoo/"
LANG="C.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl alsa amd64 bzip2 cairo cli crypt cups dbus dri egl fortran gdbm gles gtk iconv ipv6 jpeg libglvnd libnotify libtirpc lock multilib ncurses nls nptl ogg opengl openmp pam pcre png policykit pulseaudio qt5 readline screencast sdl seccomp session split-usr ssl startup-notification systemd thunar tiff truetype udev unicode upower vorbis wayland xattr xcb xml zlib" ABI_X86="64" ADA_TARGET="gnat_2019" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 2 Niklāvs Koļesņikovs 2021-11-07 08:22:27 UTC
I think the most obvious thing to check would be output of `loginctl list-sessions` and maybe `systemctl status systemd-logind.service` to see if logind is functioning as intended.

If that does not shed light on the issue, I'll try to bring this to the attention of upstream developers tomorrow but feel free to open a formal upstream issue now, if you want.
Comment 3 Tamer Higazi 2021-11-07 09:05:30 UTC
Hi Niklāvs,
Perhaps this helps ...


List Sessions:

tamer@tux ~ $ loginctl list-sessions
SESSION  UID USER  SEAT  TTY
      3 1000 tamer seat0 

1 sessions listed.


Systemd Logind Service Status:

tamer@tux ~ $ systemctl status systemd-logind.service
● systemd-logind.service - User Login Management
     Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
     Active: active (running) since Sun 2021-11-07 07:42:37 CET; 2h 21min ago
       Docs: man:sd-login(3)
             man:systemd-logind.service(8)
             man:logind.conf(5)
             man:org.freedesktop.login1(5)
   Main PID: 1122 (systemd-logind)
     Status: "Processing requests..."
      Tasks: 1 (limit: 19136)
     Memory: 1.6M
     CGroup: /system.slice/systemd-logind.service
             └─1122 /lib/systemd/systemd-logind

Nov 07 07:42:37 tux systemd-logind[1122]: Watching system buttons on /dev/input/event10 (Generic Virtual HID)
Nov 07 07:42:37 tux systemd-logind[1122]: Watching system buttons on /dev/input/event12 (Generic Virtual HID System Control)
Nov 07 07:42:37 tux systemd-logind[1122]: Watching system buttons on /dev/input/event13 (Generic Virtual HID Consumer Control)
Nov 07 07:42:37 tux systemd-logind[1122]: Failed to read /var/run/utmp, ignoring: No such file or directory
Nov 07 07:42:37 tux systemd-logind[1122]: [🡕] New seat seat0.
Nov 07 07:42:37 tux systemd[1]: Started User Login Management.
Nov 07 07:42:38 tux systemd-logind[1122]: [🡕] New session 1 of user root.
Nov 07 07:42:38 tux systemd-logind[1122]: Watching system buttons on /dev/input/event25 (PCTV tripleStick (292e))
Nov 07 07:42:43 tux systemd-logind[1122]: [🡕] Removed session 1.
Nov 07 07:42:43 tux systemd-logind[1122]: [🡕] New session 3 of user tamer.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-11-08 17:44:41 UTC
This seems suspicious:

Nov 07 07:42:37 tux systemd-logind[1122]: Failed to read /var/run/utmp, ignoring: No such file or directory

Is /var/run there at all?
Comment 5 Tamer Higazi 2021-11-08 18:39:04 UTC
/var/run is there, but not (In reply to Sam James from comment #4)
> This seems suspicious:
> 
> Nov 07 07:42:37 tux systemd-logind[1122]: Failed to read /var/run/utmp,
> ignoring: No such file or directory
> 
> Is /var/run there at all?

Yes.

tamer@tux ~ $ ls -lA /var/run/
total 20
-rw-------  1 root   root     0 Nov  8 17:08 agetty.reload
drwxr-xr-x  2 root   root    40 Nov  8 17:08 credentials
drwxr-xr-x  3 root   lp      80 Nov  8 17:08 cups
drwxr-xr-x  2 root   root    60 Nov  8 17:08 dbus
srw-rw----  1 root   docker   0 Nov  8 17:08 docker.sock
drwxr-xr-x  2 root   root    80 Nov  8 17:08 faillock
-rw-r--r--  1 root   root     5 Nov  8 17:08 gpm.pid
prw-------  1 root   root     0 Nov  8 17:08 initctl
drwxr-x---  2 root   root    60 Nov  8 17:08 initramfs
drwx--x--x  3 root   root    60 Nov  8 17:08 lightdm
-rw-r--r--  1 root   root     5 Nov  8 17:08 lightdm.pid
drwxr-xr-x  2 root   root    60 Nov  8 17:08 lock
drwxr-xr-x  3 root   root    60 Nov  8 17:08 log
drwxr-xr-x  2 root   root    40 Nov  8 17:08 mount
drwxr-xr-x  2 mysql  mysql  140 Nov  8 17:11 mysqld
srwxrwxrwx  1 root   root     0 Nov  8 17:08 nvidia-xdriver-b25b1208
-rw-r--r--  1 nobody root     5 Nov  8 17:10 rpc.statd.pid
drwxr-x---  2 root   root    40 Nov  8 17:08 rpcbind
-r--r--r--  1 root   root     0 Nov  8 17:08 rpcbind.lock
srw-rw-rw-  1 root   root     0 Nov  8 17:08 rpcbind.sock
-rw-------  1 root   root     5 Nov  8 17:10 sm-notify.pid
drwxr-xr-x  3 root   root    60 Nov  8 17:11 sudo
srwxr-xr-x  1 root   root     0 Nov  8 17:10 syslog-ng.ctl
-rw-r--r--  1 root   root     5 Nov  8 17:10 syslog-ng.pid
drwxr-xr-x 21 root   root   520 Nov  8 17:11 systemd
drwxr-xr-x  2 root   root    60 Nov  8 17:08 tmpfiles.d
drwxr-xr-x  7 root   root   160 Nov  8 19:35 udev
drwx------  2 root   root    40 Nov  8 17:08 udisks2
drwxr-xr-x  3 root   root    60 Nov  8 17:08 user


but /var/run/utmp not.
Comment 6 Tamer Higazi 2021-11-08 20:35:37 UTC
(In reply to Tamer Higazi from comment #5)
> /var/run is there, but not (In reply to Sam James from comment #4)
> > This seems suspicious:
> > 
> > Nov 07 07:42:37 tux systemd-logind[1122]: Failed to read /var/run/utmp,
> > ignoring: No such file or directory
> > 
> > Is /var/run there at all?
> 
> Yes.
> 
> tamer@tux ~ $ ls -lA /var/run/
> total 20
> -rw-------  1 root   root     0 Nov  8 17:08 agetty.reload
> drwxr-xr-x  2 root   root    40 Nov  8 17:08 credentials
> drwxr-xr-x  3 root   lp      80 Nov  8 17:08 cups
> drwxr-xr-x  2 root   root    60 Nov  8 17:08 dbus
> srw-rw----  1 root   docker   0 Nov  8 17:08 docker.sock
> drwxr-xr-x  2 root   root    80 Nov  8 17:08 faillock
> -rw-r--r--  1 root   root     5 Nov  8 17:08 gpm.pid
> prw-------  1 root   root     0 Nov  8 17:08 initctl
> drwxr-x---  2 root   root    60 Nov  8 17:08 initramfs
> drwx--x--x  3 root   root    60 Nov  8 17:08 lightdm
> -rw-r--r--  1 root   root     5 Nov  8 17:08 lightdm.pid
> drwxr-xr-x  2 root   root    60 Nov  8 17:08 lock
> drwxr-xr-x  3 root   root    60 Nov  8 17:08 log
> drwxr-xr-x  2 root   root    40 Nov  8 17:08 mount
> drwxr-xr-x  2 mysql  mysql  140 Nov  8 17:11 mysqld
> srwxrwxrwx  1 root   root     0 Nov  8 17:08 nvidia-xdriver-b25b1208
> -rw-r--r--  1 nobody root     5 Nov  8 17:10 rpc.statd.pid
> drwxr-x---  2 root   root    40 Nov  8 17:08 rpcbind
> -r--r--r--  1 root   root     0 Nov  8 17:08 rpcbind.lock
> srw-rw-rw-  1 root   root     0 Nov  8 17:08 rpcbind.sock
> -rw-------  1 root   root     5 Nov  8 17:10 sm-notify.pid
> drwxr-xr-x  3 root   root    60 Nov  8 17:11 sudo
> srwxr-xr-x  1 root   root     0 Nov  8 17:10 syslog-ng.ctl
> -rw-r--r--  1 root   root     5 Nov  8 17:10 syslog-ng.pid
> drwxr-xr-x 21 root   root   520 Nov  8 17:11 systemd
> drwxr-xr-x  2 root   root    60 Nov  8 17:08 tmpfiles.d
> drwxr-xr-x  7 root   root   160 Nov  8 19:35 udev
> drwx------  2 root   root    40 Nov  8 17:08 udisks2
> drwxr-xr-x  3 root   root    60 Nov  8 17:08 user
> 
> 
> but /var/run/utmp not.

I created as a "TEST" the folder /var/run/utmp and executed the commands:
systemctl --user restart wireplumber.service 
and "wireplumber" in the shell.

The result remains the same.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-11-11 03:55:56 UTC
May be worth stracing systemd to see what path it's trying to get that supposedly doesn't exist.

You said you created the utmp path -- does that error still appear?

CCing systemd@ to help with the logind monitor error.
Comment 8 Eugene Shalygin 2021-11-12 11:20:01 UTC
/usr/lib/tmpfiles.d/systemd.conf contains "F! /run/utmp 0664 root utmp -", yet there is neither /run/utmp nor /var/run/utmp in my system and the same problem with pipewire.
Comment 9 Eugene Shalygin 2021-11-12 12:05:57 UTC
See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/99#note_1155739

diff --git a/modules/module-logind.c b/modules/module-logind.c
index 57e0c23..007cf5d 100644
--- a/modules/module-logind.c
+++ b/modules/module-logind.c
@@ -71,7 +71,7 @@ wp_logind_enable (WpPlugin * plugin, WpTransition * transition)
   WpLogind *self = WP_LOGIND (plugin);
   int res = 0;
 
-  if ((res = sd_login_monitor_new (NULL, &self->monitor)) < 0) {
+  if ((res = sd_login_monitor_new ("session", &self->monitor)) < 0) {
     wp_transition_return_error (transition, g_error_new (G_IO_ERROR,
             g_io_error_from_errno (-res),
             "failed to start systemd logind monitor: %d (%s)",
Comment 10 Eugene Shalygin 2021-11-12 13:31:07 UTC
For the @systemd team: calling sd_login_monitor_new(NULL, ...) results in attempt to access /run/systemd/machines/, which does not exist and sd_login_monitor_new() returns -ENOENT.
Comment 11 Mike Gilbert gentoo-dev 2021-11-12 14:00:58 UTC
(In reply to Eugene Shalygin from comment #10)
> For the @systemd team: calling sd_login_monitor_new(NULL, ...) results in
> attempt to access /run/systemd/machines/, which does not exist and
> sd_login_monitor_new() returns -ENOENT.

/run/systemd/machines should be created by systemd-tmpfiles.

https://github.com/systemd/systemd/blob/v249/tmpfiles.d/systemd.conf.in#L19

It sounds like several directories that are supposed to be created by systemd-tmpfiles are missing on your system. My guess is that you have done something to interfere with it, intentionally or not.
Comment 12 Eugene Shalygin 2021-11-12 15:24:07 UTC
(In reply to Mike Gilbert from comment #11)

The directory is here, and created as /usr/lib/tmpfiles.d/systemd.conf instructs:
(d /run/systemd/machines 0755 root root -):

$ ls -l /run/systemd | grep machines
drwxr-xr-x  2 root            root              40 Nov 12 13:40 machines

But users can't access it as the wireplumber service tries to do.
Comment 13 Mike Gilbert gentoo-dev 2021-11-12 15:31:45 UTC
(In reply to Eugene Shalygin from comment #12)

That's different from what you said in comment 10.

Given those permissions, any user should be able to access it. It should certainly not result in ENOENT.

Are you running something like grsecurity, apparmor, or selinux?
Comment 14 Eugene Shalygin 2021-11-12 15:33:16 UTC
Hmm, now the sd_login_monitor_new(NULL, ...) call works. I ran machinectl at the time when the directory was created. So it is indeed is not created by the the tmpfiles setup service...
Comment 15 Mike Gilbert gentoo-dev 2021-11-12 15:52:40 UTC
Does it work immediately after rebooting?

If not, please pastebin the output of "systemd-tmpfiles --cat-config".
Comment 16 Eugene Shalygin 2021-11-12 16:39:32 UTC
(In reply to Mike Gilbert from comment #13)
> (In reply to Eugene Shalygin from comment #12)

`systemd-analyze verify default.target` showed a dependency loop for the local-fs.target. After resolving it everything works, all the tmp files (including /var/run/utmp) are created on boot. 

Still a bit puzzled why did systemd did not cry out very loud about this error? I mean there were neither errors in the journactl output nor errored services in the systemctl list...
Comment 17 Eugene Shalygin 2021-11-12 16:42:04 UTC
This utmp clue helped me to resolve another long standing problem with services. Thank you very much, Mike!
Comment 18 Tamer Higazi 2021-11-14 09:44:48 UTC
Created attachment 751041 [details]
systemd cat_config
Comment 19 Tamer Higazi 2021-11-14 09:47:05 UTC
Created attachment 751044 [details]
emerge --info
Comment 20 Tamer Higazi 2021-11-14 09:49:47 UTC
Created attachment 751047 [details]
systemd-analyze verify default.target
Comment 21 Tamer Higazi 2021-11-14 09:52:39 UTC
(In reply to Eugene Shalygin from comment #16)
> (In reply to Mike Gilbert from comment #13)
> > (In reply to Eugene Shalygin from comment #12)
> 
> `systemd-analyze verify default.target` showed a dependency loop for the
> local-fs.target. After resolving it everything works, all the tmp files
> (including /var/run/utmp) are created on boot. 
> 
> Still a bit puzzled why did systemd did not cry out very loud about this
> error? I mean there were neither errors in the journactl output nor errored
> services in the systemctl list...

Hi Eugene, 
I think you are a bit more familiar with this issue.
Can you help me soling the problem ? 

When I look at your last posting, there was written that after you solved the dependencies problems. 

Well, I got only "suspiscious links" waring, but no dependecy problem so far....

Any ideas ? 


best, Tamer
Comment 22 Tamer Higazi 2021-11-14 10:15:56 UTC
when executing "systemd-analyze verify default.target" there were 2 problems:

/lib/systemd/system/lightdm.service:8: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
/lib/systemd/system/gpm.service:7: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.

which I solved.

After rebooting "systemd-analyze verify default.target" does not show me any error any warning and errors anymore.

The problem remains.

tamer@tux ~ $ systemctl --user status wireplumber 
× wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2021-11-14 11:05:05 CET; 9min ago
    Process: 1387 ExecStart=/usr/bin/wireplumber (code=exited, status=70)
   Main PID: 1387 (code=exited, status=70)

Nov 14 11:05:05 tux systemd[1252]: wireplumber.service: Failed with result 'exit-code'.
Nov 14 11:05:05 tux systemd[1252]: wireplumber.service: Scheduled restart job, restart counter is at 5.
Nov 14 11:05:05 tux systemd[1252]: Stopped Multimedia Service Session Manager.
Nov 14 11:05:05 tux systemd[1252]: wireplumber.service: Start request repeated too quickly.
Nov 14 11:05:05 tux systemd[1252]: wireplumber.service: Failed with result 'exit-code'.
Nov 14 11:05:05 tux systemd[1252]: Failed to start Multimedia Service Session Manager.

tamer@tux ~ $ systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-14 11:05:04 CET; 10min ago
TriggeredBy: ● pipewire.socket
   Main PID: 1260 (pipewire)
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1260 /usr/bin/pipewire

Nov 14 11:05:04 tux systemd[1252]: Started PipeWire Multimedia Service.
Comment 23 Tamer Higazi 2021-11-14 10:18:24 UTC
Created attachment 751050 [details]
merge --info wireplumber pipewire

Updated packages to:
media-video/wireplumber-0.4.5::gentoo
media-video/pipewire-0.3.40-r1::gentoo
Comment 24 Eugene Shalygin 2021-11-14 13:56:56 UTC
(In reply to Tamer Higazi from comment #21)
> Hi Eugene, 
> I think you are a bit more familiar with this issue.
> Can you help me soling the problem ? 

I started with strace, as Mike suggested, to find out what filesystem entry is missing (No such file or directory).  You can run `strace wireplumber` and look for ENOENT in output. Or you can create a simple test program with just the failing systemd call. 

$ cat sd-test.c
#include <systemd/sd-login.h>
#include <stdio.h>

void main()
{
        struct sd_login_monitor* monitor;
        printf("%d", sd_login_monitor_new(NULL, &monitor));
}

You compile it as `gcc sd-test.c -lsystemd` and then run `strace a.out`. The test would produce much less output.

In any case you will find out the missing file or directory. Then you can check `systemctl status local-fs.target` output. I presume you will find this target in a failed state.
Comment 25 Tamer Higazi 2021-11-30 16:22:32 UTC
(In reply to Eugene Shalygin from comment #24)
> (In reply to Tamer Higazi from comment #21)
> > Hi Eugene, 
> > I think you are a bit more familiar with this issue.
> > Can you help me soling the problem ? 
> 
> I started with strace, as Mike suggested, to find out what filesystem entry
> is missing (No such file or directory).  You can run `strace wireplumber`
> and look for ENOENT in output. Or you can create a simple test program with
> just the failing systemd call. 
> 
> $ cat sd-test.c
> #include <systemd/sd-login.h>
> #include <stdio.h>
> 
> void main()
> {
>         struct sd_login_monitor* monitor;
>         printf("%d", sd_login_monitor_new(NULL, &monitor));
> }
> 
> You compile it as `gcc sd-test.c -lsystemd` and then run `strace a.out`. The
> test would produce much less output.
> 
> In any case you will find out the missing file or directory. Then you can
> check `systemctl status local-fs.target` output. I presume you will find
> this target in a failed state.

I had exactly 2 file or folders that cannot be found.

access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
which is according gentoo knowledge base not really an error:
https://wiki.gentoo.org/wiki/Knowledge_Base:Object_libsandbox.so_from_LD_PRELOAD_cannot_be_preloaded

and the second one was:

inotify_add_watch(3, "/run/systemd/machines/", IN_MOVED_TO|IN_DELETE) = -1 ENOENT (No such file or directory)

where the subfolder /run/systemd/machines did not exist. 
I created it by hand (as root) and restarted as user wireplumber:
systemctl --user restart wireplumber

and immediatly sound service was available.

It could be that I have to recreate everytime the folder /run/systemd/machines when I restart my computer.

I put the status on "CANTFIX" as this is only a workaround.


Thanks
Comment 26 Tamer Higazi 2021-11-30 16:23:55 UTC
edia-video/wireplumber-0.4.5::gentoo was built with the following:
USE="systemd (-elogind) -test" ABI_X86="(64)" LUA_SINGLE_TARGET="lua5-4 -lua5-3"
FEATURES="userfetch merge-sync usersandbox assume-digests ipc-sandbox sandbox multilib-strict userpriv fixlafiles preserve-libs ebuild-locks unmerge-logs protect-owned binpkg-docompress binpkg-logs binpkg-dostrip unknown-features-warn distlocks pid-sandbox strict qa-unresolved-soname-deps unmerge-orphans news xattr sfperms network-sandbox parallel-fetch usersync config-protect-if-modified"


media-video/pipewire-0.3.40-r1::gentoo was built with the following:
USE="bluetooth doc extra gstreamer jack-client pipewire-alsa systemd v4l -echo-cancel -jack-sdk -test" ABI_X86="(64) -32 (-x32)"
FEATURES="userfetch merge-sync usersandbox assume-digests ipc-sandbox sandbox multilib-strict userpriv fixlafiles preserve-libs ebuild-locks unmerge-logs protect-owned binpkg-docompress binpkg-logs binpkg-dostrip unknown-features-warn distlocks pid-sandbox strict qa-unresolved-soname-deps unmerge-orphans news xattr sfperms network-sandbox parallel-fetch usersync config-protect-if-modified"
Comment 27 Niklāvs Koļesņikovs 2021-11-30 16:30:33 UTC
CANTFIX means it's something we can't fix. Please do not close bugs as that yourself, unless you want people to ignore your issue. :) I'll reopen it so that this can be addressed.

Regarding your issue, I'm not familiar with this part of the OS but for starters do you have sys-apps/systemd-tmpfiles installed and is it installing anything similar to /usr/lib/tmpfiles.d/systemd.conf ? Also worth considering is that you do not have something like INSTALL_MASK="*systemd*" set - that would cause not only this issue but potentially break your system upon switching to hwdata + hwdb instead of the hwids that you might have installed right now.
Comment 28 Niklāvs Koļesņikovs 2021-11-30 16:37:02 UTC
Sorry, I seem to have missed that you're using systemd. In that case you should check:

systemctl status systemd-tmpfiles-setup.service

and if that does not make it clearer, then this, too:

systemctl list-units --failed
Comment 29 Tamer Higazi 2021-12-01 05:10:37 UTC
Created attachment 757115 [details]
sys-apps/systemd-tmpfiles conflict install error

emerge -pv sys-apps/systemd-tmpfiles
Comment 30 Tamer Higazi 2021-12-01 05:14:04 UTC
(In reply to Niklāvs Koļesņikovs from comment #27)
> CANTFIX means it's something we can't fix. Please do not close bugs as that
> yourself, unless you want people to ignore your issue. :) I'll reopen it so
> that this can be addressed.
> 
> Regarding your issue, I'm not familiar with this part of the OS but for
> starters do you have sys-apps/systemd-tmpfiles installed and is it
> installing anything similar to /usr/lib/tmpfiles.d/systemd.conf ? Also worth
> considering is that you do not have something like INSTALL_MASK="*systemd*"
> set - that would cause not only this issue but potentially break your system
> upon switching to hwdata + hwdb instead of the hwids that you might have
> installed right now.

the package sys-apps/systemd-tmpfiles comes with a block. I attached the txt file.
The /usr/lib/tmpfiles.d/systemd.conf exist and has this content:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

d /run/user 0755 root root -
F! /run/utmp 0664 root utmp -

d /run/systemd/ask-password 0755 root root -
d /run/systemd/seats 0755 root root -
d /run/systemd/sessions 0755 root root -
d /run/systemd/users 0755 root root -
d /run/systemd/machines 0755 root root -
d /run/systemd/shutdown 0755 root root -
d /run/systemd/netif 0755 systemd-network systemd-network -
d /run/systemd/netif/links 0755 systemd-network systemd-network -
d /run/systemd/netif/leases 0755 systemd-network systemd-network -
d /run/systemd/netif/lldp 0755 systemd-network systemd-network -

d /run/log 0755 root root -

z /run/log/journal 2755 root systemd-journal - -
Z /run/log/journal/%m ~2750 root systemd-journal - -
a+ /run/log/journal    - - - - d:group::r-x,d:group:adm:r-x,d:group:wheel:r-x,group::r-x,group:adm:r-x,group:wheel:r-x
a+ /run/log/journal/%m - - - - d:group:adm:r-x,d:group:wheel:r-x,group:adm:r-x,group:wheel:r-x
a+ /run/log/journal/%m/*.journal* - - - - group:adm:r--,group:wheel:r--

z /var/log/journal 2755 root systemd-journal - -
z /var/log/journal/%m 2755 root systemd-journal - -
z /var/log/journal/%m/system.journal 0640 root systemd-journal - -
a+ /var/log/journal    - - - - d:group::r-x,d:group:adm:r-x,d:group:wheel:r-x,group::r-x,group:adm:r-x,group:wheel:r-x
a+ /var/log/journal/%m - - - - d:group:adm:r-x,d:group:wheel:r-x,group:adm:r-x,group:wheel:r-x
a+ /var/log/journal/%m/system.journal - - - - group:adm:r--,group:wheel:r--

d /var/lib/systemd 0755 root root -
d /var/lib/systemd/coredump 0755 root root 3d

d /var/lib/private 0700 root root -
d /var/log/private 0700 root root -
d /var/cache/private 0700 root root -
Comment 31 Tamer Higazi 2021-12-01 05:16:13 UTC
(In reply to Niklāvs Koļesņikovs from comment #28)
> Sorry, I seem to have missed that you're using systemd. In that case you
> should check:
> 
> systemctl status systemd-tmpfiles-setup.service
> 
> and if that does not make it clearer, then this, too:
> 
> systemctl list-units --failed

tamer@tux ~ $ systemctl status systemd-tmpfiles-setup.service
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
     Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static)
     Active: active (exited) since Wed 2021-12-01 06:03:33 CET; 11min ago
       Docs: man:tmpfiles.d(5)
             man:systemd-tmpfiles(8)
    Process: 1134 ExecStart=systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=73)
   Main PID: 1134 (code=exited, status=73)

Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal/162ba1f63dd112eb084b008c5c68ed46.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal/162ba1f63dd112eb084b008c5c68ed46.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal/162ba1f63dd112eb084b008c5c68ed46.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /run (owned by root) during canonicalization of /run/log/journal.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /run (owned by root) during canonicalization of /run/log/journal.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal/162ba1f63dd112eb084b008c5c68ed46/system.journal.
Dec 01 06:03:33 tux systemd-tmpfiles[1134]: Detected unsafe path transition / (owned by tamer) → /var (owned by root) during canonicalization of /var/log/journal/162ba1f63dd112eb084b008c5c68ed46/system.journal.
Dec 01 06:03:33 tux systemd[1]: Finished Create Volatile Files and Directories.


and systemctl list-units --failed:

  UNIT                                 LOAD   ACTIVE SUB    DESCRIPTION                      
● systemd-networkd-wait-online.service loaded failed failed Wait for Network to be Configured

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
1 loaded units listed.
Comment 32 Niklāvs Koļesņikovs 2021-12-01 12:38:26 UTC
To me it looks like it would be reasonable to change ownership of / from your user to root:

sudo chown root:root /

After that reboot and maybe the issue will be gone (if not, check the output of systemctl status systemd-tmpfiles-setup.service again).
Comment 33 Tamer Higazi 2021-12-01 23:15:21 UTC
(In reply to Niklāvs Koļesņikovs from comment #32)
> To me it looks like it would be reasonable to change ownership of / from
> your user to root:
> 
> sudo chown root:root /
> 
> After that reboot and maybe the issue will be gone (if not, check the output
> of systemctl status systemd-tmpfiles-setup.service again).

And you were ABSOLUTELY RIGHT by changing the ownership of / to root:root
that solved the problem.


Now when I run systemctl status systemd-tmpfiles-setup.service I get this:

● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
     Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static)
     Active: active (exited) since Thu 2021-12-02 00:11:07 CET; 1min 17s ago
       Docs: man:tmpfiles.d(5)
             man:systemd-tmpfiles(8)
    Process: 1117 ExecStart=systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=0/SUCCESS)
   Main PID: 1117 (code=exited, status=0/SUCCESS)

Dec 02 00:11:07 tux systemd[1]: Starting Create Volatile Files and Directories...
Dec 02 00:11:07 tux systemd-tmpfiles[1117]: /usr/lib/tmpfiles.d/mysql.conf:1: Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
Dec 02 00:11:07 tux systemd[1]: Finished Create Volatile Files and Directories


That solved my problem.

Thank you all!


Tamer