QtAccessibility causes crashes in several applications
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
at-spi2-core (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | |||
Oneiric |
Fix Released
|
Undecided
|
Unassigned | |||
Precise |
Invalid
|
Undecided
|
Unassigned | |||
qt-at-spi (Ubuntu) | ||||||
Oneiric |
Won't Fix
|
Undecided
|
Unassigned | |||
Precise |
Won't Fix
|
Undecided
|
Unassigned | |||
unity-2d (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | |||
Oneiric |
Fix Released
|
Undecided
|
Unassigned | |||
Precise |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
See backtraces, and possible further comments here:
If possible, please give instructions how to workaround it (e.g. by disabling QtAccessibility) until the bugs are fixed. If the crashes are caused by bugs in KDE applications itself, please file back bug reports to the KDE bug tracker.
---- SRU Info ----
[Impact]
QtAccessibility causes crashes in several applications when enabled. This affects Qt and KDE applications started on an accessibility-
[Development Fix]
Upstream is confident QtAccessibility is stable enough in Qt 4.8 that no workaround will be needed in Precise.
[Stable Fix]
QtAccessibility does not cause Unity 2D to crash, as crashes are caused by widgets which are not used in Unity 2D. Since the desktop must be accessible, it is important to keep QtAccessibility activated for Unity 2D, but not for other applications.
Activation of QtAccessibility is controlled by the QT_ACCESSIBILITY environment variable.
The fix consists of two steps:
- Do not enable QtAccessibility if desktop accessibility is enabled. This is implemented in the at-spi2-core debdiff
- Enable QtAccessibility at startup of Unity 2D so that the desktop remains accessible, but disable it before starting applications so that they do not suffer from the crashes.
It is still possible for Qt application developers to test accessibility of their application by explicitly setting the QT_ACCESSIBILITY environment variable.
[Test Case]
Those crashes are difficult to reproduce, but I can reliably trigger one on my machine with Kopete.
1. Enable accessibility
2. Restart the session => the QT_ACCESSIBILITY environment variable should be set
3. Start Kopete => crash
4. Ensure unity-2d still have accessibility enabled
[Regression Potential]
This fix causes accessibility to be disabled for all Qt applications but Unity 2D. Users who have started to rely on QtAccessibility will not be able to use it anymore. We (upstream and I) believe that the current situation is worse and that QtAccessibility is not good enough in Oneiric anyway for users to rely on it yet.
Changed in at-spi2-core (Ubuntu): | |
status: | New → Invalid |
Changed in at-spi2-core (Ubuntu Oneiric): | |
status: | New → Invalid |
tags: | added: a11y |
description: | updated |
Changed in at-spi2-core (Ubuntu Oneiric): | |
status: | Invalid → Confirmed |
Changed in qt-at-spi (Ubuntu Oneiric): | |
status: | New → Invalid |
status: | Invalid → Confirmed |
description: | updated |
Changed in unity-2d (Ubuntu Oneiric): | |
status: | New → Confirmed |
Changed in unity-2d (Ubuntu Precise): | |
status: | New → Confirmed |
no longer affects: | qt-at-spi (Ubuntu) |
Status changed to 'Confirmed' because the bug affects multiple users.