elementary / wingpanel-indicator-notifications

Wingpanel Notifications Indicator
GNU Lesser General Public License v2.1
24 stars 11 forks source link

Large amount of notifications causes wingpanel to crash #123

Open cowboycodur opened 4 years ago

cowboycodur commented 4 years ago

a large amount of notifications will cause wingpanel to crash and not load on reboot.

Is there a way we can clear notifications from where ever they are stored?

danirabbit commented 4 years ago

can you clarify what you mean by "a large amount"? I can't seem to reproduce this

Closing as "incomplete" until this can be reproduced

You can manually clear the notification session file stored at ~/.cache/.notifications.session

cowboycodur commented 4 years ago

I was running backintime which will throw a notification for every file error rsync has, including "permission denied". It was easily over 1000, but im not sure of how many it would take to lock it up.

If you wanted to reproduce it, install backintime have it backup a folder with X number of files (I would start small) but change the permissions on the files so that backintime would get permission denied.

Also I have some notifications in my indicator right now, but I do not have the ~/.cache/.notifications.session file

danirabbit commented 4 years ago

Okay yup, I can confirm for 2,000 notifications that we have a freeze here

danirabbit commented 4 years ago

For the curious a quick way to reproduce is for n in {1..2000}; do notify-send test test; done

danirabbit commented 4 years ago

Seems like https://github.com/elementary/wingpanel-indicator-notifications/pull/142 helps with this considerably

CliffBrown commented 3 years ago

@danrabbit This issues seems to still be a problem. I have loads of notifications that I just don't clear out from discord etc, and it has a severe hit on the performance of the wingpanel and plank. If I manage to clear the notifications service returns to normal. Won't it be possible to timebox notifications or clear them on reboot or something?

nielspeen commented 2 years ago

Came here to report the same issue. This happens for me with the latest stable. It causes wingpanel to start very slowly at login and freeze completely sometime later.

Removing ~/.cache/.notifications.session does indeed fix it temporarily, but like @CliffBrown, I don't manually clear or otherwise process notifications.

I don't think timeboxing is a good solution though. It still allows for a burst of notifications within that time period to freeze wingpanel.

canopusStar commented 2 years ago

can you clarify what you mean by "a large amount"? I can't seem to reproduce this

Closing as "incomplete" until this can be reproduced

You can manually clear the notification session file stored at ~/.cache/.notifications.session

With 4132 notifications my wing panel entered a permanent crash loop (OS v6.1) disabled all widgets on the right hand side of the panel.

FIX: rm ~/.cache/.notifications.session I have an urgent open case located here: https://github.com/elementary/wingpanel/issues/436

May I recommend an urgent fix for this issue either a manual 'clear notifications' from system settings or a self cleaning notifications.session file?

jeremypw commented 2 years ago

242 Should fix clearing notifications quickly.

jalcine commented 2 years ago

I still get this behavior on 6.1. This seems to happen because it shows each notification immediately. Could the panel be a bit more clever and use a timed interval to check whatever the delta in notification are only from the point of inquiry and cap it to about 50 with a cursor to hint at more? That way, even if 2,000 notifications came in, it wouldn't try to display them ALL at once. And some duplication of the notification could occur with hashing of the notification's serialized form versus repeating the same thing (especially if it's the same thing over and over).

(Originally published at: https://jacky.wtf/2022/10/GhqL)