Bug 53011

Summary: Дублирование кнопок уведомления
Product: Branch p11 Reporter: Darkles70rus <darkles2010>
Component: plasma-workspaceAssignee: Олег Соловьев <mcpain>
Status: ASSIGNED --- QA Contact: qa-p11 <qa-p11>
Severity: minor    
Priority: P5 CC: amakeenk, aris, arseny, cas, manowar, mcpain, sem, tkeyeg, zerg
Version: unspecified   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
скрин бага
none
скриншот
none
Некорректное отображение уведомления о недостатке ОЗУ
none
Приложение 2 none

Description Darkles70rus 2025-02-10 08:51:39 MSK
Created attachment 17709 [details]
скрин бага

Норма ли это?
на уведомления не реагировал, не закрывал, кнопки не нажимал, с каждым новы уведомлением количество кнопок увеличивалось на 2
P.S. не разобрался что за "Компонент"
Comment 1 Arseny Maslennikov 2025-02-10 11:14:25 MSK
(In reply to Darkles70rus from comment #0)
> P.S. не разобрался что за "Компонент"

Компонент — это имя пакета, в котором бага. Пакет p11-kit — это про PKCS11, вообще не то.
Если не знаете, в каком пакете локализована ошибка, то, возможно, вешать багу нужно не на пакет в p11/сизифе, а на стартеркит/регулярку, и идти дальше оттуда. (Может, у нас другое правило действует?)
Comment 2 Arseny Maslennikov 2025-02-10 11:14:39 MSK
Brave не упакован в сизиф.
Увидел плазму; перевешиваю "куда-то туда".
Comment 3 Alexander Makeenkov 2025-02-10 11:20:17 MSK
Created attachment 17712 [details]
скриншот

Подтверждаю ошибку.
Comment 4 Никита 2025-03-26 23:19:45 MSK
Здравствуйте. Сегодня в ходе работ был исчерпан лимит ОЗУ. 
Как и положено отработал `freememorynotifier`, но с некоторой 
особенностью: каждое обновление уведомление добавляет один набор 
кнопок(Приложение 1). Если еще раз вызвать недостаток памяти после 
ее читки `oom` или руками, то массив этих наборов не очистится, 
а продолжит свое расширение.

Открыл файл перевода для проблемного пакета и по сообщению ошибки 
нашел проблемное место: `freememorynotifier.cpp:223`. Здесь в 
существующее уведомление **устанавливается** текст сообщения и 
**добавляются** две кнопки. Учитывая, что экземпляр KNotification 
существует с момента его первой надобности и до завершения процесса 
службы, это и дает описанный выше эффект. Из очевидного решения 
напрашивается добавление `void KNotification::clearActions ()`.
Еще из странного. Метод `FreeMemoryNotifier::closeNotification()`
не удаляет указатель на уведомление. А учитывая, что он, в том числе, 
вызывается в деструкторе FreeMemoryNotifier, это намекает на утечку 
памяти.

Уведомления `oom-notifier` ведут себя как-то странно(Приложение 2).
После открытия spectacle они переместились в штатное положение,
но у них нет таймера на автоматическое скрытие. Норма это или нет
не знаю.

Создавал новую ошибку и по аннотацию нашел эту. Форма уведомлений
почему-то другая, но суть эта же.
Comment 5 Никита 2025-03-26 23:21:48 MSK
Created attachment 18094 [details]
Некорректное отображение уведомления о недостатке ОЗУ

Почему процессом выведен plasmashell не знаю, недостаток памяти вызван python3
Comment 6 Никита 2025-03-26 23:22:41 MSK
Created attachment 18095 [details]
Приложение 2

Странное отображение уведомлений от oom-notifier
Comment 7 Олег Соловьев 2025-03-27 11:01:35 MSK
Task #379375 на сборке

(In reply to Никита from comment #4)
> Еще из странного. Метод `FreeMemoryNotifier::closeNotification()`
> не удаляет указатель на уведомление. А учитывая, что он, в том числе, 
> вызывается в деструкторе FreeMemoryNotifier, это намекает на утечку 
> памяти.
> 
> Уведомления `oom-notifier` ведут себя как-то странно(Приложение 2).
> После открытия spectacle они переместились в штатное положение,
> но у них нет таймера на автоматическое скрытие. Норма это или нет
> не знаю.

Не захламляйте багрепорт своими "и ещё кое-что".
Одна ошибка = один репорт, а у Вас в репорте сразу три ошибки.