Package: gnome-settings-daemon Version: 46.0-1+b3 Severity: normal Tags: patch upstream X-Debbugs-Cc: segfa...@riseup.net
The systemd OOM notification functionality of gnome-settings-daemon is broken on Debian. On Fedora, a notification is shown when a process is OOM-killed. On Debian, it only works after applying the attached patch, which calls the Subscribe() method of org.freedesktop.systemd1.Manager. It's not clear to me why it works without the patch on Fedora. I also created an issue and MR upstream, but upstream is waiting on a confirmation that the systemd behavior (not sending the PropertiesChanged signal unless Subscribe() was called) is expected. Upstream issue: https://gitlab.gnome.org/GNOME/gnome-settings- daemon/-/issues/790 Upstream MR: https://gitlab.gnome.org/GNOME/gnome-settings- daemon/-/merge_requests/366 -- System Information: Debian Release: trixie/sid APT prefers unstable APT policy: (990, 'unstable'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 6.7.9-amd64 (SMP w/16 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages gnome-settings-daemon depends on: ii gnome-settings-daemon-common 46.0-1 ii gsettings-desktop-schemas 46.0-1 ii libasound2t64 1.2.11-1+b1 ii libc6 2.37-19 ii libcairo2 1.18.0-3+b1 ii libcanberra-gtk3-0t64 [libcanberra-gtk3-0] 0.30-12.2+b2 ii libcanberra0 0.30-16 ii libcolord2 1.4.7-1+b1 ii libcups2t64 2.4.7-1.2+b1 ii libfontconfig1 2.15.0-1.1 ii libgck-2-2 4.2.0-5 ii libgcr-4-4 4.2.0-5 ii libgdk-pixbuf-2.0-0 2.42.10+dfsg-3+b3 ii libgeoclue-2-0 2.7.1-2+b1 ii libgeocode-glib-2-0 3.26.3-6+b2 ii libglib2.0-0t64 2.78.4-7 ii libgnome-desktop-3-20t64 44.0-5 ii libgtk-3-0t64 3.24.41-4 ii libgudev-1.0-0 238-5 ii libgweather-4-0t64 4.4.2-1 ii libmm-glib0 1.22.0-3+b1 ii libnm0 1.46.0-2 ii libnotify4 0.8.3-1+b1 ii libp11-kit0 0.25.3-5 ii libpam-systemd [logind] 255.5-1 ii libpango-1.0-0 1.52.1+ds-1 ii libpangocairo-1.0-0 1.52.1+ds-1 ii libpolkit-gobject-1-0 124-2 ii libpulse-mainloop-glib0 16.1+dfsg1-5 ii libpulse0 16.1+dfsg1-5 ii libspa-0.2-bluetooth 1.0.5-1+b3 ii libsystemd0 255.5-1 ii libupower-glib3 1.90.3-1 ii libwacom9 2.10.0-2 ii libwayland-client0 1.22.0-2.1+b1 ii libx11-6 2:1.8.7-1+b1 ii libxext6 2:1.3.4-1+b1 ii libxfixes3 1:6.0.0-2+b1 ii libxi6 2:1.8.1-1 ii pipewire-audio 1.0.5-1 Versions of packages gnome-settings-daemon recommends: ii iio-sensor-proxy 3.5-1+b2 ii pipewire-audio 1.0.5-1 ii pkexec 124-2 ii x11-xserver-utils 7.7+10+b1 Versions of packages gnome-settings-daemon suggests: pn usbguard <none> -- no debconf information
diff --git a/plugins/housekeeping/gsd-systemd-notify.c b/plugins/housekeeping/gsd-systemd-notify.c index 39984f5d..57421cc5 100644 --- a/plugins/housekeeping/gsd-systemd-notify.c +++ b/plugins/housekeeping/gsd-systemd-notify.c @@ -204,6 +204,22 @@ on_bus_gotten (GDBusConnection *obj, } self->session = con; + + // Subscribe to systemd events by calling Subscribe on + // org.freedesktop.systemd1.Manager + g_dbus_connection_call (self->session, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", + "Subscribe", + NULL, + G_VARIANT_TYPE ("()"), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + NULL, + NULL); + self->sub_service = g_dbus_connection_signal_subscribe (self->session, "org.freedesktop.systemd1", "org.freedesktop.DBus.Properties",