You are not logged in.

#1 2025-10-24 00:59:30

tectux
Member
Registered: 2025-10-21
Posts: 8

glycin related coredumps when using systemd unit to auto log in

I'm using a unitfile to automatically start xfce on a tty. When using gdk-pixbuf2 > 2.42.12-2, xfce crashes on startup.

Minimal repro:

[Unit]
After=graphical.target

[Service]
User=test
WorkingDirectory=/home/test

PAMName=login
Environment=XDG_SESSION_TYPE=x11
TTYPath=/dev/tty8
StandardInput=tty

UtmpIdentifier=tty8
UtmpMode=user

ExecStartPre=/usr/bin/chvt 8
ExecStart=/usr/bin/startxfce4 -- vt8 -keeptty
Restart=no

You can find a thread related to such a unit file here: https://forum.archlinux.de/d/34830-auto … und-startx

Changing to

ExecStart=/usr/bin/startx xfwm4 -- vt8 -keeptty

runs, but still causes a few coredumps and doesn't seem usable.

List of crashing programs (possibly non-exhaustive):

tumblerd
xfdesktop
xfce4-panel
xfce4-session

Downgrading to e.g. gdk-pixbuf2 = 2.42.12-2 makes this work again. I've also noticed that omitting

PAMName=login

makes it start up, but you can't interact with it (will lead to freeze).

