Version: 4.7.2 (using KDE 4.7.2) OS: Linux Konqueror seems to act up when browsing certain pages, even if it is minimized and there are no user interactions. Reproducible: Sometimes Steps to Reproduce: 1. Start Kontact. 2. Go to google and perform a search. 3. Follow links to some search results. 4. Return to the google page, minimize Konqueror. 5. Wait some minutes and watch the number of system calls, e.g. with krunner. Perhaps steps 2-5 have to be repeated. Actual Results: For several minutes, the number of system calls peaks at more than 30.000 a second according to krunner. CPU usage is relatively high (11% on my system), memory usage is normal. In the long run a reduction to a lower level of ca. 14.000 system calls a second can be observed. CPU usage drops to 5%. Expected Results: Konqueror should use almost no CPU and perform only few system calls when not used interactively. When attaching strace to the konqueror process the following lines are displayed at least several hundred times a second: read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}, {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 8, 447) = 0 (Timeout) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}, {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 8, 0) = 0 (Timeout) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}, {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 8, 0) = 0 (Timeout) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}, {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 8, 19) = 0 (Timeout) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"+\0\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4 poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}]) read(6, "\1\1\322\26\0\0\0\0\22\0\340\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32 read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"\2\0\4\0\25\0@\5\1\0\0\0\0\0\0\0\2\0\4\0\25\0@\5\2\0\0\0\350\350\351\0"..., 336}, {NULL, 0}, {"", 0}], 3) = 336 read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}, {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 8, 28) = 0 (Timeout) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}, {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 8, 0) = 0 (Timeout) read(6, 0x2402dd4, 4096) = -1 EAGAIN (Resource temporarily unavailable) stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 Please note the frequent stats of /etc/localtime. Kernel version is 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:28:43 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux.
Almost certain this is caused by the usual culprit, the flashplayer plugin, since the "tens of thousands" system calls you mention are spent doing polling based on the strace printout your provided above. The question is, do you see the same thing if you disable the flash plugin or visit a website that does not embed a flash object, e.g. www.kde.org ? BTW, minimizing an application does not make one iota of a difference on the amount of resources they consume on a desktop enviornment. It does not have the constraints of "smart phones".
(In reply to comment #1) > [...] > > The question is, do you see the same thing if you disable the flash plugin or > visit a website that does not embed a flash object, e.g. www.kde.org ? Sadly, I downgraded to KDE 4.4.5 (Ubuntu 11.10 -> 10.04) because of the issues with kmail2. I currently cannot perform additional tests. > BTW, > minimizing an application does not make one iota of a difference on the amount > of resources they consume on a desktop enviornment. It does not have the > constraints of "smart phones". That's obvious. The key point isn't about the minimization but the lack of user interaction. In the given situation the browser isn't supposed to act up on its own.
(In reply to comment #2) > (In reply to comment #1) > > [...] > > > > The question is, do you see the same thing if you disable the flash plugin or > > visit a website that does not embed a flash object, e.g. www.kde.org ? > > Sadly, I downgraded to KDE 4.4.5 (Ubuntu 11.10 -> 10.04) because of the issues > with kmail2. I currently cannot perform additional tests. > > > BTW, > > minimizing an application does not make one iota of a difference on the amount > > of resources they consume on a desktop enviornment. It does not have the > > constraints of "smart phones". > > That's obvious. The key point isn't about the minimization but the lack of user > interaction. In the given situation the browser isn't supposed to act up on its > own. But there is nothing Konqueror can do if a third party app consumes all the CPU processing time. On my machine that is always the case when I visit any flash heavy website. CPU use always spikes. Nothing we can do about it except to tell you to disable flash.
(In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #1) [...] > But there is nothing Konqueror can do if a third party app consumes all the CPU > processing time. On my machine that is always the case when I visit any flash > heavy website. CPU use always spikes. Nothing we can do about it except to tell > you to disable flash. Admittedly, I know all but nothing about the app life cycle. It is up to you experts to judge this. If the flash plugin is the culprit, it seemingly runs within the Konqueror process. Once started, will it run forever if it does not terminate on its own? As written in "Steps To Reproduce" above, the behavior can be observed when "parking" the browser on the Google search page which, as far as I could see, contains no references to swf. How do other browsers cope with that?
(In reply to comment #4) > (In reply to comment #3) > > (In reply to comment #2) > > > (In reply to comment #1) > [...] > > But there is nothing Konqueror can do if a third party app consumes all the CPU > > processing time. On my machine that is always the case when I visit any flash > > heavy website. CPU use always spikes. Nothing we can do about it except to tell > > you to disable flash. > > Admittedly, I know all but nothing about the app life cycle. It is up to you > experts to judge this. If the flash plugin is the culprit, it seemingly runs > within the Konqueror process. Once started, will it run forever if it does > not terminate on its own? As written in "Steps To Reproduce" above, the > behavior can be observed when "parking" the browser on the Google search > page which, as far as I could see, contains no references to swf. How do > other browsers cope with that? I personally do not see any stats of /etc/localtime here. The only system calls that happen every second happen because Konqueror asks all the parts it embeds to save their state so that it can properly recover either from a crash or a session exit without proper shutdown. This does not depend on whether Konqueror is the active application or it is in the background. On my system both Firefox and Chromium do the same exact thing. Actually both are worse since they make lots of system calls constantly whether they are active or in the background.
I have currently 10 konquror processes sitting around using ~10% CPU each, which amounts to overall 50% on this dual core system. This is not nice. I'm seeing a similar strace output. But are you sure that is has to do with flash plugins? I have no nspluginviewer process running here. And I'd also be surprised if all the processes use flash on some page. Maybe one, two.. but not all.
However it's easily reproducible running a query on google.com, one process, one window, one tab with the search result eats constantly 10%. This is with KDE 4.8.2, btw. And KHTML as renderer.
(In reply to comment #7) > However it's easily reproducible running a query on google.com, one process, > one window, one tab with the search result eats constantly 10%. > > This is with KDE 4.8.2, btw. And KHTML as renderer. That is why I cannot reproduce the issue here. I use the webkit engine so I will change the component to khtml.
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!
I could not reproduce the problem with Konqueror 5.0.97 (using KDE Frameworks 5.44.0) on Ubuntu 18.04. Therefore, I would consider the problem as no longer existing.
I don't even have a Konqueror 5.x on my KUbuntu... PPA with frameworks 5.47
Thanks for the update!