Summary: | Experiencing 100% cpu usage whenever a notification is present | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | jeep70cp |
Component: | Notifications | Assignee: | Kai Uwe Broulik <kde> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | bruno, nate, plasma-bugs, tcberner |
Priority: | NOR | ||
Version: | 5.18.1 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
jeep70cp
2020-03-03 19:48:12 UTC
Can you get a backtrace or perf file for when that happens? Here is a perf file: http://s000.tinyupload.com/index.php?file_id=74021570478791780318 I am new to this, so I am not sure I did it right, but what I used was: perf record -F 99 plasmashell I am not sure how to get a backtrace. Still experiencing this with 5.18.4. It can be mitigated by turning animation speed to instant. Seems fixed in 5.19! I actually had xfce4-notifyd running and I didn't notice. It doesn't stay pinned at 100% anymore though--just maxes out the cpu for about three seconds. I will note that the notification timeout throbber does not appear the entire time, and when it stops lagging the close button becomes a black square. I would bet that the lag is related to some issue with that indicator. I've got an error when running from the console: r300 FP: Compiler Error: ../mesa-20.1.2/src/gallium/drivers/r300/compiler/r500_fragprog_emit.c::emit_paired(): emit_alu: Too many instructions Using a dummy shader instead. It appears when the close button turns to a black square and the 100% cpu stops. I can confirm this on my machine. Receiving a notification of any kind briefly spikes the CPU waaaaay high. When you get a bunch of notifications all at once, it can freeze the whole system as various people are reporting in Bug 423594. *** This bug has been marked as a duplicate of bug 423594 *** It's so regular that I've written this small script to restart it. If it can be useful meanwhile (needs top): #!/usr/bin/perl -w use strict; open(PIPE,"top -b -d 60 |") || die "Unable to execute top"; while (<PIPE>) { $_ =~ s/^ *//; my @fields = split(/ +/,$_); if ((defined $fields[13]) && ($fields[13] =~ /^\/bin\/plasmashell/)) { # Does it use 100% ? $fields[8] =~ s/,/./; #print "CPU% : $fields[8]\n"; if ($fields[8] >= 100) { print "Restarting plasmashell - "; system("date"); system("pkill plasmashell"); system("/bin/plasmashell &"); } } } omg |