Skip to content

debian-update v0.5.8 — Plasma Shell Crash Hotfix

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 10 Aug 09:09
· 12 commits to main since this release

🚨 debian-update v0.5.8 — Hotfix Release: Plasma Shell Crash Prevention

This urgent hotfix addresses a critical race condition that could cause KDE Plasma (plasmashell) to crash with a Segmentation Fault (SIGSEGV) when interacting with the system tray context menu.

🐛 The Issue & Root Cause

When the background update checker completed a scan and updated status.json, debian-update-tray immediately triggered self.menu.clear() to rebuild the QMenu actions.
If a user had the tray context menu or any of its submenus actively open on the desktop at that exact moment, clearing the active QAction objects destroyed the underlying DBus menu instances. When KDE Plasma's DBusMenuImporter and QtQml tried to handle mouse hover or timer events on those deleted objects, it referenced invalid memory addresses, resulting in an instant plasmashell crash.

🛠️ The Fix

  • Visible Menu Protection: Added if self.menu.isVisible(): return prior to invoking self.menu.clear() in lib/debian-update-tray.
  • Deferred UI Refresh: If the context menu is currently open on screen, menu reconstruction is safely bypassed until the menu is closed, completely eliminating the asynchronous race condition and keeping Plasma rock solid.