Can you repro this as well? Do you think I misconfigured the environment (maybe glycin is missing something or can't access something) or is this a bug?
Directly running

startxfce4

in the tty works fine.

Offline

#2 2025-10-24 08:46:45

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,035

Re: glycin related coredumps when using systemd unit to auto log in

Changing to
ExecStart=/usr/bin/startx xfwm4 -- vt8 -keeptty
runs

Your original approach likely breaks logind integration, make sure to have the startxfce4 script source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh

Do you have coredumps for the crashing processes?
https://wiki.archlinux.org/title/Core_d … _core_dump

Edit: if that's not it, check system journal and .xsession-errors for possible explanations for your failing startxfce runs.

Last edited by seth (2025-10-24 08:48:27)

Offline

#3 2025-10-24 17:41:12

tectux
Member
Registered: 2025-10-21
Posts: 8

Re: glycin related coredumps when using systemd unit to auto log in

Hi,
I've tried to use

ExecStart=/usr/bin/startx -- vt8 -keeptty

and put

/etc/X11/xinit/xinitrc.d/50-systemd-user.sh &
startxfce4

into the user's .xinitrc - should that be sufficient?

The result seems to be unchanged.
Here is a stack trace of xfce4-panel: https://termbin.com/tj36
And of xfce4-session: https://termbin.com/lhn3

xfce4-session seems to crash first. Before that happens there are lines about tumblerd complaining about not being able to lead plugins (no such file or directory):
tumbler-raw-thumbnail.so
tumbler-odf-thumbnailer.so
tumbler-gepub-thumbnailer.so
(some more)

tumbler was also crashing before, but didn't this time - previously I disabled all plugins to see if they are the problem.
(I've tried to disable tumbler enough to stop to trying to load the plugins, but I had no success.
But I've just confirmed the above on a fresh install.)

Offline

#4 2025-10-24 19:12:25

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,035

Re: glycin related coredumps when using systemd unit to auto log in

. /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
startxfce4

If xfce4-session crashes the rest will just crash because the session and X11 server are gone.

                #0  0x00007fa36209894c n/a (libc.so.6 + 0x9894c)
                #1  0x00007fa36203e410 raise (libc.so.6 + 0x3e410)
                #2  0x00007fa36202557a abort (libc.so.6 + 0x2557a)
                #3  0x00007fa362358111 n/a (libglib-2.0.so.0 + 0x1e111)
                #4  0x00007fa3623ccf19 g_assertion_message_expr (libglib-2.0.so.0 + 0x92f19)
                #5  0x00007fa363122bbf n/a (libwnck-3.so.0 + 0x29bbf)
                #6  0x00007fa363124308 n/a (libwnck-3.so.0 + 0x2b308)
                #7  0x00007fa3631268e6 n/a (libwnck-3.so.0 + 0x2d8e6)
                #8  0x00007fa363128177 n/a (libwnck-3.so.0 + 0x2f177)
                #9  0x00007fa363110998 n/a (libwnck-3.so.0 + 0x17998)
                #10 0x00007fa363112ad8 n/a (libwnck-3.so.0 + 0x19ad8)
                #11 0x00007fa362398f8d n/a (libglib-2.0.so.0 + 0x5ef8d)
                #12 0x00007fa36239a657 n/a (libglib-2.0.so.0 + 0x60657)
                #13 0x00007fa36239aa17 g_main_loop_run (libglib-2.0.so.0 + 0x60a17)
                #14 0x00007fa362b6bc0f gtk_main (libgtk-3.so.0 + 0x36bc0f)
                #15 0x00005586b903f213 main (/usr/bin/xfce4-session + 0x11213)
                #16 0x00007fa362027675 n/a (libc.so.6 + 0x27675)
                #17 0x00007fa362027729 __libc_start_main (libc.so.6 + 0x27729)
                #18 0x00005586b903f4f5 _start (/usr/bin/xfce4-session + 0x114f5)

and it aborts on an assertion

. /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
xterm

And then run "startxfce4" in the xterm.
Also check "printenv" because you might lack some variables you otherwise export in your shell rc?

Offline

#5 2025-10-24 20:04:17

tectux
Member
Registered: 2025-10-21
Posts: 8

Re: glycin related coredumps when using systemd unit to auto log in

Xterm does make it easier to see the error (I've seen it before while testing this):

/usr/bin/startxfce4: X server already running on display :0
Another Window Manager (Xfwm4) is already running on screen :0.0
To replace the current window manager, try "--replace"
Bail out! Wnck:ERROR:../libwnck/libwnck/xutils.c:1510:default_icon_at_size: assertion failed: (base)
Bail out! Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/elementary/status/24/image-missing.svg: Loader process exited early with status '1'Command:  "bwrap" "--unshare-all" "--die-with-parent" "--chdir" "/" "--ro-bind" "/usr" "/usr" "--dev" "/dev" "--ro-bind-try" "/etc/ld.so.cache" "/etc/ld.so.cache" "--ro-bind-try" "/nix/store" "/nix/store" "--tmpfs" "/tmp-home" "--tmpfs" "/tmp-run" "--clearenv" "--setenv" "HOME" "/tmp-home" "--setenv" "XDG_RUNTIME_DIR" "/tmp-run" "--setenv" "XDG_RUNTIME_DIR" "/run/user/1000" "--symlink" "/usr/lib" "/lib64" "--symlink" "/usr/lib" "/lib" "--ro-bind-try" "/etc/fonts/conf.d" "/etc/fonts/conf.d" "--ro-bind-try" "/etc/fonts/fonts.conf" "/etc/fonts/fonts.conf" "--ro-bind-try" "/home/test/.cache/fontconfig" "/home/test/.cache/fontconfig" "--ro-bind-try" "/var/cache/fontconfig" "/var/cache/fontconfig" "--bind-try" "/home/test/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg" "/home/test/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg" "--setenv" "XDG_CACHE_HOME" "/home/test/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg" "--seccomp" "21" "/usr/lib/glycin-loaders/2+/glycin-svg" "--dbus-fd" "20" (gdk-pixbuf-error-quark, 0) 

Also, here is the stderr:

(xfce4-session:2141): xfce4-session-WARNING **: 20:23:08.588: No SSH authentication agent found
gpg-agent: a gpg-agent is already running - not starting a new one

(xfwm4:2170): xfwm4-WARNING **: 20:23:08.639: Could not find a screen to manage, exiting

(xfce4-panel:2180): Gtk-WARNING **: 20:23:08.769: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Wnck:ERROR:../libwnck/libwnck/xutils.c:1510:default_icon_at_size: assertion failed: (base)

(xfce4-panel:2180): libxfce4ui-WARNING **: 20:23:09.011: ICE I/O Error

(xfce4-panel:2180): libxfce4ui-WARNING **: 20:23:09.011: Disconnected from session manager.

(xfce4-panel:2180): Gtk-WARNING **: 20:23:09.033: Invalid icon size 16
**
Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/elementary/status/24/image-missing.svg: Loader process exited early with status '1'Command:
 "bwrap" "--unshare-all" "--die-with-parent" "--chdir" "/" "--ro-bind" "/usr" "/usr" "--dev" "/dev" "--ro-bind-try" "/etc/ld.so.cache" "/etc/ld.so.cache" "--ro-bind-try" "/nix/store" "/nix/store" "--tmpfs" "/tmp-home" "--tmpfs" "/tmp-run" "--clearenv" "--setenv" "HOME" "/tmp-home" "--setenv" "XDG_RUNTIME_DIR" "/tmp-run" "--symlink" "/usr/lib" "/lib64" "--symlink" "/usr/lib" "/lib" "--ro-bind-try" "/etc/fonts/conf.d" "/etc/fonts/conf.d" "--ro-bind-try" "/etc/fonts/fonts.conf" "/etc/fonts/fonts.conf" "--ro-bind-try" "/home/test/.cache/fontconfig" "/home/test/.cache/fontconfig" "--ro-bind-try" "/var/cache/fontconfig" "/var/cache/fontconfig" "--bind-try" "/home/test/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg" "/home/test/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg" "--setenv" "XDG_CACHE_HOME" "/home/test/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg" "--seccomp" "21" "/usr/lib/glycin-loaders/2+/glycin-svg" "--dbus-fd" "20" (gdk-pixbuf-error-quark, 0)

I'm pretty sure I'm not lacking something in env that I've had before - It just may be that I need something new. It works just fine when downgrading gdk-pixbuf2 ...

Seems like it can't find the pixbuf loaders even though they are in /usr/lib/glycin-loaders/2+/ or maybe it can't parse the svg that's part of xfce: /usr/share/icons/elementary/status/24/image-missing.svg
I've tried to delete the svg, but it still crashes while mentioning "Invalid icon size 16" (and no such file or directory).

Last edited by tectux (2025-10-24 20:30:41)

Offline

#6 2025-10-24 20:58:12

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,035

Re: glycin related coredumps when using systemd unit to auto log in

/usr/bin/startxfce4: X server already running on display :0
Another Window Manager (Xfwm4) is already running on screen :0.0

How does that happen?

So loading the image fails, let's say because glycin is stupid or you don't have the icon or it's bogus - why would that result in xfce4-session to abort?
Also the glycin error comes after the xfce4-session (?) assertion?

Don't run the script, but just "xfce4-session"

Offline

#7 2025-10-24 22:28:57

tectux
Member
Registered: 2025-10-21
Posts: 8

Re: glycin related coredumps when using systemd unit to auto log in

seth wrote:
/usr/bin/startxfce4: X server already running on display :0
Another Window Manager (Xfwm4) is already running on screen :0.0

How does that happen?

heh, probably by running startxfce4 multiple times (not related to error, I think). I've rebooted before running xfce4-session in xterm:
xfce4-session &> session.log
Aborted (core dumped)

seth wrote:

why would that result in xfce4-session to abort?
Also the glycin error comes after the xfce4-session (?) assertion?

not sure. Maybe xfce4-session can't handle the image loader refusing to return any data (because of a panic?) instead of e.g. an error and crashes too?
The weird part is that it works normally when running startxfce4 in a tty without a unit file.
Somehow it's losing the ability to load the loaders. Perhaps it's bwrap that can't deal with the environment...

I also tried to run the bwrap command.
Inside the unitfile (xterm), I get:

bwrap: Unexped capabilties but not setuid, old file caps config?

In a plain tty, I get (I have no open fd to offer, so that may be expected):

bwrap: Can't read seccomp data: Bad file desciptor

I've also tried to compare the caps, but

cat /proc/<PID>/status | grep Cap
capsh --decode=[...]

seem to indicate that there is no difference in caps (of the pids) ...

Last edited by tectux (2025-10-24 22:37:54)

Offline

#8 2025-10-24 23:29:37

tectux
Member
Registered: 2025-10-21
Posts: 8

Re: glycin related coredumps when using systemd unit to auto log in

I seem to have found the problem:
https://gitlab.postmarketos.org/postmar … ssues/3868

With

ExecStart=/usr/bin/setpriv --ambient-caps="-all" /usr/bin/startxfce4 -- vt8 -keeptty

Everything seems to work again. Not sure if it's a bug, but it's a new problem which may affect other software started by a unitfile as well.

Instead of setpriv, this seems to work as well:

CapabilityBoundingSet=
AmbientCapabilities=

Offline

#9 2025-10-25 06:52:43

lambdarch
Member
From: France
Registered: 2021-01-10
Posts: 106
Website

Re: glycin related coredumps when using systemd unit to auto log in

tectux wrote:
seth wrote:

why would that result in xfce4-session to abort?
Also the glycin error comes after the xfce4-session (?) assertion?

not sure. Maybe xfce4-session can't handle the image loader refusing to return any data (because of a panic?) instead of e.g. an error and crashes too?

No, the program simply aborts because that is what it is instructed to do in libwnck when loading the pixbuf fails: https://gitlab.gnome.org/GNOME/libwnck/ … ls.c#L1510

Offline

#10 2025-10-25 07:42:01

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,035

Re: glycin related coredumps when using systemd unit to auto log in

[Edit: for gdk-pixbuf2-noglycin]
https://bbs.archlinux.org/viewtopic.php … 4#p2269344
Problem seems librsvg…

Last edited by seth (2025-10-25 15:15:41)

Offline

#11 2025-10-25 10:43:51

tectux
Member
Registered: 2025-10-21
Posts: 8

Re: glycin related coredumps when using systemd unit to auto log in

lambdarch wrote:
tectux wrote:
seth wrote:

why would that result in xfce4-session to abort?
Also the glycin error comes after the xfce4-session (?) assertion?

not sure. Maybe xfce4-session can't handle the image loader refusing to return any data (because of a panic?) instead of e.g. an error and crashes too?

No, the program simply aborts because that is what it is instructed to do in libwnck when loading the pixbuf fails: https://gitlab.gnome.org/GNOME/libwnck/ … ls.c#L1510

Ok, that makes sense. But pixbuf fails because bwrap fails. Making bwrap happy made it work for me.

https://github.com/containers/bubblewrap/issues/380

Offline

Board footer

Powered by FluxBB