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: