Interaction with onboard causes synaptic to become unresponsive

Bug #1264315 reported by Daniel
16
This bug affects 3 people
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-031300rc5-generic x86_64
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)

Revision history for this message
Daniel (skorka-b) wrote :
Revision history for this message
marmuta (marmuta) wrote :

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.

Revision history for this message
Daniel (skorka-b) wrote :

Hey, thanks for looking into this.
I agree that this seems more like a bug in synaptic, and I'll file a bug report to that effect.
However, I want to point out that I can trigger the bug even when both auto-show and word suggestions are disabled.

Revision history for this message
Daniel (skorka-b) wrote :

Filed bug #1266240 against synaptic.

Revision history for this message
marmuta (marmuta) wrote :

I just realized this too, auto-capitalization has to be turned off as well. That's the last one, however, IIRC there is a bug in Onboard 0.99.0 that might still keep an event listener registered. You might need to get Onboard from trunk to disconnect from all at-spi events.

Revision history for this message
marmuta (marmuta) wrote :

We'll probably have to file an upstream bug report for synaptic, btw. I'm not sure if the right people will see it on launchpad. It's on http://bugs.debian.org.

Revision history for this message
Francesco Fumanti (frafu) wrote :

The bug has also already been filed against at-spi2 core:
https://bugs.launchpad.net/ubuntu/+source/at-spi2-core/+bug/1244474

I don't know whether it is an at-spi2 problem or a problem by synaptic itself.

As a temporary work around, you can use an older version of synaptic; I am currently using version 0.75.12 that does not have that problem.

Revision history for this message
marmuta (marmuta) wrote :

Does synaptic 0.75.12 have gtk2 dependencies? This would perhaps explain why it isn't affected. The core problem seems to be in GTK-3, synaptic only innocently calls gtk_tree_view_set_model.

Thanks for the bug link, I'll mark this one as a duplicate.

Revision history for this message
Francesco Fumanti (frafu) wrote :

You were right: synaptic 0.75.12 depends on gtk2.
Depends: libgtk2.0-0 (>=2.24.0)

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in onboard (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.