From: Ricardo Wurmus <rekado@elephly.net>
To: Timothy Sample <samplet@ngyro.com>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: ‘staging’ and GNOME updates
Date: Thu, 25 Apr 2019 14:57:43 +0200 [thread overview]
Message-ID: <875zr244zc.fsf@elephly.net> (raw)
In-Reply-To: <871s1rnrc3.fsf@ngyro.com>
Timothy Sample <samplet@ngyro.com> writes:
> Ricardo Wurmus <rekado@elephly.net> writes:
>
>>> After running GNOME 3.28 for a while, I’ve had several crashes. It used
>>> to crash whenever I opened a URL from Emacs, but fiddling with dconf has
>>> fixed that. It currently crashes every time I run ERC (I’ve turned on
>>> notifications there), and I can’t seem to fix it.
>>>
>>> Interestingly, there is a discussion about this on the Arch Linux forums
>>> <https://bbs.archlinux.org/viewtopic.php?pid=1778640>. I’m not sure if
>>> there’s anything useful for us in there, though.
>>
>> This message seems relevant:
>>
>> https://bbs.archlinux.org/viewtopic.php?pid=1778640#p1778640
>>
>> My issue was caused by using ubuntu-cairo. It was incompatible with
>> librsvg 2.42.3, which caused a crash when gnome attempted to load an
>> SVG when trying to display the notification. It also caused the
>> close window button to not appear in the overview.
>
> I did see this, but I couldn’t really connect it to the problem at hand.
> It is interesting that the close window buttons in the overview are a
> problem for us, too <https://issues.guix.info/issue/33693>.
>
>>> It looks like GNOME Shell passes some bad icon data into GTK+, which
>>> results in a null filename that gets dereferenced. (GNOME Shell is not
>>> in the backtrace – it tells GTK+ to run this thread from the
>>> “load_texture_async” function in “st-texture-cache.c”.
>>>
>>> I think the “bad” user files are not the root cause here. There’s
>>> definitely something wrong with notifications. (I just plugged in a USB
>>> drive and, sure enough, GNOME Shell crashed.) The notification daemon
>>> code is written in JavaScript (“js/ui/notificationDaemon.js”). I
>>> glanced at it and its Git history, but couldn’t find anything.
>>
>> I don’t think it’s notifications per se, but rendering SVGs. When
>> application_state exists, GNOME shell tries to restore application
>> windows and their icons are likely SVG files that should be rendered.
>>
>> Chris reported elsewhere that GNOME sometimes crashes when the Activity
>> tab is accessed — that’s where the application starter is, which
>> displays icons.
>>
>> I believe we should be using librsvg-next in the closure of gnome-shell.
>> We may also want to use gdk-pixbuf+svg instead of just gdk-pixbuf, but
>> again replacing librsvg with librsvg-next throughout. I’m guessing that
>> the problem is entirely due to using an outdated variant of librsvg.
>>
>> What do you think?
>
> To be honest, I don’t know. From my side, I haven’t seen anything that
> suggests SVGs might be the problem. I just checked an application that
> no longer has an icon since the update, and it doesn’t provide an SVG.
> On the other hand, Emacs, which does provide an SVG, is fine. I can’t
> find anything in the backtrace that suggests SVG problems either.
>
> That said, software is complicated and this is best lead we have. Maybe
> the crash I’m seeing is fallback code that gets called when SVGs aren’t
> quite working. I did try patching GTK+ the other day (for testing
> something else), but gave up when I realized that it means recompiling
> WebKitGTK, which takes forever. I’ll try and patch everything later and
> leave my computer to compile overnight. Or, maybe I could pull Epiphany
> out of our GNOME package, and avoid WebKitGTK (now that GNOME Shell
> doesn’t need it). Either way, I will try and test this. If nothing
> else, it might fix the bug linked above.
I built the VM with this diff:
--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5583af576b..98e2a75777 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2189,7 +2189,7 @@ engineering.")
(inputs
`(("gtk+" ,gtk+)
("gtk+-2" ,gtk+-2)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("libxml2" ,libxml2)
("glib" ,glib)))
(native-inputs
@@ -3278,7 +3278,7 @@ services for numerous locations.")
("cups" ,cups)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("libwacom" ,libwacom)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("xf86-input-wacom" ,xf86-input-wacom)
("wayland" ,wayland)
("network-manager" ,network-manager)))
@@ -3864,7 +3864,7 @@ for application developers.")
("libxml2" ,libxml2)
("libsoup" ,libsoup)
("libpeas" ,libpeas)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("lirc" ,lirc)
("gnome-desktop" ,gnome-desktop)
("gstreamer" ,gstreamer)
@@ -4072,7 +4072,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
("libexif" ,libexif)
("libpeas" ,libpeas)
("libjpeg" ,libjpeg)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)))
(home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
@@ -5991,7 +5991,7 @@ properties, screen resolution, and other GNOME parameters.")
("upower" ,upower)
;; XXX: These requirements were added in 3.24, but no mention in NEWS.
;; Missing propagation? See also: <https://bugs.gnu.org/27264>
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("geoclue" ,geoclue)))
(synopsis "Desktop shell for GNOME")
(home-page "https://wiki.gnome.org/Projects/GnomeShell")
@@ -6397,7 +6397,7 @@ associations for GNOME.")
("dconf" ,dconf)
("desktop-file-utils" ,desktop-file-utils)
("eog" ,eog)
- ("epiphany" ,epiphany)
+ ;("epiphany" ,epiphany)
("evince" ,evince)
("file-roller" ,file-roller)
("gedit" ,gedit)
@@ -7267,7 +7267,7 @@ Bluefish supports many programming and markup languages.")
`(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
("gtk+" ,gtk+)
("gtkmm" ,gtkmm)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("libxml2" ,libxml2)
("libwnck" ,libwnck)))
(home-page "https://wiki.gnome.org/Apps/SystemMonitor")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6e63ca6614..b87b3649c3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -528,7 +528,7 @@ in the GNOME project.")
(package (inherit gdk-pixbuf)
(name "gdk-pixbuf+svg")
(inputs
- `(("librsvg" ,librsvg)
+ `(("librsvg" ,librsvg-next)
,@(package-inputs gdk-pixbuf)))
(arguments
'(#:configure-flags '("-Dinstalled-tests=false")
--8<---------------cut here---------------end--------------->8---
GDM shows up but the GNOME shell cannot be started after log in.
It also did not fix the icon problem.
But! Wrapping gnome-shell in LD_LIBRARY_PATH for gdk-pixbuf does fix
both problems! With this diff I could log in fine and see the closing
icon in the window overview after starting an application.
--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5583af576b..0be09a8b4f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2189,7 +2189,7 @@ engineering.")
(inputs
`(("gtk+" ,gtk+)
("gtk+-2" ,gtk+-2)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("libxml2" ,libxml2)
("glib" ,glib)))
(native-inputs
@@ -3278,7 +3278,7 @@ services for numerous locations.")
("cups" ,cups)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("libwacom" ,libwacom)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("xf86-input-wacom" ,xf86-input-wacom)
("wayland" ,wayland)
("network-manager" ,network-manager)))
@@ -3864,7 +3864,7 @@ for application developers.")
("libxml2" ,libxml2)
("libsoup" ,libsoup)
("libpeas" ,libpeas)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("lirc" ,lirc)
("gnome-desktop" ,gnome-desktop)
("gstreamer" ,gstreamer)
@@ -4072,7 +4072,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
("libexif" ,libexif)
("libpeas" ,libpeas)
("libjpeg" ,libjpeg)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)))
(home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
@@ -5932,7 +5932,8 @@ properties, screen resolution, and other GNOME parameters.")
`("LD_LIBRARY_PATH" ":" prefix
,(map (lambda (pkg)
(string-append (assoc-ref inputs pkg) "/lib"))
- '("gnome-bluetooth" "librsvg" "libgweather"))))
+ '("gdk-pixbuf"
+ "gnome-bluetooth" "librsvg" "libgweather"))))
(for-each
(lambda (prog)
(wrap-program (string-append out "/bin/" prog)
@@ -5969,6 +5970,7 @@ properties, screen resolution, and other GNOME parameters.")
("evolution-data-server" ,evolution-data-server)
("gcr" ,gcr)
("gdm" ,gdm)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
("gjs" ,gjs)
("gnome-bluetooth" ,gnome-bluetooth)
("gnome-desktop" ,gnome-desktop)
@@ -5991,7 +5993,7 @@ properties, screen resolution, and other GNOME parameters.")
("upower" ,upower)
;; XXX: These requirements were added in 3.24, but no mention in NEWS.
;; Missing propagation? See also: <https://bugs.gnu.org/27264>
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("geoclue" ,geoclue)))
(synopsis "Desktop shell for GNOME")
(home-page "https://wiki.gnome.org/Projects/GnomeShell")
@@ -6397,7 +6399,7 @@ associations for GNOME.")
("dconf" ,dconf)
("desktop-file-utils" ,desktop-file-utils)
("eog" ,eog)
- ("epiphany" ,epiphany)
+ ;("epiphany" ,epiphany)
("evince" ,evince)
("file-roller" ,file-roller)
("gedit" ,gedit)
@@ -7267,7 +7269,7 @@ Bluefish supports many programming and markup languages.")
`(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
("gtk+" ,gtk+)
("gtkmm" ,gtkmm)
- ("librsvg" ,librsvg)
+ ("librsvg" ,librsvg-next)
("libxml2" ,libxml2)
("libwnck" ,libwnck)))
(home-page "https://wiki.gnome.org/Apps/SystemMonitor")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6e63ca6614..b87b3649c3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -528,7 +528,7 @@ in the GNOME project.")
(package (inherit gdk-pixbuf)
(name "gdk-pixbuf+svg")
(inputs
- `(("librsvg" ,librsvg)
+ `(("librsvg" ,librsvg-next)
,@(package-inputs gdk-pixbuf)))
(arguments
'(#:configure-flags '("-Dinstalled-tests=false")
--8<---------------cut here---------------end--------------->8---
We could skip the librsvg-next changes and only push the LD_LIBRARY_PATH
fix. If that alone fixes the problems we can do the librsvg stuff on
core-updates later.
Sound good?<
--
Ricardo
next prev parent reply other threads:[~2019-04-25 12:58 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-13 15:17 Status update on 1.0 Ludovic Courtès
2019-03-13 15:32 ` Tobias Geerinckx-Rice
2019-03-13 16:00 ` Pierre Neidhardt
2019-03-13 18:33 ` Danny Milosavljevic
2019-03-13 18:47 ` Pierre Neidhardt
2019-03-15 12:54 ` Ludovic Courtès
2019-03-15 13:06 ` Pierre Neidhardt
2019-03-15 16:48 ` Mathieu Othacehe
2019-03-14 2:26 ` Maxim Cournoyer
2019-03-15 12:53 ` Ludovic Courtès
2019-03-13 16:34 ` mikadoZero
2019-03-13 17:08 ` Ricardo Wurmus
2019-03-13 18:14 ` pelzflorian (Florian Pelz)
2019-03-13 19:43 ` L p R n d n
2019-03-14 13:54 ` L p R n d n
2019-03-15 12:57 ` Ludovic Courtès
2019-03-15 13:56 ` pelzflorian (Florian Pelz)
2019-03-13 20:53 ` mikadoZero
2019-03-14 3:54 ` Timothy Sample
2019-03-15 13:47 ` Ludovic Courtès
2019-03-15 17:44 ` Timothy Sample
2019-03-23 16:36 ` Ludovic Courtès
2019-03-21 18:49 ` Timothy Sample
2019-03-23 16:42 ` Ludovic Courtès
2019-03-28 3:28 ` Timothy Sample
2019-03-14 21:16 ` Gábor Boskovits
2019-03-15 13:51 ` Ludovic Courtès
2019-03-15 18:31 ` Thompson, David
2019-03-15 19:20 ` Gábor Boskovits
[not found] ` <CAN1Dt4SQzXJOK2bJF47cFO5ERg9=uf8wktH=arJ=AypEUnO2yw@mail.gmail.com>
2019-03-21 0:52 ` Fwd: " Kristofer Buffington
2019-03-21 14:59 ` Gábor Boskovits
2019-03-27 15:26 ` Ludovic Courtès
2019-03-27 15:29 ` znavko
2019-03-27 23:10 ` Danny Milosavljevic
2019-03-29 16:07 ` Ludovic Courtès
2019-03-28 0:09 ` pelzflorian (Florian Pelz)
2019-03-29 16:13 ` KMScon vs. AMD Radeon Ludovic Courtès
2019-03-29 16:35 ` Mathieu Othacehe
2019-03-29 18:00 ` pelzflorian (Florian Pelz)
2019-03-30 7:25 ` Mathieu Othacehe
2019-03-30 8:40 ` Pierre Neidhardt
2019-03-30 15:22 ` pelzflorian (Florian Pelz)
2019-04-01 13:58 ` Mathieu Othacehe
2019-04-01 20:01 ` Ludovic Courtès
2019-04-02 7:53 ` Mathieu Othacehe
2019-04-02 16:31 ` Danny Milosavljevic
2019-04-03 5:11 ` pelzflorian (Florian Pelz)
2019-04-03 7:19 ` Mathieu Othacehe
2019-04-03 7:34 ` pelzflorian (Florian Pelz)
2019-04-03 11:13 ` Danny Milosavljevic
2019-04-03 20:46 ` Ludovic Courtès
2019-04-03 7:37 ` Mathieu Othacehe
2019-04-03 11:19 ` Danny Milosavljevic
2019-04-03 18:56 ` Danny Milosavljevic
2019-04-03 20:48 ` Ludovic Courtès
2019-04-03 21:02 ` Danny Milosavljevic
2019-04-04 5:02 ` pelzflorian (Florian Pelz)
2019-04-04 7:38 ` Mathieu Othacehe
2019-04-04 13:49 ` Mathieu Othacehe
2019-04-04 16:07 ` pelzflorian (Florian Pelz)
2019-04-06 9:05 ` Danny Milosavljevic
2019-04-06 11:03 ` pelzflorian (Florian Pelz)
2019-04-14 9:48 ` pelzflorian (Florian Pelz)
2019-04-14 20:54 ` pelzflorian (Florian Pelz)
2019-04-15 12:09 ` Ludovic Courtès
2019-04-17 17:26 ` pelzflorian (Florian Pelz)
2019-04-18 7:05 ` pelzflorian (Florian Pelz)
2019-04-19 12:19 ` pelzflorian (Florian Pelz)
2019-04-18 21:47 ` Ludovic Courtès
2019-04-19 12:17 ` pelzflorian (Florian Pelz)
2019-04-19 15:17 ` Ludovic Courtès
2019-04-19 17:11 ` pelzflorian (Florian Pelz)
2019-04-20 8:59 ` pelzflorian (Florian Pelz)
2019-04-20 9:47 ` Ludovic Courtès
2019-04-20 10:10 ` pelzflorian (Florian Pelz)
2019-04-20 10:16 ` Pierre Neidhardt
2019-04-20 10:39 ` pelzflorian (Florian Pelz)
2019-04-20 11:21 ` Félicien Pillot
2019-04-20 12:30 ` Pierre Neidhardt
2019-04-20 12:37 ` Pierre Neidhardt
2019-04-21 19:57 ` Ludovic Courtès
2019-04-22 8:46 ` Pierre Neidhardt
2019-04-22 11:48 ` pelzflorian (Florian Pelz)
2019-04-22 18:34 ` pelzflorian (Florian Pelz)
2019-04-26 8:35 ` pelzflorian (Florian Pelz)
2019-04-02 9:26 ` pelzflorian (Florian Pelz)
2019-04-02 11:42 ` pelzflorian (Florian Pelz)
2019-04-03 4:17 ` pelzflorian (Florian Pelz)
2019-04-03 9:17 ` pelzflorian (Florian Pelz)
2019-04-03 9:00 ` Pierre Neidhardt
2019-04-07 16:10 ` Installer & locales Ludovic Courtès
2019-04-07 16:12 ` Installer & services Ludovic Courtès
2019-04-08 9:26 ` Ludovic Courtès
2019-04-01 19:34 ` Status update on 1.0 mikadoZero
2019-04-02 8:05 ` Ludovic Courtès
2019-03-28 13:46 ` Marius Bakke
2019-03-29 16:11 ` Ludovic Courtès
2019-03-29 18:56 ` Ricardo Wurmus
2019-03-31 20:52 ` ‘staging’ and GNOME updates Ludovic Courtès
2019-04-01 17:16 ` Efraim Flashner
2019-04-01 19:36 ` Ludovic Courtès
2019-04-10 16:53 ` Ricardo Wurmus
2019-04-10 21:13 ` Ludovic Courtès
2019-04-10 21:13 ` Ludovic Courtès
2019-04-11 19:33 ` Ricardo Wurmus
2019-04-13 17:46 ` Timothy Sample
2019-04-13 18:07 ` Ricardo Wurmus
2019-04-15 12:13 ` Ludovic Courtès
2019-04-15 12:34 ` Ludovic Courtès
2019-04-15 21:55 ` Ludovic Courtès
2019-04-15 22:33 ` Ricardo Wurmus
2019-04-16 4:59 ` Timothy Sample
2019-04-16 9:31 ` Ricardo Wurmus
2019-04-16 20:14 ` Ludovic Courtès
2019-04-22 10:15 ` Ludovic Courtès
2019-04-23 7:17 ` Ricardo Wurmus
2019-04-23 7:20 ` Ricardo Wurmus
2019-04-23 10:28 ` Ludovic Courtès
2019-04-23 18:18 ` Ricardo Wurmus
2019-04-24 4:10 ` Timothy Sample
2019-04-24 6:54 ` Ricardo Wurmus
2019-04-24 19:19 ` Timothy Sample
2019-04-25 12:57 ` Ricardo Wurmus [this message]
2019-04-25 15:33 ` Giovanni Biscuolo
2019-04-10 13:41 ` Status update on 1.0 Jonathan Brielmaier
2019-04-10 16:56 ` Ricardo Wurmus
2019-04-10 17:57 ` Jonathan Brielmaier
2019-04-10 19:05 ` Ricardo Wurmus
2019-04-17 12:49 ` Pierre Neidhardt
2019-04-17 13:38 ` TeX Live Ludovic Courtès
2019-04-17 14:04 ` Pierre Neidhardt
2019-04-18 14:39 ` Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875zr244zc.fsf@elephly.net \
--to=rekado@elephly.net \
--cc=guix-devel@gnu.org \
--cc=samplet@ngyro.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).