After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 684279 - network-indicator in gnome-shell can't show wireless when NetworkManager daemon restart
network-indicator in gnome-shell can't show wireless when NetworkManager daem...
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: network-indicator
3.4.x
Other Linux
: Normal major
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-09-18 09:27 UTC by Bin Li
Modified: 2013-01-19 02:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
NetworkMenu: don't queue menu updates for destroyed devices (1.43 KB, patch)
2012-10-03 21:43 UTC, Giovanni Campagna
committed Details | Review
NetworkMenu: don't clear the section when queuing an update (3.70 KB, patch)
2012-10-03 21:43 UTC, Giovanni Campagna
committed Details | Review
Backport the patch for 3.4.2 (2.94 KB, patch)
2012-11-20 06:28 UTC, Bin Li
none Details | Review

Description Bin Li 2012-09-18 09:27:59 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
Comment 1 Giovanni Campagna 2012-10-03 21:43:04 UTC
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.
Comment 2 Giovanni Campagna 2012-10-03 21:43:17 UTC
Created attachment 225723 [details] [review]
NetworkMenu: don't clear the section when queuing an update

It's the very first thing that queueing does.
Comment 3 Giovanni Campagna 2012-10-03 21:44:32 UTC
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!
Comment 4 Giovanni Campagna 2012-10-18 20:10:05 UTC
Meanwhile, a review could be useful...
Comment 5 Matthias Clasen 2012-10-30 02:18:23 UTC
Where do we stand on landing this ?
Comment 6 Bin Li 2012-11-20 06:22:13 UTC
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)"'
Comment 7 Bin Li 2012-11-20 06:28:35 UTC
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
Comment 8 Giovanni Campagna 2013-01-18 23:51:10 UTC
(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?
Comment 9 Jasper St. Pierre (not reading bugmail) 2013-01-19 00:44:55 UTC
Review of attachment 225722 [details] [review]:

OK.
Comment 10 Jasper St. Pierre (not reading bugmail) 2013-01-19 00:45:17 UTC
Review of attachment 225723 [details] [review]:

OK.
Comment 11 Giovanni Campagna 2013-01-19 02:07:36 UTC
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.
Comment 12 Jasper St. Pierre (not reading bugmail) 2013-01-19 02:17:35 UTC
Are you sure you wanted to mark this as FIXED?
Comment 13 Giovanni Campagna 2013-01-19 02:19:34 UTC
(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.