[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#853063: marked as done (unblock: gnome-shell/3.22.2-4)



Your message dated Sun, 29 Jan 2017 15:58:35 +0000
with message-id <20170129155835.kpf5f3udqqbmzbcz@powdarrmonkey.net>
and subject line Re: Bug#853063: unblock: gnome-shell/3.22.2-4
has caused the Debian Bug report #853063,
regarding unblock: gnome-shell/3.22.2-4
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 owner@bugs.debian.org
immediately.)


-- 
853063: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853063
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package gnome-shell and/or set a shorter time delay.
This fixes RC bug #853018, one of two root causes for inability to
unlock the lock screen if a user fails to read the release notes and
carries out the upgrade from within the GNOME GUI (the other is in
gdm3 and has a separate unblock request).

unblock gnome-shell/3.22.2-4

>+    - Ship a copy of the process-working spinner animation from Shell
>+      3.14.x, and install it where Shell 3.14.x would expect to find it.
>+      This avoids a code path where the lock screen would fail to unlock
>+      because the animation code didn't cope with inability to load the
>+      animation. (Closes: #853018)

The RC bug fix. We were lucky here: gnome-shell 3.22 has an incompatible
(different size) animation of the same name, but it compiles it into a
GResource file for faster access instead of shipping a "loose" file on
disk, so it doesn't actually try to read this one.

>+    - d/p/animations-Guard-against-empty-animations.patch,
>+      d/p/texture-cache-Warn-when-loading-sliced-image-fails.patch:
>+      Add two patches from upstream 3.22 branch to harden the same part
>+      of the lock screen code against hitting a similar issue, and
>+      issue warnings to the system log if it happens.

Make sure a similar thing won't happen when upgrading from stretch to
buster.

Regards,
    S
    at the southernmost point of the Cambridge BSP
diffstat for gnome-shell-3.22.2 gnome-shell-3.22.2

 changelog                                                        |   17 
 gnome-shell-common.install                                       |    3 
 jessie-upgrade/process-working.svg                               |  261 ++++++++++
 patches/animations-Guard-against-empty-animations.patch          |   33 +
 patches/series                                                   |    2 
 patches/texture-cache-Warn-when-loading-sliced-image-fails.patch |   61 ++
 6 files changed, 377 insertions(+)

diff -Nru gnome-shell-3.22.2/debian/changelog gnome-shell-3.22.2/debian/changelog
--- gnome-shell-3.22.2/debian/changelog	2017-01-20 09:48:04.000000000 +0000
+++ gnome-shell-3.22.2/debian/changelog	2017-01-29 11:45:16.000000000 +0000
@@ -1,3 +1,20 @@
+gnome-shell (3.22.2-4) unstable; urgency=medium
+
+  * Team upload.
+  * Work around upgrades not being done offline:
+    - Ship a copy of the process-working spinner animation from Shell
+      3.14.x, and install it where Shell 3.14.x would expect to find it.
+      This avoids a code path where the lock screen would fail to unlock
+      because the animation code didn't cope with inability to load the
+      animation. (Closes: #853018)
+    - d/p/animations-Guard-against-empty-animations.patch,
+      d/p/texture-cache-Warn-when-loading-sliced-image-fails.patch:
+      Add two patches from upstream 3.22 branch to harden the same part
+      of the lock screen code against hitting a similar issue, and
+      issue warnings to the system log if it happens.
+
+ -- Simon McVittie <smcv@debian.org>  Sun, 29 Jan 2017 11:45:16 +0000
+
 gnome-shell (3.22.2-3) unstable; urgency=medium
 
   * Team upload.
diff -Nru gnome-shell-3.22.2/debian/gnome-shell-common.install gnome-shell-3.22.2/debian/gnome-shell-common.install
--- gnome-shell-3.22.2/debian/gnome-shell-common.install	2013-06-29 15:23:02.000000000 +0100
+++ gnome-shell-3.22.2/debian/gnome-shell-common.install	2017-01-29 02:00:14.000000000 +0000
@@ -5,3 +5,6 @@
 usr/share/gnome-shell
 usr/share/gtk-doc
 usr/share/locale
+
+# This is a hack for #853018. Remove this after Debian stretch is released.
+debian/jessie-upgrade/process-working.svg /usr/share/gnome-shell/theme
diff -Nru gnome-shell-3.22.2/debian/jessie-upgrade/process-working.svg gnome-shell-3.22.2/debian/jessie-upgrade/process-working.svg
--- gnome-shell-3.22.2/debian/jessie-upgrade/process-working.svg	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.22.2/debian/jessie-upgrade/process-working.svg	2017-01-29 02:00:14.000000000 +0000
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   id="svg5369"
+   version="1.1"
+   inkscape:version="0.48+devel r10053 custom"
+   width="96"
+   height="48"
+   sodipodi:docname="process-working.svg"
+   style="display:inline">
+  <metadata
+     id="metadata5375">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5373" />
+  <sodipodi:namedview
+     pagecolor="#808080"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1975"
+     inkscape:window-height="1098"
+     id="namedview5371"
+     showgrid="true"
+     borderlayer="true"
+     inkscape:showpageshadow="false"
+     inkscape:zoom="16"
+     inkscape:cx="53.997662"
+     inkscape:cy="22.367695"
+     inkscape:window-x="1600"
+     inkscape:window-y="33"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="layer2">
+    <inkscape:grid
+       type="xygrid"
+       id="grid11933"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <g
+     inkscape:groupmode="layer"
+     id="layer1"
+     inkscape:label="tiles"
+     style="display:none">
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12451"
+       width="24"
+       height="24"
+       x="0"
+       y="0" />
+    <rect
+       y="24"
+       x="0"
+       height="24"
+       width="24"
+       id="rect12453"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       y="0"
+       x="24"
+       height="24"
+       width="24"
+       id="rect12455"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12457"
+       width="24"
+       height="24"
+       x="24"
+       y="24" />
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12459"
+       width="24"
+       height="24"
+       x="48"
+       y="0" />
+    <rect
+       y="24"
+       x="48"
+       height="24"
+       width="24"
+       id="rect12461"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       y="0"
+       x="72"
+       height="24"
+       width="24"
+       id="rect12463"
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect12465"
+       width="24"
+       height="24"
+       x="72"
+       y="24" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="spinner">
+    <g
+       transform="matrix(0.28240106,0,0,0.28240106,146.92015,-382.52444)"
+       id="g10450-5"
+       style="display:inline">
+      <path
+         inkscape:connector-curvature="0"
+         style="opacity:0.6;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -477.76072,1373.3569 0,9.4717"
+         id="path18768"
+         sodipodi:nodetypes="cc"
+         inkscape:transform-center-y="-4.6808838" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-y="-3.3099227"
+         sodipodi:nodetypes="cc"
+         id="path18770"
+         d="m -461.0171,1380.2922 -7.23427,7.3824"
+         style="opacity:0.7;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="-3.3098966" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="-4.6808962"
+         style="opacity:0.8;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -454.08163,1397.0359 -9.47165,0"
+         id="path18772"
+         sodipodi:nodetypes="cc"
+         inkscape:transform-center-y="-2.6596956e-05" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         id="path18774"
+         d="m -461.01709,1413.7796 -6.93831,-7.0864"
+         style="opacity:0.9;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="-3.3098966"
+         inkscape:transform-center-y="3.3098652" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-y="4.6808757"
+         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -477.76074,1420.715 9e-5,-9.4716"
+         id="path18776"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         id="path18778"
+         d="m -494.50442,1413.7796 6.79048,-6.9384"
+         style="opacity:0.3;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-y="3.3098769"
+         inkscape:transform-center-x="3.3098883" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="4.6808941"
+         style="opacity:0.4;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -501.43987,1397.0359 9.47174,0"
+         id="path18780"
+         sodipodi:nodetypes="cc"
+         inkscape:transform-center-y="-2.6596956e-05" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         id="path18782"
+         d="m -494.5044,1380.2922 6.64243,6.9384"
+         style="opacity:0.5;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="3.3098902"
+         inkscape:transform-center-y="-3.3099302" />
+    </g>
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#g10450-5"
+       id="use4981"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,36,-4.9705636)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4981"
+       id="use4983"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,43.032478,-21.909695)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4983"
+       id="use4985"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,50.081986,-38.904617)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4985"
+       id="use4987"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,-38.919996,-31.872139)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4987"
+       id="use4989"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,52.986628,2.0890543)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4989"
+       id="use4991"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,60.013026,-14.912936)"
+       width="400"
+       height="400" />
+    <use
+       style="display:inline"
+       x="0"
+       y="0"
+       xlink:href="#use4991"
+       id="use4993"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,67.022396,-31.859127)"
+       width="400"
+       height="400" />
+  </g>
+</svg>
diff -Nru gnome-shell-3.22.2/debian/patches/animations-Guard-against-empty-animations.patch gnome-shell-3.22.2/debian/patches/animations-Guard-against-empty-animations.patch
--- gnome-shell-3.22.2/debian/patches/animations-Guard-against-empty-animations.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.22.2/debian/patches/animations-Guard-against-empty-animations.patch	2017-01-29 02:00:14.000000000 +0000
@@ -0,0 +1,33 @@
+From 92630f67c61816be21b8e1fa618c11915dbbee51 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Mon, 21 Nov 2016 18:09:42 +0100
+Subject: [PATCH 1/2] animations: Guard against empty animations
+
+Our animation code not only relies on the animation being loaded
+(which we handle), but also on having at least one frame - otherwise
+the computation of the next frame index will turn up NaN through
+division by zero. Guard against this case by treating empty animations
+as not loaded.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=774805
+Origin: upstream, 3.22.3, commit:92630f67c61816be21b8e1fa618c11915dbbee51
+---
+ js/ui/animation.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/ui/animation.js b/js/ui/animation.js
+index 23ec934d8..1ae9ba0ea 100644
+--- a/js/ui/animation.js
++++ b/js/ui/animation.js
+@@ -67,7 +67,7 @@ const Animation = new Lang.Class({
+     },
+ 
+     _animationsLoaded: function() {
+-        this._isLoaded = true;
++        this._isLoaded = this._animations.get_n_children() > 0;
+ 
+         if (this._isPlaying)
+             this.play();
+-- 
+2.11.0
+
diff -Nru gnome-shell-3.22.2/debian/patches/series gnome-shell-3.22.2/debian/patches/series
--- gnome-shell-3.22.2/debian/patches/series	2016-08-20 16:58:13.000000000 +0100
+++ gnome-shell-3.22.2/debian/patches/series	2017-01-29 11:44:21.000000000 +0000
@@ -1,3 +1,5 @@
 27-nm-libexec-path.patch
 #30-remoteMenu-Prevent-the-shell-from-becoming-unrespons.patch
 41-handle-logind-fail.patch
+animations-Guard-against-empty-animations.patch
+texture-cache-Warn-when-loading-sliced-image-fails.patch
diff -Nru gnome-shell-3.22.2/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch gnome-shell-3.22.2/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch
--- gnome-shell-3.22.2/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.22.2/debian/patches/texture-cache-Warn-when-loading-sliced-image-fails.patch	2017-01-29 02:00:14.000000000 +0000
@@ -0,0 +1,61 @@
+From 516568a226ca908c6170f8b568d36ab5ec63d1e1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Tue, 22 Nov 2016 18:12:35 +0100
+Subject: [PATCH 2/2] texture-cache: Warn when loading sliced image fails
+
+Sliced images are loaded into a group actor with one child actor
+per slice. In case loading the image fails, we currently quietly
+return the empty group actor, which makes diagnosing problems
+unnecessarily hard - just be a bit more verbose on failure.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=774805
+Origin: upstream, 3.22.3, commit:516568a226ca908c6170f8b568d36ab5ec63d1e1
+---
+ src/st/st-texture-cache.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c
+index 1c718acb9..281241ade 100644
+--- a/src/st/st-texture-cache.c
++++ b/src/st/st-texture-cache.c
+@@ -1088,6 +1088,7 @@ load_sliced_image (GTask        *result,
+   GdkPixbuf *pix;
+   gint width, height, y, x;
+   GdkPixbufLoader *loader;
++  GError *error = NULL;
+   gchar *buffer = NULL;
+   gsize length;
+ 
+@@ -1099,11 +1100,17 @@ load_sliced_image (GTask        *result,
+   loader = gdk_pixbuf_loader_new ();
+   g_signal_connect (loader, "size-prepared", G_CALLBACK (on_loader_size_prepared), data);
+ 
+-  if (!g_file_load_contents (data->gfile, NULL, &buffer, &length, NULL, NULL))
+-    goto out;
++  if (!g_file_load_contents (data->gfile, NULL, &buffer, &length, NULL, &error))
++    {
++      g_warning ("Failed to open sliced image: %s", error->message);
++      goto out;
++    }
+ 
+-  if (!gdk_pixbuf_loader_write (loader, (const guchar *) buffer, length, NULL))
+-    goto out;
++  if (!gdk_pixbuf_loader_write (loader, (const guchar *) buffer, length, &error))
++    {
++      g_warning ("Failed to load image: %s", error->message);
++      goto out;
++    }
+ 
+   if (!gdk_pixbuf_loader_close (loader, NULL))
+     goto out;
+@@ -1128,6 +1135,7 @@ load_sliced_image (GTask        *result,
+    * though the subpixbufs will hold a reference. */
+   g_object_unref (loader);
+   g_free (buffer);
++  g_clear_pointer (&error, g_error_free);
+   g_task_return_pointer (result, res, free_glist_unref_gobjects);
+ }
+ 
+-- 
+2.11.0
+

--- End Message ---
--- Begin Message ---
On Sun, Jan 29, 2017 at 01:24:48PM +0000, Simon McVittie wrote:
> Please unblock package gnome-shell and/or set a shorter time delay.
> This fixes RC bug #853018, one of two root causes for inability to
> unlock the lock screen if a user fails to read the release notes and
> carries out the upgrade from within the GNOME GUI (the other is in
> gdm3 and has a separate unblock request).

Aged aggressively :)


-- 
Jonathan Wiltshire                                      jmw@debian.org
Debian Developer                         http://people.debian.org/~jmw

4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC  74C3 5394 479D D352 4C51

--- End Message ---

Reply to: