From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: =?utf-8?B?4oCYc3RhZ2luZ+KAmQ==?= and GNOME updates Date: Wed, 24 Apr 2019 08:54:05 +0200 Message-ID: <87o94v6ghe.fsf@elephly.net> References: <871s3a4xd4.fsf@gnu.org> <87wokjyuw4.fsf@fastmail.com> <87muld8xuo.fsf@gnu.org> <87y34xzez8.fsf@elephly.net> <87zhpaydem.fsf_-_@gnu.org> <87imvler9u.fsf@elephly.net> <87bm1d8sxv.fsf@gnu.org> <87ef68ibfy.fsf@elephly.net> <87r2a3o39s.fsf@gnu.org> <87sgujgchr.fsf@gnu.org> <878swa3nm9.fsf@elephly.net> <87h8ayfstx.fsf@ngyro.com> <87zhopd7x4.fsf@gnu.org> <87d0le1h38.fsf@gnu.org> <87zhoh5gwu.fsf@elephly.net> <8736m9j9rx.fsf@gnu.org> <87r29s60wp.fsf@elephly.net> <87a7ggoxf2.fsf@ngyro.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:36419) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJDS1-0005Pc-02 for guix-devel@gnu.org; Wed, 24 Apr 2019 04:40:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hJDRz-0003ig-0U for guix-devel@gnu.org; Wed, 24 Apr 2019 04:40:20 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21331) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hJDRy-0003iU-No for guix-devel@gnu.org; Wed, 24 Apr 2019 04:40:18 -0400 In-reply-to: <87a7ggoxf2.fsf@ngyro.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Timothy Sample Cc: Guix-devel Hey Tim, > (services (append (list (service gnome-desktop-service-type) > (set-xorg-configuration > (xorg-configuration > (keyboard-layout keyboard-layout))) > (service (service-type > (name 'break-gnome) > (extensions > (list (service-extension > activation-service-type > (lambda _ > #~(let* ((pw (getpw "bob")) > (uid (passwd:uid p= w)) > (gid (passwd:gid p= w))) > (mkdir-p "/home/bob/.lo= cal/share/gnome-shell") > (chown "/home/bob" uid = gid) > (chown "/home/bob/.loca= l" uid gid) > (chown "/home/bob/.loca= l/share" uid gid) > (chown "/home/bob/.loca= l/share/gnome-shell" uid gid) > (copy-file #$(local-fil= e "notifications") > "/home/bob/.= local/share/gnome-shell/notifications") > (chown "/home/bob/.loca= l/share/gnome-shell/notifications" uid gid) > ))))) > (default-value #t)))) I have almost exactly the same, except that I used a generated notifications file (a text file containing the string =E2=80=9Cgarbage=E2= =80=9D) =E2=80=94 without problems. > After running GNOME 3.28 for a while, I=E2=80=99ve 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=E2=80=99ve turn= ed on > notifications there), and I can=E2=80=99t seem to fix it. > > Interestingly, there is a discussion about this on the Arch Linux forums > . I=E2=80=99m not= sure if > there=E2=80=99s anything useful for us in there, though. This message seems relevant: https://bbs.archlinux.org/viewtopic.php?pid=3D1778640#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. > 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 =E2=80=93 it tells GTK+ to run this thread from the > =E2=80=9Cload_texture_async=E2=80=9D function in =E2=80=9Cst-texture-cach= e.c=E2=80=9D. > > I think the =E2=80=9Cbad=E2=80=9D user files are not the root cause here.= There=E2=80=99s > 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 (=E2=80=9Cjs/ui/notificationDaemon.js=E2=80= =9D). I > glanced at it and its Git history, but couldn=E2=80=99t find anything. I don=E2=80=99t think it=E2=80=99s 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 =E2=80=94 that=E2=80=99s 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=E2=80=99m guessing= that the problem is entirely due to using an outdated variant of librsvg. What do you think? -- Ricardo