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

Bug#772652: marked as done (unblock: gnome-shell/3.14.2-2)



Your message dated Fri, 12 Dec 2014 20:27:30 +0100
with message-id <20141212192728.GA22469@ugent.be>
and subject line Re: Bug#772652: unblock: gnome-shell/3.14.2-2
has caused the Debian Bug report #772652,
regarding unblock: gnome-shell/3.14.2-2
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.)


-- 
772652: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772652
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

Dear release team,

Could you please unblock package gnome-shell/3.14.2-2.

This upload includes a patch that defers the startup of the caribou
daemon (on screen keyboard) that is unfortunatelly known to consume
quite some resources (CPU time, memory and dbus trafic) even if a11y is
disabled on the user machine. (see: #769489).

Cheers,

Laurent Bigonville

unblock gnome-shell/3.14.2-2

-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_BE.utf8, LC_CTYPE=fr_BE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru gnome-shell-3.14.2/debian/changelog gnome-shell-3.14.2/debian/changelog
--- gnome-shell-3.14.2/debian/changelog	2014-11-30 15:31:15.000000000 +0100
+++ gnome-shell-3.14.2/debian/changelog	2014-12-09 17:05:29.000000000 +0100
@@ -1,3 +1,11 @@
+gnome-shell (3.14.2-2) unstable; urgency=medium
+
+  * Add debian/patches/51-Delay-caribou-daemon-invocation.patch: Delay the
+    invocation of the caribou daemon until it's really needed, this should
+    workaround bugs like #769489.
+
+ -- Laurent Bigonville <bigon@debian.org>  Tue, 09 Dec 2014 17:05:28 +0100
+
 gnome-shell (3.14.2-1) unstable; urgency=medium
 
   * gnome-shell.gsettings-override: remove shotwell which is no longer 
diff -Nru gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch
--- gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch	2014-12-08 17:30:59.000000000 +0100
@@ -0,0 +1,75 @@
+From 68d6389ee6b0b90fbc8a7532c98f758f1a2f2223 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <dueno@src.gnome.org>
+Date: Thu, 6 Nov 2014 16:40:34 +0900
+Subject: [PATCH] keyboard: Delay caribou daemon invocation until really needed
+
+Calling g_dbus_proxy_new without any flag means that the caribou
+daemon will be launched through D-Bus activation, when creating
+a proxy.  It smoked out some corner cases in caribou and at-spi2-core,
+but generally it would be good to avoid creating unused process.
+
+This patch delays the invocation until the "Run" method is called.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=739712
+---
+ js/ui/keyboard.js | 34 ++++++++++++++++++++--------------
+ 1 file changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
+index 1855adc..8dc154b 100644
+--- a/js/ui/keyboard.js
++++ b/js/ui/keyboard.js
+@@ -187,14 +187,7 @@ const Keyboard = new Lang.Class({
+         this._watchNameId = Gio.bus_watch_name(Gio.BusType.SESSION, CURSOR_BUS_NAME, 0,
+                                                Lang.bind(this, this._sync),
+                                                Lang.bind(this, this._sync));
+-        this._daemonProxy = new CaribouDaemonProxy(Gio.DBus.session, CARIBOU_BUS_NAME,
+-                                                   CARIBOU_OBJECT_PATH,
+-                                                   Lang.bind(this, function(proxy, error) {
+-                                                       if (error) {
+-                                                           log(error.message);
+-                                                           return;
+-                                                       }
+-                                                   }));
++        this._daemonProxy = null;
+         this._cursorProxy = new CursorManagerProxy(Gio.DBus.session, CURSOR_BUS_NAME,
+                                                    CURSOR_OBJECT_PATH,
+                                                    Lang.bind(this, function(proxy, error) {
+@@ -256,15 +249,28 @@ const Keyboard = new Lang.Class({
+         this.actor = null;
+ 
+         this._destroySource();
+-        this._daemonProxy.QuitRemote(function (result, error) {
+-            if (error) {
+-                log(error.message);
+-                return;
+-            }
+-        });
++        if (this._daemonProxy) {
++            this._daemonProxy.QuitRemote(function (result, error) {
++                if (error) {
++                    log(error.message);
++                    return;
++                }
++            });
++            this._daemonProxy = null;
++        }
+     },
+ 
+     _setupKeyboard: function() {
++        if (!this._daemonProxy) {
++            this._daemonProxy = new CaribouDaemonProxy(Gio.DBus.session, CARIBOU_BUS_NAME,
++                                                       CARIBOU_OBJECT_PATH,
++                                                       Lang.bind(this, function(proxy, error) {
++                                                           if (error) {
++                                                               log(error.message);
++                                                               return;
++                                                           }
++                                                       }));
++        }
+         this._daemonProxy.RunRemote(function (result, error) {
+             if (error) {
+                 log(error.message);
+-- 
+2.1.3
+
diff -Nru gnome-shell-3.14.2/debian/patches/series gnome-shell-3.14.2/debian/patches/series
--- gnome-shell-3.14.2/debian/patches/series	2014-11-30 15:31:15.000000000 +0100
+++ gnome-shell-3.14.2/debian/patches/series	2014-12-08 17:47:50.000000000 +0100
@@ -5,3 +5,4 @@
 #30-remoteMenu-Prevent-the-shell-from-becoming-unrespons.patch
 41-handle-logind-fail.patch
 50-compute-weeknumber-with-gdatetime.patch
+51-Delay-caribou-daemon-invocation.patch

--- End Message ---
--- Begin Message ---
Hi,

On Tue, Dec 09, 2014 at 05:40:47PM +0100, Laurent Bigonville wrote:
> Could you please unblock package gnome-shell/3.14.2-2.

Unblocked.

Cheers,

Ivo

--- End Message ---

Reply to: