Comment 10 for bug 974603

Revision history for this message
James Harkins (biz-dewdrop-world) wrote :

I'm also having the same problem.

This bug report (from Debian) seems to be relevant:

http://us.generation-nt.com/answer/bug-648378-notification-daemon-stops-displaying-pop-ups-after-20-unacknowledged-messages-help-205388441.html

~~
After 20 pop-ups that are not manually closed by clicking on them
notification-daemon stops showing pop-ups and returns the error:
error sender=:1.418 -> dest=:1.484 error_name=org.freedesktop.Notifications.MaxNotificationsExceeded rep string "Exceeded maximum number of notifications"

This error is generated in daemon.c at line 185. I commented out the
entire if statement and notifications started showing as expected.

The items are only removed from the queue when the notification is
manually closed by nd-queue.c::on_notification_close(). I am not sure
what the purpose of limiting the queue was, but the items should also
be dequeued when the pop-ups time out (in
nd-queue.c::on_bubble_destroyed), otherwise the queue will grow
forever, using more and more memory.
~~

If I read this right:

- It's what could be considered a memory leak: objects are put into the notification queue, but not discarded. That's the genius bit: The user has to click on it to clean up the notification queue, but after a few seconds, the user *can't* click on it anymore. Perfect!

- The limit on the queue size is a crude way to prevent memory from leaking indefinitely, but it also means (stupidly) that notifications *stop working altogether* after fewer than two dozen notifications are displayed. (!!!!)

If this analysis is correct, you can prevent the error by clicking on *every notification* before it disappears automatically.