| 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-null, tcberner |
| Priority: | NOR | ||
| Version First Reported In: | 5.18.1 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
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 |