GNOME Bugzilla – Bug 684279
network-indicator in gnome-shell can't show wireless when NetworkManager daemon restart
Last modified: 2013-01-19 02:19:34 UTC
Below is the log of gnome-shell. Restart gnome-shell resolve this issue. JS ERROR: !!! Exception was: Error: Expected type guint8 for Argument 'ssid' but got type 'object' (nil) JS ERROR: !!! lineNumber = '0' JS ERROR: !!! fileName = '"gjs_throw"' JS ERROR: !!! stack = '"("Expected type guint8 for Argument 'ssid' but got type 'object' (nil)")@gjs_throw:0 ssidToLabel(null)@/usr/share/gnome-shell/js/ui/status/network.js:96 ([object Array],(void 0),[object Object])@/usr/share/gnome-shell/js/ui/status/network.js:114 wrapper([object Array],(void 0),[object Object])@/usr/share/gjs-1.0/lang.js:204 ([object Array],(void 0),[object Object])@/usr/share/gjs-1.0/lang.js:145 ([object Array],(void 0),[object Object])@/usr/share/gjs-1.0/lang.js:239 ()@/usr/share/gnome-shell/js/ui/status/network.js:1439 wrapper()@/usr/share/gjs-1.0/lang.js:204 ()@/usr/share/gnome-shell/js/ui/status/network.js:1532 wrapper()@/usr/share/gjs-1.0/lang.js:204 _runDeferredWork("4")@/usr/share/gnome-shell/js/ui/main.js:854 _runBeforeRedrawQueue()@/usr/share/gnome-shell/js/ui/main.js:869 ()@/usr/share/gnome-shell/js/ui/main.js:878 "' JS ERROR: !!! message = '"Expected type guint8 for Argument 'ssid' but got type 'object' (nil)"' JS ERROR: !!! Exception was: Error: Expected type guint8 for Argument 'ssid' but got type 'object' (nil) JS ERROR: !!! lineNumber = '0' JS ERROR: !!! fileName = '"gjs_throw"' JS ERROR: !!! stack = '"("Expected type guint8 for Argument 'ssid' but got type 'object' (nil)")@gjs_throw:0 ssidToLabel(null)@/usr/share/gnome-shell/js/ui/status/network.js:96 ([object Array],(void 0),[object Object])@/usr/share/gnome-shell/js/ui/status/network.js:114 wrapper([object Array],(void 0),[object Object])@/usr/share/gjs-1.0/lang.js:204 ([object Array],(void 0),[object Object])@/usr/share/gjs-1.0/lang.js:145 ([object Array],(void 0),[object Object])@/usr/share/gjs-1.0/lang.js:239 ()@/usr/share/gnome-shell/js/ui/status/network.js:1439 wrapper()@/usr/share/gjs-1.0/lang.js:204 ()@/usr/share/gnome-shell/js/ui/status/network.js:1532 wrapper()@/usr/share/gjs-1.0/lang.js:204 _runDeferredWork("4")@/usr/share/gnome-shell/js/ui/main.js:854 _runAllDeferredWork()@/usr/share/gnome-shell/js/ui/main.js:863 ()@/usr/share/gnome-shell/js/ui/main.js:944
Created attachment 225722 [details] [review] NetworkMenu: don't queue menu updates for destroyed devices It will cause an exception as the work ID is now invalid, and may block new devices from appearing for example when NM is restarted.
Created attachment 225723 [details] [review] NetworkMenu: don't clear the section when queuing an update It's the very first thing that queueing does.
The above patches fixes everything I could trigger trying to reproduce this, although they don't affect the actual reported trace. Please test them, and report if the bug is resolved. Thank you!
Meanwhile, a review could be useful...
Where do we stand on landing this ?
Giovanni, Sorry for updating lately. When I update the two patches with 3.4.2, there are still have some issue when NM restart. JS LOG: Access point was already seen, not adding again JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added JS LOG: Removing an access point that was never added Window manager warning: Log level 8: _shell_embedded_window_unrealize: assertion `SHELL_IS_EMBEDDED_WINDOW (window)' failed JS LOG: NetworkManager is not running, hiding... Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) Window manager warning: Log level 16: (nm-access-point.c:318):nm_access_point_connection_valid: runtime check failed: (ap_ssid != NULL) JS ERROR: !!! Exception was: Error: Expected type guint8 for Argument 'ssid' but got type 'object' (nil) JS ERROR: !!! lineNumber = '0' JS ERROR: !!! fileName = '"gjs_throw"' JS ERROR: !!! stack = '"("Expected type guint8 for Argument 'ssid' but got type 'object' (nil)")@gjs_throw:0 ssidToLabel(null)@/usr/share/gnome-shell/js/ui/status/network.js:96 ([object Array])@/usr/share/gnome-shell/js/ui/status/network.js:114 wrapper([object Array])@/usr/share/gjs-1.0/lang.js:204 ([object Array])@/usr/share/gjs-1.0/lang.js:145 ([object Array])@/usr/share/gjs-1.0/lang.js:239 ([object Object],4)@/usr/share/gnome-shell/js/ui/status/network.js:1496 wrapper([object Object],4)@/usr/share/gjs-1.0/lang.js:204 ()@/usr/share/gnome-shell/js/ui/status/network.js:1544 wrapper()@/usr/share/gjs-1.0/lang.js:204 _runDeferredWork("7")@/usr/share/gnome-shell/js/ui/main.js:854 _runBeforeRedrawQueue()@/usr/share/gnome-shell/js/ui/main.js:869 ()@/usr/share/gnome-shell/js/ui/main.js:878 "' JS ERROR: !!! message = '"Expected type guint8 for Argument 'ssid' but got type 'object' (nil)"' JS ERROR: !!! Exception was: Error: Expected type guint8 for Argument 'ssid' but got type 'object' (nil) JS ERROR: !!! lineNumber = '0' JS ERROR: !!! fileName = '"gjs_throw"' JS ERROR: !!! stack = '"("Expected type guint8 for Argument 'ssid' but got type 'object' (nil)")@gjs_throw:0 ssidToLabel(null)@/usr/share/gnome-shell/js/ui/status/network.js:96 ([object Array])@/usr/share/gnome-shell/js/ui/status/network.js:114 wrapper([object Array])@/usr/share/gjs-1.0/lang.js:204 ([object Array])@/usr/share/gjs-1.0/lang.js:145 ([object Array])@/usr/share/gjs-1.0/lang.js:239 ([object Object],4)@/usr/share/gnome-shell/js/ui/status/network.js:1496 wrapper([object Object],4)@/usr/share/gjs-1.0/lang.js:204 ()@/usr/share/gnome-shell/js/ui/status/network.js:1544 wrapper()@/usr/share/gjs-1.0/lang.js:204 _runDeferredWork("7")@/usr/share/gnome-shell/js/ui/main.js:854 _runAllDeferredWork()@/usr/share/gnome-shell/js/ui/main.js:863 ()@/usr/share/gnome-shell/js/ui/main.js:944 "' JS ERROR: !!! message = '"Expected type guint8 for Argument 'ssid' but got type 'object' (nil)"'
Created attachment 229441 [details] [review] Backport the patch for 3.4.2 Cause the second patch can't apply to gnome-shell 3.4.2, so I backport the patch for testing, NetworkMenu-dont-clear-the-section-when-queuing-an-update.patch NetworkMenu: don't clear the section when queuing an update
(In reply to comment #5) > Where do we stand on landing this ? I don't know. I haven't seen crashes similar to this for a long time, but in theory the patches are fine, and address possible situations (if unlikely). Bin Li, did you have any success after all?
Review of attachment 225722 [details] [review]: OK.
Review of attachment 225723 [details] [review]: OK.
Attachment 225722 [details] pushed as d583c48 - NetworkMenu: don't queue menu updates for destroyed devices Attachment 225723 [details] pushed as 0e636ea - NetworkMenu: don't clear the section when queuing an update This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
Are you sure you wanted to mark this as FIXED?
(In reply to comment #12) > Are you sure you wanted to mark this as FIXED? fixed-in-head, yes. Really, I double checked every possible code path. If there still a bug there, I want a backtrace, on master, with modern NMClient and NMGtk.