Bug#1006752: bullseye-pu: package epiphany-browser/3.38.2-1+deb11u2
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
[ Reason ]
There is an open bug in GLib[1] that is crashing the Epiphany web
browser (debian bug #1005810).
While the GLib bug itself hasn't been solved yet this has been worked
around in Epiphany:
https://gitlab.gnome.org/GNOME/epiphany/-/commit/ff8ecbf673cd25f8ed34d4ccb29cc5d3d13cd683
[ Impact ]
Renders the package unusable for some users.
[ Tests ]
Tests passed, no new checks.
[ Risks ]
Low, trivial patch already in all versions of Epiphany starting from
41.0 (including the ones currently in testing and unstable).
[ Checklist ]
[X] *all* changes are documented in the d/changelog
[X] I reviewed all changes and I approve them
[X] attach debdiff against the package in (old)stable
[X] the issue is verified as fixed in unstable
Berto
[1] https://gitlab.gnome.org/GNOME/glib/-/issues/1346
diff -Nru epiphany-browser-3.38.2/debian/changelog epiphany-browser-3.38.2/debian/changelog
--- epiphany-browser-3.38.2/debian/changelog 2022-01-12 18:33:21.000000000 +0100
+++ epiphany-browser-3.38.2/debian/changelog 2022-03-04 11:17:26.000000000 +0100
@@ -1,3 +1,11 @@
+epiphany-browser (3.38.2-1+deb11u2) bullseye; urgency=medium
+
+ * d/p/glib-bug-workaround.patch:
+ - Cherry pick upstream patch ff8ecbf6. This works around a bug in GLib
+ and fixes a UI process crash (Closes: #1005810).
+
+ -- Alberto Garcia <berto@igalia.com> Fri, 04 Mar 2022 11:17:26 +0100
+
epiphany-browser (3.38.2-1+deb11u1) bullseye-security; urgency=medium
* d/p/encode-untrusted-data.patch:
diff -Nru epiphany-browser-3.38.2/debian/patches/glib-bug-workaround.patch epiphany-browser-3.38.2/debian/patches/glib-bug-workaround.patch
--- epiphany-browser-3.38.2/debian/patches/glib-bug-workaround.patch 1970-01-01 01:00:00.000000000 +0100
+++ epiphany-browser-3.38.2/debian/patches/glib-bug-workaround.patch 2022-03-04 11:16:58.000000000 +0100
@@ -0,0 +1,30 @@
+From: Michael Catanzaro <mcatanzaro@redhat.com>
+Subject: remove user data from task to workaround glib bug
+Origin: https://gitlab.gnome.org/GNOME/epiphany/-/commit/ff8ecbf673cd25f8ed34d4ccb29cc5d3d13cd683
+Bug-Debian: https://bugs.debian.org/1005810
+Index: epiphany-browser-3.38.2/src/ephy-session.c
+===================================================================
+--- epiphany-browser-3.38.2.orig/src/ephy-session.c
++++ epiphany-browser-3.38.2/src/ephy-session.c
+@@ -844,6 +844,12 @@ save_session_in_thread_finished_cb (GObj
+ gpointer user_data)
+ {
+ g_application_release (G_APPLICATION (ephy_shell_get_default ()));
++
++ /* FIXME: this is a workaround for https://gitlab.gnome.org/GNOME/glib/-/issues/1346.
++ * After this GLib issue is fixed, we should instead pass save_data_free() as the
++ * GDestroyNotify parameter to g_task_set_task_data().
++ */
++ save_data_free (g_task_get_task_data (G_TASK (res)));
+ }
+
+ static gboolean
+@@ -1026,7 +1032,7 @@ ephy_session_save_idle_cb (EphySession *
+ session->save_cancellable = g_cancellable_new ();
+ task = g_task_new (session, session->save_cancellable,
+ save_session_in_thread_finished_cb, NULL);
+- g_task_set_task_data (task, data, (GDestroyNotify)save_data_free);
++ g_task_set_task_data (task, data, NULL);
+ g_task_run_in_thread (task, save_session_sync);
+ g_object_unref (task);
+
diff -Nru epiphany-browser-3.38.2/debian/patches/series epiphany-browser-3.38.2/debian/patches/series
--- epiphany-browser-3.38.2/debian/patches/series 2022-01-12 18:33:21.000000000 +0100
+++ epiphany-browser-3.38.2/debian/patches/series 2022-03-04 11:16:58.000000000 +0100
@@ -3,3 +3,4 @@
dont-make-compulsory.patch
build-Allow-libportal-support-to-be-disabled.patch
encode-untrusted-data.patch
+glib-bug-workaround.patch
Reply to: