Bug 162767 - 100% CPU load after resume
Summary: 100% CPU load after resume
Status: RESOLVED WORKSFORME
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: 4.2.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-28 21:01 UTC by squan
Modified: 2023-02-03 05:02 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description squan 2008-05-28 21:01:22 UTC
Version:            (using KDE 3.5.9)
Installed from:    SuSE RPMs
OS:                Linux

Use case:
1) Load multiple web pages in multiple tabs.
  More pages makes the error more probable
2) suspend & resume computer
3) After swapped memory has been paged into RAM konqueror causes 100% CPU load typical for 5 to 15 minutes, sometimes longer, maybe until battery is empty (did not try).

Occurence of the bug depends on the web page being visited.
Possibly use of javascript is involved.
One example page is
http://paddy3118.blogspot.com/2008/05/duck-typing-done-right-is-wrong.html
(Proved by closing the page caousing CPU load to return to normal levels).

Possibly elder KDE versions don't show this problem. May be the original openSuse 10.3 does not show this, but I'm not sure.

This is part one of the bug series
"KDE not ready for the offline desktop"
Comment 1 squan 2008-07-11 21:38:04 UTC
Ok, I traced what konqueror is busy with after resuming.
It's a periodical combination of a select() call with a short timeout,  redundant calls to time functions, read access of a resource which select() already indicated not being available:
select(46, [3 4 5 7 9 15 20 22 23 24 29 30 33 45], [], [], {0, 0}) = 0 (Timeout)
gettimeofday({1215790167, 664621}, NULL) = 0
gettimeofday({1215790167, 664802}, NULL) = 0
time(NULL)                              = 1215790167
gettimeofday({1215790167, 665096}, NULL) = 0
gettimeofday({1215790167, 665775}, NULL) = 0
time(NULL)                              = 1215790167
gettimeofday({1215790167, 666074}, NULL) = 0
gettimeofday({1215790167, 666221}, NULL) = 0
time(NULL)                              = 1215790167
gettimeofday({1215790167, 666509}, NULL) = 0
gettimeofday({1215790167, 666657}, NULL) = 0
gettimeofday({1215790167, 666809}, NULL) = 0
read(3, 0x807f69c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1215790167, 667161}, NULL) = 0
select(46, [3 4 5 7 9 15 20 22 23 24 29 30 33 45], [], [], {0, 0}) = 0 (Timeout)
gettimeofday({1215790167, 667496}, NULL) = 0
gettimeofday({1215790167, 667660}, NULL) = 0
time(NULL)                              = 1215790167
Comment 2 squan 2008-07-11 21:49:52 UTC
With oprofile I gathered a bit more information on what code konqueror is so busy executing. It seems that khtml and javascript (libkjs.so.1.2.0) are heavy involved (rank 2 and 3 in the profiler report). The funny thing is that I only find /usr/lib/libkjs.so.4.1.0 in but no 1.2.0 as the profiler reports.

dhcppc1:/boot # opreport  -c
warning: /ext3 could not be found.
warning: /jbd could not be found.
warning: /nf_conntrack could not be found.
warning: /processor could not be found.
warning: /scsi_mod could not be found.
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               app name                 symbol name
-------------------------------------------------------------------------------
771      42.0622  processor                processor                (no symbols)
  771      100.000  processor                processor                (no symbols) [self]
-------------------------------------------------------------------------------
608      33.1697  libkhtml.so.4.2.0        kdeinit                  (no symbols)
  608      100.000  libkhtml.so.4.2.0        kdeinit                  (no symbols) [self]
-------------------------------------------------------------------------------
101       5.5101  libkjs.so.1.2.0          kdeinit                  (no symbols)
  101      100.000  libkjs.so.1.2.0          kdeinit                  (no symbols) [self]
-------------------------------------------------------------------------------
48        2.6187  libc-2.6.1.so            kdeinit                  (no symbols)
  48       100.000  libc-2.6.1.so            kdeinit                  (no symbols) [self]
-------------------------------------------------------------------------------
48        2.6187  libqt-mt.so.3.3.8        kdeinit                  (no symbols)
  48       100.000  libqt-mt.so.3.3.8        kdeinit                  (no symbols) [self]
-------------------------------------------------------------------------------
36        1.9640  vmlinux                  vmlinux                  acpi_pm_read
  36       100.000  vmlinux                  vmlinux                  acpi_pm_read [self]
Comment 3 squan 2008-07-11 21:53:23 UTC
I would change affected component to khtml. But how?
Comment 4 squan 2010-07-24 06:25:59 UTC
I did a fresh install of openSUSE-11.3 and the bug is still there.
Thus this bug does not depend on some broken configuration but instead is a universal issue of konqueror in KDE4.
Every mobile worker who still uses konqueror will potentially suffer from this.

Bug screeners please acknowledge this bug and increase its severity.

This bug only happens on pages with javascript. Globally deactivating javascript _before_ suspend_ prevents from occuring
(a DBUS command to do this programmatically would be a good workaround).
Often for a given page with javascript the bug is not triggered with the first suspend/resume but with subsequent cycle.
And for many pages it does not appear all.
Thus to improve reproducability you may open many random javascript pages.
Comment 5 Dawit Alemayehu 2011-12-31 02:59:04 UTC
Cannot reproduce this bug using webkit browser engine. Reassigning to khtml as requested though I cannot reproduce it using that engine either. I do not get 100% CPU usage when visiting the provided example link.
Comment 6 Andrew Crouthamel 2018-11-09 00:52:28 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Andrew Crouthamel 2018-11-18 03:24:17 UTC
Dear Bug Submitter,

This is a reminder that this bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? This bug will be moved back to REPORTED Status for manual review later, which may take a while. If you are able to, please lend us a hand.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Justin Zobel 2022-12-20 07:49:45 UTC
Thank you for reporting this issue in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version?

If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Comment 9 Bug Janitor Service 2023-01-04 05:24:12 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 10 squan 2023-01-04 07:38:16 UTC
Pardon, I'm not using konqueror anymore, and I can very much imagine that now after all these years this report is now obsolete.
Comment 11 Bug Janitor Service 2023-01-19 05:12:43 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 12 Bug Janitor Service 2023-02-03 05:02:31 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!