Summary: | KAlarm crashes after being up for a while, seems to suffer heavy lag a lot of the time | ||
---|---|---|---|
Product: | [Applications] kalarm | Reporter: | Gabriel Ravier <gabravier> |
Component: | general | Assignee: | David Jarvie <djarvie> |
Status: | RESOLVED FIXED | ||
Severity: | crash | Keywords: | drkonqi |
Priority: | NOR | ||
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/pim/kalarm/-/commit/ef7c3e328a7f42f00acd94b75b51ad9d503e6a8e | Version Fixed In: | 23.04.3 |
Sentry Crash Report: |
Description
Gabriel Ravier
2023-04-18 09:42:56 UTC
PS: This particular crash occurred in the middle of an alarm, but I don't recall it being a required factor for KAlarm to crash, I've seen it crash without having any alarms occurring at any nearby time too. That crash occurs in the Pulse Audio library, which doesn't give any clue as to what's going wrong in KAlarm. Can you provide any other crash traces from when no alarm is underway? I'll try to get more of them, but it might take some time to do so given the crashes are closer to being daily than being hourly I can see that there is a small memory leak when alarms trigger. This will not matter initially, but after a large number of alarms, it could start to slow KAlarm and eventually cause it to crash. The leak is in memory allocated by setCustomProperties(), and needs further investigation to find out why. Hopefully this will be fixed for the next release. A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kcalendarcore/-/merge_requests/149 It turns out that every time an alarm is displayed, a copy of the alarm is stored by the KCalendarCore library from KDE Frameworks. The library currently does not provide any way of disabling this unwanted behaviour. I have raised a merge request for a change which would allow this to be disabled. Until that change is approved, the only way to avoid this bug is to quit KAlarm from time to time, and restart it. To quit KAlarm, you need to use the File -> Quit menu option when there are no alarm windows displayed. Alternatively, you can open a terminal window and enter the command 'killall kalarm' (without the quotes), and the alarm windows will be redisplayed when you restart it. The problem feature in KCalendarCore will be removed when KDE migrates to Qt6, so this bug should be resolved then in any case. I've now implemented a workaround to fix the bug, which will clear the memory leak whenever all alarm windows are closed. Note that if you always keep at least one alarm displayed, this fix will not work. The proper fix would be in KCalendarCore library, as explained in comment 6, but that has not yet been approved. As also stated, the future Qt6 based version will not have this bug. The workaround will be in KAlarm version 3.5.6 in KDE Apps 23.04.3, and is implemented by commit ef7c3e328a7f42f00acd94b75b51ad9d503e6a8e. |