From 61d2abdb6fe7ab167a5083780f6cc48fe8ed802b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 28 Aug 2020 13:51:45 -0700 Subject: [PATCH] Backport MR #483 to fix frequent g_variant_unref errors in journal --- ...ntation_emit_signal-don-t-try-to-unr.patch | 35 +++++++++++++++++++ gjs.spec | 8 ++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 0001-gjs_dbus_implementation_emit_signal-don-t-try-to-unr.patch diff --git a/0001-gjs_dbus_implementation_emit_signal-don-t-try-to-unr.patch b/0001-gjs_dbus_implementation_emit_signal-don-t-try-to-unr.patch new file mode 100644 index 0000000..ec57bfc --- /dev/null +++ b/0001-gjs_dbus_implementation_emit_signal-don-t-try-to-unr.patch @@ -0,0 +1,35 @@ +From dc15ab81baf589a071b241da90e2ee83c83baef3 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Fri, 28 Aug 2020 13:33:04 -0700 +Subject: [PATCH] gjs_dbus_implementation_emit_signal: don't try to unref NULL + +07221d6d (which added support for multiple bus connections) +added a `g_variant_unref(parameters)` call here, but it needs to +only be done if `parameters` is not `NULL`. This was causing +frequent "g_variant_unref: assertion 'value != NULL' failed" +errors in the journal, see +https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3102 . + +Signed-off-by: Adam Williamson +--- + libgjs-private/gjs-gdbus-wrapper.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/libgjs-private/gjs-gdbus-wrapper.c b/libgjs-private/gjs-gdbus-wrapper.c +index f7361366..eb0516f9 100644 +--- a/libgjs-private/gjs-gdbus-wrapper.c ++++ b/libgjs-private/gjs-gdbus-wrapper.c +@@ -395,7 +395,9 @@ gjs_dbus_implementation_emit_signal (GjsDBusImplementation *self, + + g_object_unref(iter->data); + } +- g_variant_unref(parameters); ++ if (parameters != NULL) ++ g_variant_unref(parameters); ++ + g_list_free(connections); + } + +-- +2.28.0 + diff --git a/gjs.spec b/gjs.spec index 5d55d19..341dd2f 100644 --- a/gjs.spec +++ b/gjs.spec @@ -5,7 +5,7 @@ Name: gjs Version: 1.65.91 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Javascript Bindings for GNOME # The following files contain code from Mozilla which @@ -15,6 +15,9 @@ Summary: Javascript Bindings for GNOME License: MIT and (MPLv1.1 or GPLv2+ or LGPLv2+) URL: https://wiki.gnome.org/Projects/Gjs Source0: https://download.gnome.org/sources/%{name}/1.65/%{name}-%{version}.tar.xz +# Fix frequent "g_variant_unref: assertion 'value != NULL' failed" errors +# https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/483 +Patch0: 0001-gjs_dbus_implementation_emit_signal-don-t-try-to-unr.patch BuildRequires: cairo-gobject-devel BuildRequires: dbus-daemon @@ -94,6 +97,9 @@ the functionality of the installed gjs package. %{_datadir}/installed-tests/ %changelog +* Fri Aug 28 2020 Adam Williamson - 1.65.91-3 +- Backport MR #483 to fix frequent g_variant_unref errors in journal + * Mon Aug 24 2020 Frantisek Zatloukal - 1.65.91-2 - Rebuild against mozjs78-78.2.0-1