- Package:
- libgdk-pixbuf-2.0-0
- Source:
- libgdk-pixbuf-2.0-0
- Description:
- GDK Pixbuf library
- Submitter:
- Francesco Poli (wintermute)
- Date:
- 2026-08-14 05:01:02 UTC
- Severity:
- normal
Hello!
After the following upgrade:
[UPGRADE] libgdk-pixbuf-2.0-0:amd64 2.44.4+dfsg-1 -> 2.44.5+dfsg-3
the 'volumeicon' program (shipped by Debian package 'volumeicon-alsa')
can run, but fails to become visible in the systray, thus failing to
be of any use.
Downgrading libgdk-pixbuf-2.0-0 to version 2.44.4+dfsg-1 makes 'volumeicon'
work again as usual.
Please investigate and fix this bug and/or forward the bug report upstream,
as appropriate.
Thanks for your time and dedication!
Dear Maintainer, Evince fails to start. Probably it is due to the same problem with libgdk-pixbuf-2.0-0. Error message: Gtk:ERROR:../../../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Tango/scalable/status/image-missing.svg: Could not spawn `"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" "/lib" "--symlink" "/usr/lib64" "/lib64" "--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/simon/.cache/fontconfig" "/home/simon/.cache/fontconfig" "--ro-bind-try" "/home/simon/.fontconfig" "/home/simon/.fontconfig" "--ro-bind-try" "/home/simon/.fonts" "/home/simon/.fonts" "--ro-bind-try" "/var/cache/fontconfig" "/var/cache/fontconfig" "--bind-try" "/home/simon/.cache/glycin/usr/libexec/glycin-loaders/2+/glycin-svg" "/home/simon/.cache/glycin/usr/libexec/glycin-loaders/2+/glycin-svg" "--setenv" "XDG_CACHE_HOME" "/home/simon/.cache/glycin/usr/libexec/glycin-loaders/2+/glycin-svg" "--seccomp" "21" "/usr/libexec/glycin-loaders/2+/glycin-svg" "--dbus-fd" "20"`: Toegang geweigerd (os error 13) (gdk-pixbuf-error-quark, 0) Update history:: Start-Date: 2026-02-14 13:41:31 Install: glycin-loaders:amd64 (2.0.7+ds-5, automatic), glycin-thumbnailers:amd64 (2.0.7+ds-5, automatic), libglycin-2-0:amd64 (2.0.7+ds-5, automatic) Upgrade: libgnome-desktop-3-20t64:amd64 (44.4-1+b1, 44.5-1), gir1.2-gdkpixbuf-2.0:amd64 (2.44.4+dfsg-1, 2.44.5+dfsg-3), libgdk-pixbuf-2.0-0:amd64 (2.44.4+dfsg-1, 2.44.5+dfsg-3), dracut-install:amd64 (109-11, 110-1), gnome-desktop3-data:amd64 (44.4-1, 44.5-1), libgdk-pixbuf2.0-common:amd64 (2.44.4+dfsg-1, 2.44.5+dfsg-3) Remove: libgdk-pixbuf2.0-bin:amd64 (2.44.4+dfsg-1) End-Date: 2026-02-14 13:41:35
For evince see #1127935, which is fixed in unstable.
smcv
Control: reassign -1 src:volumeicon 0.5.1+git20230228-1 Control: affects -1 = src:gdk-pixbuf I'm reassigning to volumeicon for now. Debian's gdk-pixbuf 2.44.5 switched to glycin to provide image loaders. Some apps will need to make adjustments. Thank you, Jeremy Bícha
Control: clone -1 -2 Control: reassign -2 libgdk-pixbuf-2.0-0 2.44.5+dfsg-3 Control: affects -2 = volumeicon-alsa Control: retitle -2 uncoordinated transition causes other packages to break (e.g. volumeicon-alsa) Control: block -2 by -1 It's OK to reassign, if the bug has to be fixed in 'volumeicon-alsa', but please let's also keep an RC bug open in 'libgdk-pixbuf-2.0-0', so that people (especially users of 'apt-listbugs') get warned not to upgrade 'libgdk-pixbuf-2.0-0' until the 'volumeicon-alsa' is fixed... Thanks a lot for your cooperation!
Can confirm volumeicon is broken in sid.
I've seen indications in other bug tracking systems that volumeicon might set SIGCHLD to be ignored. That would be consistent with this symptom: if SIGCHLD is explicitly ignored (set to SIG_IGN), then the child process will disappear immediately instead of briefly becoming a zombie process, therefore it isn't available to be reaped by the parent, and wait4 and similar functions will fail with ECHILD, making exit status unavailable. Unfortunately signal disposition is inheritable state and process-global, so a parent process ignoring SIGCHLD can break its child processes' assumptions (as well as libraries in its own process space). bubblewrap (as used by glycin) relies on process management working normally. The new bubblewrap 0.11.1 release, which I recently uploaded to unstable, works around parent processes that ignore SIGCHLD by explicitly resetting that signal to its default disposition (originally requested for the benefit of Erlang), which might avoid this failure mode - although any non-bubblewrap-related library that expects to be able to wait for subprocesses would likely have the same problem. I couldn't find evidence of volumeicon ignoring this signal in codesearch, but perhaps some library that it uses that ignores this signal, rather than volumeicon itself? https://codesearch.debian.net/search?q=SIGCHLD+package%3Aalsa-lib&literal=0 does point to alsa-lib (libasound) potentially ignoring SIGCHLD under some circumstances, although if it does that consistently, I would have expected it to break subprocess handling in more places. Possibly it only changes signal disposition when accessing audio devices directly, and not in clients of a sound server like PulseAudio or Pipewire? If someone wants to adopt/maintain/reintroduce volumeicon, using a debugger to find which component ignores SIGCHLD (presumably a call to signal() or sigaction()) would probably be a useful direction in which to investigate. ignore SIGCHLD. (If it did, it wouldn't work for anyone, including its maintainer.) smcv
Thanks for the explanation, tricky stuff! volumeicon itself does it: https://github.com/mati75/volumeicon-debian/blob/master/src/volumeicon.c#L1330 Presumably because it can spawn an external mixer, the default is "xterm -e 'alsamixer'". Thanks, Johannes
Huh, I wonder why codesearch didn't find that? Perhaps it was removed
from codesearch's index immediately when it was removed from unstable
(I'd assumed it would still be there for a while, since it's still on
sources.debian.org).
It would be better if it did this with an interface that reaps the
process without needing to ignore SIGCHLD, like g_spawn_async() without
G_SPAWN_DO_NOT_REAP_CHILD, or double-forking (forking in the child_setup
function, in GLib's APIs) to get the process re-parented to something
that will reap it. GLib's API documentation for
g_child_watch_source_new() has a long list of ways that waiting for a
process can fail, unless all the libraries that share a process space
are cooperating with each other.
smcv
I can confirm the new bubblewrap version 0.11.1-1 fixes volumeicon. Thanks, Johannes
I don't think there's anything that we can do in gdk-pixbuf for this complaint, so I'm closing this bug now. Thank you, Jeremy Bícha