Ubuntu-One client/syncd cause 10 wake ups / second each

Bug #475447 reported by Jens Böning
74
This bug affects 15 people
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Fix Released
Low
Ubuntu One Foundations+ team
desktopcouch
Fix Released
Low
Ubuntu One Foundations+ team
pygobject (Ubuntu)
Invalid
Low
Unassigned
ubuntuone-client (Ubuntu)
Fix Released
Low
Matt Griffin

Bug Description

Binary package hint: ubuntuone-client

PowerTop shows both ubuntuone-client and ubuntuone-syncd high on the list of shame. It does not matter wether ubuntuone is syncing anything or not.

$ lsb_release -rd
Description: Ubuntu 9.10
Release: 9.10

$ apt-cache policy ubuntuone-client
ubuntuone-client:
  Installiert: 1.0.2-0ubuntu2
  Kandidat: 1.0.2-0ubuntu2
  Versions-Tabelle:
 *** 1.0.2-0ubuntu2 0
        500 http://de.archive.ubuntu.com karmic-updates/main Packages
        100 /var/lib/dpkg/status
     1.0.2-0ubuntu1 0
        500 http://de.archive.ubuntu.com karmic/main Packages

Revision history for this message
Jens Böning (jensel) wrote :
Revision history for this message
Matt Griffin (mattgriffin) wrote :

Thanks for filing this bug report. I'm sorry but I don't quite understand what the issue is. Can you provide a little more description?

Changed in ubuntuone-client (Ubuntu):
status: New → Incomplete
assignee: nobody → Matt Griffin (mattgriffin)
Revision history for this message
Jens Böning (jensel) wrote :

The issue is that ubuntuone-client, ubuntuone-syncdaemon and desktopcouch-server (forgot to mention that) are responsible for a constant rate of 30 wakeups/second between them (10 wakeups/s each). On a reasonable modern system this is not a negliigible figure, in particular when considering the impact on the power consumption of laptops.

The question is why these services cause wakeups at all. Is there some kind of polling to check if there is any work to do? And doing so 10 times per second?

Revision history for this message
Chad Miller (cmiller) wrote :

Jens, everything that uses glib from Python is affected this way.

This bug over at Gnome bugzilla describes it.
https://bugzilla.gnome.org/show_bug.cgi?id=481569

That was fixed in late October,
https://bugzilla.gnome.org/show_bug.cgi?id=481569#c82

so it should fall in to Lucid soon, when python-gobject source package is updated. That will automatically fix this bug.

Chad Miller (cmiller)
Changed in ubuntuone-client:
status: New → Confirmed
Changed in desktopcouch:
status: New → Confirmed
Changed in ubuntuone-client (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

The ubuntu package has patches for this issues for several cycles now, are you sure it's the same issue?

Changed in pygobject (Ubuntu):
importance: Undecided → Low
Revision history for this message
Sebastien Bacher (seb128) wrote :

the change has been added in intrepid

"pygobject (2.15.1-0ubuntu2) intrepid; urgency=low

  * New patch, 61_wakeupfd-fctnl-and-read, merge back parts of patch
    61_wakeupfd-fix (named "Do not use the wakeup fd if it not initialised" in
    GNOME #481569) which still apply (setting the read end of the pipe() as
    non-blocking and actually reading bytes from it); LP: #250876;
    GNOME #481569.
  * Refresh patch 03_maintainer_mode.

 -- Loic Minier < <email address hidden>> Mon, 11 Aug 2008 17:28:02 +0200"

Chad Miller (cmiller)
Changed in desktopcouch:
importance: Undecided → Low
Changed in ubuntuone-client:
importance: Undecided → Medium
importance: Medium → Low
Changed in ubuntuone-client (Ubuntu):
importance: Undecided → Low
tags: added: foundations+
Changed in ubuntuone-client:
assignee: nobody → Ubuntu One Foundations+ team (uone-foundations)
Changed in desktopcouch:
assignee: nobody → Ubuntu One Foundations+ team (uone-foundations)
Revision history for this message
Philippe Normand (philn) wrote :

The last (hopefully!) fix of pygobject was released in 2.21

Revision history for this message
Thomas Trummer (truetom) wrote :
Download full text (6.3 KiB)

Still an issue. This is the polling done in one second, maybe it can be reduced:

poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 101) = 0 (Timeout)
gettimeofday({1270731240, 60992}, NULL) = 0
gettimeofday({1270731240, 61204}, NULL) = 0
gettimeofday({1270731240, 61369}, NULL) = 0
gettimeofday({1270731240, 61542}, NULL) = 0
gettimeofday({1270731240, 61702}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 100) = 0 (Timeout)
gettimeofday({1270731240, 162262}, NULL) = 0
gettimeofday({1270731240, 162419}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
gettimeofday({1270731240, 162818}, NULL) = 0
gettimeofday({1270731240, 162983}, NULL) = 0
gettimeofday({1270731240, 163152}, NULL) = 0
gettimeofday({1270731240, 163309}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 100) = 0 (Timeout)
gettimeofday({1270731240, 263799}, NULL) = 0
gettimeofday({1270731240, 263958}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
gettimeofday({1270731240, 264359}, NULL) = 0
gettimeofday({1270731240, 264524}, NULL) = 0
gettimeofday({1270731240, 264692}, NULL) = 0
gettimeofday({1270731240, 264851}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 100) = 0 (Timeout)
gettimeofday({1270731240, 365413}, NULL) = 0
gettimeofday({1270731240, 365572}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
gettimeofday({1270731240, 365975}, NULL) = 0
gettimeofday({1270731240, 366141}, NULL) = 0
gettimeofday({1270731240, 366314}, NULL) = 0
gettimeofday({1270731240, 366471}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 100) = 0 (Timeout)
gettimeofday({1270731240, 467034}, NULL) = 0
gettimeofday({1270731240, 467192}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=16, events=POLLIN}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
gettimeofday({1270731240, 467589}, NULL) = 0
gettimeofday({1270731240, 467725}, NULL) = 0
gettimeofday({1270731240, 467884}, NULL) = 0
gettimeofday({1270731240, 468008}, NULL) = 0
poll([{fd=6, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POL...

Read more...

tags: added: chicharra chicharra-maverick
Revision history for this message
Roger Binns (ubuntu-rogerbinns) wrote :

In Maverick (current as of writing this) ubuntuone-syncd and ubuntu-sso-login are still doing 10 wakeups per second each.

tags: added: chicharra-natty
removed: chicharra-maverick
Revision history for this message
Chad A Davis (chadadavis) wrote :

This also applies in Natty (beta).
This could be the same issue:
 https://bugs.launchpad.net/twisted/+bug/571648

Revision history for this message
Chad Miller (cmiller) wrote :

Disabling statistics gathering in desktopcouch's couchdb significantly reduced wakeups.

Changed in desktopcouch:
status: Confirmed → Fix Released
tags: added: chicharra-oneiric
removed: chicharra-natty
Martin Pitt (pitti)
Changed in pygobject (Ubuntu):
status: New → Invalid
Revision history for this message
noname2 (noname2-deactivatedaccount) wrote :

marked as fixed. tested on 13.04

Changed in ubuntuone-client (Ubuntu):
status: Confirmed → Fix Released
Changed in ubuntuone-client:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

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