Interaction with onboard causes synaptic to become unresponsive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
onboard (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Hi,
I'm filing this bug on onboard, but it might just as well be a bug in synaptic; I just don't know-.
- When onboard is running (it doesn't matter whether the onboard keyboard is being displayed/used), synaptic experiences major issues of unresponsiveness. Starting ssynaptic takes minutes, likewise every time the quick search bar in synaptic is used.
During this time, the processes for synaptic, onboard and the accessibility dbus daemon consume lots of cpu time, (almost 100% of one core _each_). After a minute or two of waiting, synaptic becomes usable again, and the cpu load disappears.
- Onboards stay usable the entire time.
- Other applications do not seem to have the same issue.
- When onboard is not running, synaptic does not show this issue.
I've tried a quick strace, and it seems that synaptic spends the unresponsive time sending lots of data using sendmsg(), but I haven't figured out where to.
ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: onboard 0.99.0-0ubuntu1
Uname: Linux 3.13.0-
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
Date: Thu Dec 26 15:49:21 2013
InstallationDate: Installed on 2013-12-25 (0 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
MarkForUpload: True
SourcePackage: onboard
UpgradeStatus: No upgrade log present (probably fresh install)
Hi, thanks for the bug report.
The cause I believe is that synaptic sends a storm of AT-SPI focus events when updating the package view. It seems to generate at least one event for each added line. Onboard, with auto-show enabled, has no choice but to receive each and every one of them. I found it is enough to stay subscribed to this event, so even if no actual processing is done in Onboard, the act of receiving is enough to ramp up CPU use and stall synaptic's startup.
I think what we need to do is look at why filling synaptic's package view triggers those events. I don't see how to work around this in Onboard, apart from turning auto-show and word suggestions off.