-
-
Notifications
You must be signed in to change notification settings - Fork 124
Description
Bug Report: Extension crashes GNOME Shell with null panel_box error
Environment:
- Extension version: 70
- GNOME Shell version: 49.2
- Distribution: Fedora Linux 43
Description:
The extension causes repeated GNOME Shell crashes due to a null pointer dereference when attempting to access panel_box.name. This occurs during the panel blur initialization process.
Symptoms:
- GNOME Shell crashes and restarts without warning
- Wallpaper resets to solid fallback color after crash
- Active network connections (e.g., Input Leap/Barrier) disconnect
Error:
JS ERROR: TypeError: can't access property "name", panel_box is null
blur_panel@file:////.local/share/gnome-shell/extensions/blur-my-shell@aunetx/components/panel.js:133:13/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/components/panel.js:126:18
maybe_blur_panel@file:///
blur_existing_panels@file:////.local/share/gnome-shell/extensions/blur-my-shell@aunetx/components/panel.js:82:18/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/components/panel.js:52:14
enable@file:///
reset/<@file:///~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/components/panel.js:70:30
setTimeout/source<@resource:///org/gnome/gjs/modules/esm/_timers.js:72:9
_initializeUI/<@resource:///org/gnome/shell/ui/main.js:279:14
Followed by:
Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs.
The offending signal was destroy on StWidget.
Notes:
Frequency:
The error occurred 6 times over a 2-day period, indicating it happens regularly during normal usage.
Root Cause:
In panel.js:133, the code attempts to access panel_box.name without first checking if panel_box is null. The null reference likely occurs when a panel is being destroyed or hasn't been fully initialized.
Workaround:
Disabling the extension stops the crashes immediately and restores normal behavior.
Suggested Fix:
Add null check before accessing panel_box properties in the blur_panel function (panel.js:133).