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

Bug#776561: unblock: qt-at-spi/0.3.1-5



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package qt-at-spi

Hello,

Version 0.3.1-5 fixes bug #762672.

Some users report that KDE application startup becomes very long when
qt-at-spi is installed.  According to the application output, this
happens because the at-spi bus is not responding for some reason.  A
typical case where that was happening was when lightdm-gtk-greeter was
not cleaning its own at-spi bus (Bug #760740), but this was fixed.
Some users have however been reporting that it still happens.  I have
been unable to reproduce that situation except with a hard kill -STOP
on the at-spi bus, in which case I indeed get a couple of minute KDE
application start delay.

While I'm not able to reproduce the actual issue (at-spi bus not
responding) in normal conditions, I'd rather mitigate the effect by
reducing the timeout, from the default dbus timeout (25s for each
failing RPC) to 1s. As shown by the patch, 3 RPCs are failing before the
application can finish startup.  It thus mitigates the effect from a
couple of minutes delay down to 3 seconds.

unblock qt-at-spi/0.3.1-5

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

Kernel: Linux 3.18.0 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)

-- 
Samuel
<N>  sl  -  display animations aimed to correct users who accidentally enter
<N>        sl instead of ls.
diff -Nru qt-at-spi-0.3.1/debian/changelog qt-at-spi-0.3.1/debian/changelog
--- qt-at-spi-0.3.1/debian/changelog	2013-06-30 23:55:00.000000000 +0200
+++ qt-at-spi-0.3.1/debian/changelog	2015-01-29 02:56:31.000000000 +0100
@@ -1,3 +1,11 @@
+qt-at-spi (0.3.1-5) unstable; urgency=low
+
+  * patches/timeout: Mitigate kde application startup time when the at-spi bus
+    is hosed (Closes: #762672).
+  * Bump Standards-Version to 3.9.6 (no changes).
+
+ -- Samuel Thibault <sthibault@debian.org>  Thu, 29 Jan 2015 02:56:29 +0100
+
 qt-at-spi (0.3.1-4) unstable; urgency=low
 
   * patches/werror: New patch to drop use of -Werror (Closes: #701343).
diff -Nru qt-at-spi-0.3.1/debian/control qt-at-spi-0.3.1/debian/control
--- qt-at-spi-0.3.1/debian/control	2012-10-04 02:11:26.000000000 +0200
+++ qt-at-spi-0.3.1/debian/control	2014-09-19 17:49:32.000000000 +0200
@@ -3,7 +3,7 @@
 Maintainer: Debian Accessibility Team <debian-accessibility@lists.debian.org>
 Uploaders: Luke Yelavich <luke.yelavich@canonical.com>, Samuel Thibault <sthibault@debian.org>
 Build-Depends: debhelper (>= 7.3), libqt4-dev (>= 4:4.8~), libatspi2.0-dev, hardening-wrapper, qt4-dev-tools
-Standards-Version: 3.9.3
+Standards-Version: 3.9.6
 Section: misc
 
 Package: qt-at-spi
diff -Nru qt-at-spi-0.3.1/debian/patches/series qt-at-spi-0.3.1/debian/patches/series
--- qt-at-spi-0.3.1/debian/patches/series	2013-03-05 01:06:03.000000000 +0100
+++ qt-at-spi-0.3.1/debian/patches/series	2015-01-29 01:59:48.000000000 +0100
@@ -1 +1,2 @@
 werror
+timeout
diff -Nru qt-at-spi-0.3.1/debian/patches/timeout qt-at-spi-0.3.1/debian/patches/timeout
--- qt-at-spi-0.3.1/debian/patches/timeout	1970-01-01 01:00:00.000000000 +0100
+++ qt-at-spi-0.3.1/debian/patches/timeout	2015-01-29 02:54:16.000000000 +0100
@@ -0,0 +1,30 @@
+--- a/src/dbusconnection.cpp
++++ b/src/dbusconnection.cpp
+@@ -83,7 +83,7 @@ QString DBusConnection::getAccessibility
+     QDBusMessage m = QDBusMessage::createMethodCall("org.a11y.Bus",
+                                                     "/org/a11y/bus",
+                                                     "org.a11y.Bus", "GetAddress");
+-    QDBusMessage reply = c.call(m);
++    QDBusMessage reply = c.call(m, QDBus::Block, 1000);
+     if (reply.type() == QDBusMessage::ErrorMessage) {
+         qWarning() << "Qt at-spi: error getting the accessibility dbus address: " << reply.errorMessage();
+         return QString();
+--- a/src/atspiadaptor.cpp
++++ b/src/atspiadaptor.cpp
+@@ -770,7 +770,7 @@ void AtSpiAdaptor::updateEventListeners(
+     QDBusMessage m = QDBusMessage::createMethodCall("org.a11y.atspi.Registry",
+                                                     "/org/a11y/atspi/registry",
+                                                     "org.a11y.atspi.Registry", "GetRegisteredEvents");
+-    QDBusReply<QSpiEventListenerArray> listenersReply = m_dbus->connection().call(m);
++    QDBusReply<QSpiEventListenerArray> listenersReply = m_dbus->connection().call(m, QDBus::Block, 1000);
+     if (listenersReply.isValid()) {
+         const QSpiEventListenerArray evList = listenersReply.value();
+         Q_FOREACH(const QSpiEventListener &ev, evList) {
+@@ -1260,6 +1260,7 @@ void AtSpiAdaptor::registerApplication()
+     SocketProxy *registry;
+     registry = new SocketProxy(QSPI_REGISTRY_NAME,
+                                QSPI_OBJECT_PATH_ROOT, m_dbus->connection());
++    registry->setTimeout(1000);
+ 
+     QDBusPendingReply<QSpiObjectReference> reply;
+     QSpiObjectReference ref = QSpiObjectReference(m_dbus->connection(), QDBusObjectPath(QSPI_OBJECT_PATH_ROOT));

Reply to: