Bug 335551 - abiword wakes up the CPU while doing nothing
Summary: abiword wakes up the CPU while doing nothing
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: abiword
Version: 13
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Marc Maurer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: wakeup
TreeView+ depends on / blocked
 
Reported: 2007-10-17 02:46 UTC by William Lovaton
Modified: 2011-06-27 13:55 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-27 13:55:15 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description William Lovaton 2007-10-17 02:46:30 UTC
Description of problem:
According to powertop abiword wakes up the CPU more that 2 times per second
while doing absolutely nothing, thus keeping the system from saving power.

Even on my old hardware abiword is the worst offender (even more than the
kernel) on an otherwise quiet system.  The measurements are done on a fresh
start without loading any file and the window is unfocused.

This is an updated Rawhide, package version is: abiword-2.4.6-6.fc8

Doing an "strace -tt -p <pid-of-abiword>" I get the following:

[william@localhost ~]$ strace -tt -p 5312
Process 5312 attached - interrupt to quit
21:27:40.970794 gettimeofday({1192588060, 971326}, NULL) = 0
21:27:40.971542 read(3, 0x90dfd98, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
21:27:40.972008 gettimeofday({1192588060, 972218}, NULL) = 0
21:27:40.972395 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=10,
events=POLLIN|POLLPRI}], 7, 278) = 0
21:27:41.251045 gettimeofday({1192588061, 251316}, NULL) = 0
21:27:41.251565 read(3, 0x90dfd98, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
21:27:41.251988 gettimeofday({1192588061, 252197}, NULL) = 0
21:27:41.252372 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=10,
events=POLLIN|POLLPRI}], 7, 499) = 0
21:27:41.752086 gettimeofday({1192588061, 752362}, NULL) = 0
21:27:41.752630 read(3, 0x90dfd98, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
21:27:41.753029 gettimeofday({1192588061, 753171}, NULL) = 0
21:27:41.753416 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=10,
events=POLLIN|POLLPRI}], 7, 500) = 0
21:27:42.253065 gettimeofday({1192588062, 253338}, NULL) = 0
21:27:42.253607 read(3, 0x90dfd98, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
21:27:42.254006 gettimeofday({1192588062, 254214}, NULL) = 0
21:27:42.254388 poll( <unfinished ...>
Process 5312 detached


Things does not get worse when I load a file, wake ups per second stays the same
as long as the window is not focused.  When the window is focused it makes the
cursor to blink and it doesn't seem to stop after a bit of inactivity, taking
the wps from 2 to 5.

Comment 1 Bug Zapper 2008-04-04 14:08:31 UTC
Based on the date this bug was created, it appears to have been reported
during the development of Fedora 8. In order to refocus our efforts as
a project we are changing the version of this bug to '8'.

If this bug still exists in rawhide, please change the version back to
rawhide.
(If you're unable to change the bug's version, add a comment to the bug
and someone will change it for you.)

Thanks for your help and we apologize for the interruption.

The process we're following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

Comment 2 William Lovaton 2008-04-13 15:34:06 UTC
Well, I retested this on a Live USB Rawhide system (the snapshot from April 4)
and it still happens.  Abiword keeps waking up the CPU 2 times per second while
doing nothing.  I updated abiword to 2.6.2-1.fc9.i386.

Strace shows the following:

1208096060.975569 gettimeofday({1208096060, 975792}, NULL) = 0
1208096060.976209 read(3, 0xa4ab54c, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
1208096060.976792 gettimeofday({1208096060, 977004}, NULL) = 0
1208096060.977334 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=10,
events=POLLIN|POLLPRI}], 7, 499) = 0
1208096061.477433 gettimeofday({1208096061, 477498}, NULL) = 0
1208096061.478067 read(3, 0xa4ab54c, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
1208096061.478580 gettimeofday({1208096061, 478635}, NULL) = 0
1208096061.479120 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12,
events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=10,
events=POLLIN|POLLPRI}], 7, 498) = 0


I hope this time there is someone able to debug and fix this problem.

Comment 3 Marc Maurer 2008-05-05 15:26:26 UTC
In 2.6.x the situation as been improved a tiny bit, in the fact that the cursor
timer is stopped now when the cursor stops blinking.

As for the other timer, I wouldn't be surprised if it was the timer used to
update  dynamic fields, but that's just a wild guess (this ofcourse would be
quite silly when there are no dynamic fields in the document).

Comment 4 Bug Zapper 2008-05-14 03:25:49 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Bug Zapper 2009-06-09 22:57:36 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 William Lovaton 2009-06-14 13:24:31 UTC
Well, I just installed Fedora 11 on my laptop and this is still a problem, powertop show 2 wps for abiword while unfocused and 3.7 wps when focused.

Abiword version is abiword-2.6.8-2.fc11.i586.  Just as a comment, gnumeric do not generate any wake ups while idle.

The strace log is the following:

08:15:22.467835 restart_syscall(<... resuming interrupted call ...>) = 0
08:15:22.696204 gettimeofday({1244985322, 696314}, NULL) = 0
08:15:22.696467 read(3, 0x8b6b998, 4096) = -1 EAGAIN (Resource temporarily unavailable)
08:15:22.696676 gettimeofday({1244985322, 696738}, NULL) = 0
08:15:22.696823 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}], 8, 0) = 0 (Timeout)
08:15:22.697111 read(3, 0x8b6b998, 4096) = -1 EAGAIN (Resource temporarily unavailable)
08:15:22.697252 gettimeofday({1244985322, 697299}, NULL) = 0
08:15:22.697393 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}], 8, 500) = 0 (Timeout)
08:15:23.198367 gettimeofday({1244985323, 198472}, NULL) = 0
08:15:23.198650 read(3, 0x8b6b998, 4096) = -1 EAGAIN (Resource temporarily unavailable)
08:15:23.198830 gettimeofday({1244985323, 198891}, NULL) = 0
08:15:23.198971 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}], 8, 499) = 0 (Timeout)
08:15:23.700643 gettimeofday({1244985323, 700722}, NULL) = 0
08:15:23.700871 read(3, 0x8b6b998, 4096) = -1 EAGAIN (Resource temporarily unavailable)
08:15:23.700998 gettimeofday({1244985323, 701044}, NULL) = 0
08:15:23.701115 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}], 8, 500) = 0 (Timeout)
08:15:24.202053 gettimeofday({1244985324, 202136}, NULL) = 0
08:15:24.202283 read(3, 0x8b6b998, 4096) = -1 EAGAIN (Resource temporarily unavailable)
08:15:24.202431 gettimeofday({1244985324, 202478}, NULL) = 0
08:15:24.202548 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}], 8, 499) = 0 (Timeout)

Comment 7 RJ 2009-11-25 13:29:26 UTC
same with 2.8.1 in Fedora 12

Process 3667 attached - interrupt to quit
16:27:14.670160 restart_syscall(<... resuming interrupted call ...>) = 0
16:27:14.760490 gettimeofday({1259155634, 760565}, NULL) = 0
16:27:14.760662 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:14.760807 gettimeofday({1259155634, 760839}, NULL) = 0
16:27:14.760902 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout)
16:27:14.761253 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:14.761360 gettimeofday({1259155634, 761392}, NULL) = 0
16:27:14.761456 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 384) = 0 (Timeout)
16:27:15.146601 gettimeofday({1259155635, 146655}, NULL) = 0
16:27:15.146754 inotify_add_watch(8, "/home/rj12/.config/ibus/bus", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory)
16:27:15.146948 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:15.147052 gettimeofday({1259155635, 147253}, NULL) = 0
16:27:15.147318 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 113) = 0 (Timeout)
16:27:15.260658 gettimeofday({1259155635, 260726}, NULL) = 0
16:27:15.260820 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:15.260935 gettimeofday({1259155635, 260967}, NULL) = 0
16:27:15.261031 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout)
16:27:15.261409 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:15.261511 gettimeofday({1259155635, 261542}, NULL) = 0
16:27:15.261605 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 499) = 0 (Timeout)
16:27:15.761332 gettimeofday({1259155635, 761402}, NULL) = 0
16:27:15.761581 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:15.761701 gettimeofday({1259155635, 761734}, NULL) = 0
16:27:15.761798 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 500) = 0 (Timeout)
16:27:16.262539 gettimeofday({1259155636, 262608}, NULL) = 0
16:27:16.262786 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:16.262910 gettimeofday({1259155636, 262944}, NULL) = 0
16:27:16.263011 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 499) = 0 (Timeout)
16:27:16.762788 gettimeofday({1259155636, 762859}, NULL) = 0
16:27:16.763036 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:16.763192 gettimeofday({1259155636, 763227}, NULL) = 0
16:27:16.763295 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 500) = 0 (Timeout)
16:27:17.264035 gettimeofday({1259155637, 264123}, NULL) = 0
16:27:17.264304 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:17.264430 gettimeofday({1259155637, 264465}, NULL) = 0
16:27:17.264532 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 499) = 0 (Timeout)
16:27:17.764275 gettimeofday({1259155637, 764347}, NULL) = 0
16:27:17.764526 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:17.764651 gettimeofday({1259155637, 764687}, NULL) = 0
16:27:17.764753 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 500) = 0 (Timeout)
16:27:18.265428 gettimeofday({1259155638, 265468}, NULL) = 0
16:27:18.265570 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:18.265634 gettimeofday({1259155638, 265651}, NULL) = 0
16:27:18.265684 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 499) = 0 (Timeout)
16:27:18.765375 gettimeofday({1259155638, 765444}, NULL) = 0
16:27:18.765540 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:18.765660 gettimeofday({1259155638, 765694}, NULL) = 0
16:27:18.765760 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout)
16:27:18.765976 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:18.766108 gettimeofday({1259155638, 766145}, NULL) = 0
16:27:18.766210 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 379) = 0 (Timeout)
16:27:19.145824 gettimeofday({1259155639, 145893}, NULL) = 0
16:27:19.145985 inotify_add_watch(8, "/home/rj12/.config/ibus/bus", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory)
16:27:19.146203 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:19.146322 gettimeofday({1259155639, 146356}, NULL) = 0
16:27:19.146424 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 119) = 0 (Timeout)
16:27:19.265768 gettimeofday({1259155639, 265838}, NULL) = 0
16:27:19.266005 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:19.266159 gettimeofday({1259155639, 266195}, NULL) = 0
16:27:19.266261 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 499) = 0 (Timeout)
16:27:19.765994 gettimeofday({1259155639, 766079}, NULL) = 0
16:27:19.766262 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:19.766386 gettimeofday({1259155639, 766421}, NULL) = 0
16:27:19.766487 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 500) = 0 (Timeout)
16:27:20.267216 gettimeofday({1259155640, 267281}, NULL) = 0
16:27:20.267455 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:20.267578 gettimeofday({1259155640, 267613}, NULL) = 0
16:27:20.267679 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 499) = 0 (Timeout)
16:27:20.767412 gettimeofday({1259155640, 767482}, NULL) = 0
16:27:20.768172 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
16:27:20.768304 gettimeofday({1259155640, 768340}, NULL) = 0
16:27:20.768408 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 500) = 0 (Timeout)
16:27:21.269150 gettimeofday({1259155641, 269215}, NULL) = 0
16:27:21.269389 read(3, 0x90d3da0, 4096) = -1 EAGAIN (Resource temporarily unavailable)

Comment 8 RJ 2009-11-25 13:30:56 UTC
powertop shows the same

0,9% (  2,0)           abiword : hrtimer_start_range_ns (hrtimer_wakeup)

Comment 10 Bug Zapper 2010-03-15 11:56:02 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle.
Changing version to '13'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 11 Bug Zapper 2011-06-02 18:38:28 UTC
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 12 Bug Zapper 2011-06-27 13:55:15 UTC
Fedora 13 changed to end-of-life (EOL) status on 2011-06-25. Fedora 13 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.