Your message dated Mon, 3 Jun 2019 22:42:04 +0100
with message-id <[email protected]>
and subject line Re: Bug#919777: libglib2.0-0: gtk file dialog crash assertion
'fs_type != NULL && *fs_type != '\0'' failed
has caused the Debian Bug report #919777,
regarding libglib2.0-0: gtk file dialog crash assertion 'fs_type != NULL &&
*fs_type != '\0'' failed
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
919777: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919777
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libglib2.0-0
Version: 2.58.2-4
Severity: normal
Tags: patch upstream
Dear Maintainer,
Upstream bug has been fixed, see:
https://gitlab.gnome.org/GNOME/glib/issues/1645
Tested that applying e695ca9f310c393d8f39694f77471dbcb06daa9e.patch from issue
on the debian package fixes the issue for me.
* What led up to the situation?
Opening gtk file dialog or file browser, root being btrfs subvolume probably
related.
* What was the outcome of this action?
Crash on assertion.
(pcmanfm:7963): GLib-GIO-CRITICAL **: 12:39:01.511:
g_unix_is_system_fs_type: assertion 'fs_type != NULL && *fs_type != '\0'' failed
(pcmanfm:7963): GLib-GIO-CRITICAL **: 12:39:01.511:
g_unix_is_system_device_path: assertion 'device_path != NULL && *device_path !=
'\0'' failed
* What outcome did you expect instead?
Not crash.
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: arm64 (aarch64)
Kernel: Linux 4.19.16 (SMP w/6 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libglib2.0-0 depends on:
ii libc6 2.28-5
ii libffi6 3.2.1-9
ii libmount1 2.33.1-0.1
ii libpcre3 2:8.39-11
ii libselinux1 2.8-1+b1
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages libglib2.0-0 recommends:
ii libglib2.0-data 2.58.2-4
ii shared-mime-info 1.10-1
ii xdg-user-dirs 0.17-2
libglib2.0-0 suggests no packages.
-- no debconf information
>From e695ca9f310c393d8f39694f77471dbcb06daa9e Mon Sep 17 00:00:00 2001
From: Ondrej Holy <[email protected]>
Date: Wed, 9 Jan 2019 11:04:13 +0100
Subject: [PATCH] gunixmounts: Fix segfaults caused by new filter of mounts
Commit ed88b23f added libmount-based implementation to filter out mounts
with repeated device path. Unfortunately, this introduced a new bug, which
may cause segfaults from in certain configurations.
The problem is that `mnt_table_uniq_fs ()` is called from the loop which
already operates with the `fs` structs from that table. It may happen that
the current `fs` is removed from the table, which may consequently lead to
segfaults.
Closes: https://gitlab.gnome.org/GNOME/glib/issues/1645
---
gio/gunixmounts.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gio/gunixmounts.c b/gio/gunixmounts.c
index 8cbd70f5f..6dc774158 100644
--- a/gio/gunixmounts.c
+++ b/gio/gunixmounts.c
@@ -486,6 +486,11 @@ _g_get_unix_mounts (void)
if (mnt_table_parse_mtab (table, NULL) < 0)
goto out;
+ /* Use only the first mount for device, see comment from _g_get_unix_mounts
+ * in #else branch.
+ */
+ mnt_table_uniq_fs (table, MNT_UNIQ_FORWARD, uniq_fs_source_cmp);
+
iter = mnt_new_iter (MNT_ITER_FORWARD);
while (mnt_table_next_fs (table, iter, &fs) == 0)
{
@@ -494,11 +499,6 @@ _g_get_unix_mounts (void)
unsigned long mount_flags = 0;
gboolean is_read_only = FALSE;
- /* Use only the first mount for device, see comment from
_g_get_unix_mounts
- * in #else branch.
- */
- mnt_table_uniq_fs (table, MNT_UNIQ_FORWARD, uniq_fs_source_cmp);
-
device_path = mnt_fs_get_source (fs);
if (g_strcmp0 (device_path, "/dev/root") == 0)
device_path = _resolve_dev_root ();
--
2.18.1
--- End Message ---
--- Begin Message ---
Version: 2.60.0-1
On Sat, 19 Jan 2019 at 16:24:33 +0200, Emil Karlson wrote:
> * What led up to the situation?
> Opening gtk file dialog or file browser, root being btrfs subvolume
> probably related.
> * What was the outcome of this action?
> Crash on assertion.
> (pcmanfm:7963): GLib-GIO-CRITICAL **: 12:39:01.511:
> g_unix_is_system_fs_type: assertion 'fs_type != NULL && *fs_type != '\0''
> failed
> (pcmanfm:7963): GLib-GIO-CRITICAL **: 12:39:01.511:
> g_unix_is_system_device_path: assertion 'device_path != NULL && *device_path
> != '\0'' failed
> * What outcome did you expect instead?
> Not crash.
According to upstream, this bug was specific to the 2.58.x branch, so I'm
marking the 2.60.x branch (currently only in experimental) as unaffected.
smcv
--- End Message ---