Package: release.debian.org Severity: normal User: [email protected] 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 <[email protected]> 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 <[email protected]> Uploaders: Luke Yelavich <[email protected]>, Samuel Thibault <[email protected]> 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));

