GNU bug report logs - #34528
Gtk upstream bug #1280 causes crashes in IceCat and Emacs

Previous Next

Package: guix;

Reported by: Joshua Branson <jbranso <at> dismail.de>

Date: Mon, 18 Feb 2019 16:13:02 UTC

Severity: normal

Merged with 34454, 34658

Done: Bradley Haggerty <bradigger <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34528 in the body.
You can then email your comments to 34528 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#34528; Package guix. (Mon, 18 Feb 2019 16:13:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Joshua Branson <jbranso <at> dismail.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 18 Feb 2019 16:13:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Joshua Branson <jbranso <at> dismail.de>
To: bug-guix <at> gnu.org
Subject: Icecat is crashing on search
Date: Mon, 18 Feb 2019 11:01:36 -0500
Hello!

So I recently ran "guix pull && guix package -u && guix system
reconfigure awesome.scm".

And now Icecat hardly use able.

#+BEGIN_SRC bash
guix --version
#+END_SRC

guix (GNU Guix) af5ead8b346f11105c964726101618116af13426
Copyright (C) 2019 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


I am using a Macbook 7,1.

I started Icecat from a terminal.  When Icecat opened, I tried to search
for "hello" in the omnibar.  Icecat immediately crashed.


#+BEGIN_SRC bash
icecat --version
#+END_SRC

GNU IceCat 60.5.1


Here is a copy of what the terminal said:


joshua <at> dobby ~$ icecat
1550505405166	addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}	WARN	Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing background.persistent: Event pages are not currently supported. This will run as a persistent background page.
1550505405178	addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}	WARN	Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing storage: An unexpected property was found in the WebExtension manifest.
1550505406402	addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}	WARN	Please specify whether you want browser_style or not in your browser_action options.

(icecat:3394): Gtk-WARNING **: 15:56:46.419: Could not find the icon 'dialog-warning'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
	http://icon-theme.freedesktop.org/releases

(icecat:3394): Gtk-WARNING **: 15:56:46.420: Error loading theme icon 'dialog-warning' for stock: Icon 'dialog-warning' not present in theme Adwaita
JavaScript error: resource://activity-stream/lib/Screenshots.jsm, line 102: TypeError: cache is undefined
JavaScript error: resource://activity-stream/lib/Screenshots.jsm, line 102: TypeError: cache is undefined
JavaScript warning: moz-extension://54be0cf6-40e6-4986-a89b-b0498cedcd5c/lib/adblockplus.js, line 0: Successfully compiled asm.js code (total compilation time 1ms; not stored in cache (too small to benefit))
1550505407804	addons.webextension.tortm-browser-button <at> jeremybenthum	WARN	Please specify whether you want browser_style or not in your browser_action options.
1550505411872	addons.webextension.https-everywhere <at> eff.org	WARN	Please specify whether you want browser_style or not in your browser_action options.

(icecat:3394): Gdk-ERROR **: 15:56:53.656: The program 'icecat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 1635 error_code 8 request_code 2 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=2.72252) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[Child 3489, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /tmp/guix-build-icecat-60.5.1-guix1.drv-0/icecat-60.5.1-guix1/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 342
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=2.04331) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[Child 3514, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /tmp/guix-build-icecat-60.5.1-guix1.drv-0/icecat-60.5.1-guix1/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 342
Trace/breakpoint trap



Thanks!

P.S.  It is nice that I am just able to --roll-back and have a working
IceCat again!

--
Joshua Branson
Sent from Emacs and Gnus




Information forwarded to bug-guix <at> gnu.org:
bug#34528; Package guix. (Sat, 30 Mar 2019 03:50:02 GMT) Full text and rfc822 format available.

Message #8 received at 34528 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: 34454 <at> debbugs.gnu.org, 34658 <at> debbugs.gnu.org, 34528 <at> debbugs.gnu.org
Cc: Carlo Zancanaro <carlo <at> zancanaro.id.au>, Leo Famulari <leo <at> famulari.name>,
 Ludovic Courtès <ludo <at> gnu.org>,
 Joshua Branson <jbranso <at> dismail.de>, Bradley Haggerty <bradigger <at> gmail.com>
Subject: Gtk upstream bug #1280 causes crashes in IceCat and Emacs
Date: Fri, 29 Mar 2019 23:47:25 -0400
[Message part 1 (text/plain, inline)]
merge 34454 34658 34528
retitle 34454 Gtk upstream bug #1280 causes crashes in IceCat and Emacs
thanks

Hello all,

I looked into this, and I believe all of these bugs are caused by Gtk
upstream bug #1280:

  https://gitlab.gnome.org/GNOME/gtk/issues/1280

which is apparently fixed by the following upstream commit:

  https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a0984cc0156ec1892a46af8f256a64878

Here's another upstream bug report that's more obviously related to
this, and upstream decided it was a duplicate with #1280:

  https://gitlab.gnome.org/GNOME/gtk/issues/1523

Also, here's the same bug reported for NixOS and Arch:

  https://github.com/NixOS/nixpkgs/issues/53697
  https://bugs.archlinux.org/task/61050

I've attached a proposed patch to fix this in Guix.  I'm currently
testing the patch on my system to make sure it doesn't cause any
problems, although I cannot reproduce this bug on my own system.

If those affected by this issue would like to test this patch and report
back, that would be helpful.

     Regards,
       Mark


[0001-UNTESTED-gnu-gtk-Add-upstream-fix-for-crashes-in-Ema.patch (text/x-patch, inline)]
From 5a11003732688c0fbbfdc831774f58ff6fe20a0b Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw <at> netris.org>
Date: Fri, 29 Mar 2019 23:28:45 -0400
Subject: [PATCH] UNTESTED: gnu: gtk+: Add upstream fix for crashes in Emacs
 and IceCat.

* gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (gtk+/fixed): New variable.
(gtk+)[replacement]: New field.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/gtk.scm                          | 12 +++++++-
 .../gtk3-fix-deprecation-macro-use.patch      | 29 +++++++++++++++++++
 3 files changed, 41 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 18531d9a76..5639bc58d1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -887,6 +887,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\
   %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
   %D%/packages/patches/gtk2-theme-paths.patch			\
+  %D%/packages/patches/gtk3-fix-deprecation-macro-use.patch	\
   %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch	\
   %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
   %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index aab392758f..1d26aab963 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas <at> enge.fr>
 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo <at> gnu.org>
-;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver <mhw <at> netris.org>
+;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw <at> netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2015 Federico Beffa <beffa <at> fbengineering.ch>
 ;;; Copyright © 2015 Paul van der Walt <paul <at> denknerd.org>
@@ -694,6 +694,7 @@ application suites.")
    ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
    ;;       mate.scm will also need to be updated.
    (version "3.24.2")
+   (replacement gtk+/fixed)
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -787,6 +788,15 @@ application suites.")
            (variable "GUIX_GTK3_PATH")
            (files '("lib/gtk-3.0")))))))
 
+(define gtk+/fixed
+  (package
+    (inherit gtk+)
+    (source (origin
+              (inherit (package-source gtk+))
+              (patches
+               (cons (search-patch "gtk3-fix-deprecation-macro-use.patch")
+                     (origin-patches (package-source gtk+))))))))
+
 ;;;
 ;;; Guile bindings.
 ;;;
diff --git a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch
new file mode 100644
index 0000000000..39cd4bd59a
--- /dev/null
+++ b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch
@@ -0,0 +1,29 @@
+Copied from <https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a>.
+Fixes upstream bug <https://gitlab.gnome.org/GNOME/gtk/issues/1280>,
+and hopefully also <https://bugs.gnu.org/34528>,
+<https://bugs.gnu.org/34454>, and <https://bugs.gnu.org/34658>.
+
+diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
+index 97ada6d73919fba3dfe192dd66929e90bc7677bb..764e39495f7edb0c3efe41cca25b8bee4778887d 100644
+--- a/gdk/x11/gdkwindow-x11.c
++++ b/gdk/x11/gdkwindow-x11.c
+@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow      *window,
+   double r, g, b, a;
+   cairo_surface_t *surface;
+   cairo_matrix_t matrix;
++  cairo_pattern_t *parent_relative_pattern;
+ 
+   if (GDK_WINDOW_DESTROYED (window))
+     return;
+@@ -2997,8 +2998,10 @@ gdk_window_x11_set_background (GdkWindow      *window,
+     }
+ 
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+-  if (pattern == gdk_x11_get_parent_relative_pattern ())
++  parent_relative_pattern = gdk_x11_get_parent_relative_pattern ();
+ G_GNUC_END_IGNORE_DEPRECATIONS
++
++  if (pattern == parent_relative_pattern)
+     {
+       GdkWindow *parent;
+ 
-- 
2.21.0


Merged 34454 34528 34658. Request was from Mark H Weaver <mhw <at> netris.org> to control <at> debbugs.gnu.org. (Sat, 30 Mar 2019 03:50:04 GMT) Full text and rfc822 format available.

Changed bug title to 'Gtk upstream bug #1280 causes crashes in IceCat and Emacs' from 'Icecat is crashing on search' Request was from Mark H Weaver <mhw <at> netris.org> to control <at> debbugs.gnu.org. (Sat, 30 Mar 2019 03:50:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#34528; Package guix. (Sat, 30 Mar 2019 04:57:02 GMT) Full text and rfc822 format available.

Message #15 received at 34528 <at> debbugs.gnu.org (full text, mbox):

From: Carlo Zancanaro <carlo <at> zancanaro.id.au>
To: Mark H Weaver <mhw <at> netris.org>
Cc: Bradley Haggerty <bradigger <at> gmail.com>,
 Ludovic Courtès <ludo <at> gnu.org>, 34454 <at> debbugs.gnu.org,
 34658 <at> debbugs.gnu.org, 34528 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>,
 Joshua Branson <jbranso <at> dismail.de>
Subject: Re: Gtk upstream bug #1280 causes crashes in IceCat and Emacs
Date: Sat, 30 Mar 2019 15:56:33 +1100
Hi Mark,

Thanks so much for taking a look at this!

On Sat, Mar 30 2019, Mark H Weaver wrote:
> If those affected by this issue would like to test this patch 
> and report back, that would be helpful.

I applied your patch to my local Guix, and everything is working 
fine again. I had been working around the problem by using 
emacs-no-x-toolkit, but with your patch I can use the normal emacs 
package again without issues.

Carlo




Information forwarded to bug-guix <at> gnu.org:
bug#34528; Package guix. (Sun, 31 Mar 2019 10:09:02 GMT) Full text and rfc822 format available.

Message #18 received at 34528 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mark H Weaver <mhw <at> netris.org>
Cc: Bradley Haggerty <bradigger <at> gmail.com>, 34454 <at> debbugs.gnu.org,
 34658 <at> debbugs.gnu.org, Carlo Zancanaro <carlo <at> zancanaro.id.au>,
 34528 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>,
 Joshua Branson <jbranso <at> dismail.de>
Subject: Re: Gtk upstream bug #1280 causes crashes in IceCat and Emacs
Date: Sun, 31 Mar 2019 12:07:57 +0200
Hi Mark,

Mark H Weaver <mhw <at> netris.org> skribis:

> I looked into this, and I believe all of these bugs are caused by Gtk
> upstream bug #1280:
>
>   https://gitlab.gnome.org/GNOME/gtk/issues/1280
>
> which is apparently fixed by the following upstream commit:
>
>   https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a0984cc0156ec1892a46af8f256a64878

Woow, thanks for tracking it down and for pushing a fix!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 28 Apr 2019 11:24:04 GMT) Full text and rfc822 format available.

bug unarchived. Request was from jbranso <at> dismail.de to control <at> debbugs.gnu.org. (Fri, 20 Mar 2020 15:19:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Apr 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 364 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.