Bug#919777: libglib2.0-0: gtk file dialog crash assertion 'fs_type != NULL && *fs_type != '\0'' failed

2019-01-19 Thread Emil Karlson
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  libc62.28-5
ii  libffi6  3.2.1-9
ii  libmount12.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 
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, ) == 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



Bug#846642: dnsmasq-base: Dnsmasq-base seems to be incorrectly linked against libnettle6-3.3

2016-12-12 Thread Emil Karlson
> There is a 2.7 6-4.1 version which have been compiled with libnettle
> 3.3. Could you try it?

On 2.7 6-4.1 the nettle_hashes object size is 112 (correct) and it no
longer crashes while resolving yp1.yayponies.no using dnssec, on my
part this bug can be closed.



Bug#846642: Acknowledgement (dnsmasq-base: Dnsmasq-base seems to be incorrectly linked against libnettle6-3.3)

2016-12-03 Thread Emil Karlson
Gentoo bug report
https://bugs.gentoo.org/show_bug.cgi?id=601512
More in depth description written by Sergei Trofimovich
http://trofi.github.io/posts/195-dynamic-linking-ABI-is-hard.html

Meanwhile I have also reported nettle abi issue upstream (nettle
upstream), they may or may not respond.



Bug#846642: dnsmasq-base: Dnsmasq-base seems to be incorrectly linked against libnettle6-3.3

2016-12-02 Thread Emil Karlson
Package: dnsmasq-base
Version: 2.76-4
Severity: normal

Dear Maintainer,


   * What led up to the situation?
resolving dns for yp1.yayponies.no with dnssec enabled
   * What was the outcome of this action?
dnsmasq received sigsegv while accessing memory at 0x9
(libnettle_hashes[10], corrupt ro linked data on a rw mapped section
in /usr/bin/dnsmasq)

readelf shows what I interpret as missmatch in size of symbol
nettle_hashes perhaps due to package being compiled against
libnettle-3.2, which has smaller nettle_hashes.

Size should be 112 and is 80 for the original debian binary,
recompiled binary (listed also, can not reproduce the bug) has symbol
size 112

Please verify. if there is ABI mismatch between libnettle-3.2 and
libnettle-3.3, it may also be relevant to other packages.


readelf -a /usr/lib/x86_64-linux-gnu/libnettle.so.6 /usr/sbin/dnsmasq*
 | grep nettle_hashes
75: 00235820   112 OBJECT  GLOBAL DEFAULT   21
nettle_hashes@@NETTLE_6
0025b660  00d70005 R_X86_64_COPY 0025b660
nettle_hashes@NETTLE_6 + 0
   215: 0025b660   112 OBJECT  GLOBAL DEFAULT   25
nettle_hashes@NETTLE_6 (3)
0025b660  00d80005 R_X86_64_COPY 0025b660
nettle_hashes@NETTLE_6 + 0
   216: 0025b66080 OBJECT  GLOBAL DEFAULT   25
nettle_hashes@NETTLE_6 (3)


BR
-Emil

ps. I dislike your bug report policy, not all debian systems have easy
access to reportbug, this report has been created on a different
x86_64 system, and I have no clue what my local smtp server even is,
if there is any.

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.8.0-1-amd64 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
(ignored: LC_ALL set to en_US.utf8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)