Update to upstream fix for anaconda crash issue

Upstream fixed the crash by adding a missing return statement,
so update to using that patch instead of reverting the original
change.
This commit is contained in:
Adam Williamson 2023-07-18 12:31:09 -07:00
parent cceebb32c7
commit 39b488fb49
3 changed files with 33 additions and 46 deletions

View File

@ -1,45 +0,0 @@
From c7519c709f67f1a77bcbcfdaac96bd0a5c46538f Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 17 Jul 2023 17:43:47 -0700
Subject: [PATCH] Revert "gmain: Add precondition assertions to
g_main_context_release()"
This reverts commit 3926af723a7469a2ea492307f421820361d617b3.
It causes anaconda (the Fedora installer) to crash early, see
https://gitlab.gnome.org/GNOME/glib/-/issues/3054 .
---
glib/gmain.c | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/glib/gmain.c b/glib/gmain.c
index fac14224a..73084134d 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -3594,23 +3594,9 @@ g_main_context_release (GMainContext *context)
{
if (context == NULL)
context = g_main_context_default ();
-
+
LOCK_CONTEXT (context);
-#ifndef G_DISABLE_CHECKS
- if (G_UNLIKELY (context->owner != G_THREAD_SELF || context->owner_count == 0))
- {
- GThread *context_owner = context->owner;
- guint context_owner_count = context->owner_count;
-
- UNLOCK_CONTEXT (context);
-
- g_critical ("g_main_context_release() called on a context (%p, owner %p, "
- "owner count %u) which is not acquired by the current thread",
- context, context_owner, context_owner_count);
- }
-#endif /* !G_DISABLE_CHECKS */
-
g_main_context_release_unlocked (context);
UNLOCK_CONTEXT (context);
--
2.41.0

View File

@ -0,0 +1,31 @@
From c67dd9d3fe9186bef76ba682a7e277ccb7d95227 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Tue, 18 Jul 2023 11:31:01 +0100
Subject: [PATCH] gmain: Add a missing return on error path in
g_main_context_release()
This should have been in commit
3926af723a7469a2ea492307f421820361d617b3.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Fixes: #3054
---
glib/gmain.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/glib/gmain.c b/glib/gmain.c
index fac14224a..ccadf76ce 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -3608,6 +3608,7 @@ g_main_context_release (GMainContext *context)
g_critical ("g_main_context_release() called on a context (%p, owner %p, "
"owner count %u) which is not acquired by the current thread",
context, context_owner, context_owner_count);
+ return;
}
#endif /* !G_DISABLE_CHECKS */
--
2.41.0

View File

@ -13,7 +13,8 @@ Source0: https://download.gnome.org/sources/glib/2.77/glib-%{version}.tar.xz
Patch0: gnutls-hmac.patch
# Avoid making anaconda crash
# https://gitlab.gnome.org/GNOME/glib/-/issues/3054
Patch1: 0001-Revert-gmain-Add-precondition-assertions-to-g_main_c.patch
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3501
Patch1: 0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch
BuildRequires: gcc
BuildRequires: gcc-c++