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 647893 - gnome-shell restarts when adding/remove an username without a name
gnome-shell restarts when adding/remove an username without a name
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.0.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-04-15 18:17 UTC by Ionut Biru
Modified: 2011-06-29 14:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch that fixes this issue (1.18 KB, patch)
2011-05-09 20:06 UTC, Ionut Biru
committed Details | Review
gdm: ignore user-removed signals for untracked users (1.22 KB, patch)
2011-05-25 02:16 UTC, Ray Strode [halfline]
committed Details | Review

Description Ionut Biru 2011-04-15 18:17:53 UTC
Initially the whole session was crashing but this was fixed in accounttservice 0.6.9 
http://cgit.freedesktop.org/accountsservice/commit/?id=74c01ff9e3a3b00810ae69db2f2d089b68c5220a


Window manager warning: Log level 8: g_object_ref: assertion `G_IS_OBJECT (object)' failed
Window manager warning: Log level 16: invalid (NULL) pointer instance
Window manager warning: Log level 8: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
Window manager warning: Log level 16: invalid (NULL) pointer instance
Window manager warning: Log level 8: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(gnome-shell:5300): GdmUser-CRITICAL **: gdm_user_get_object_path: assertion `GDM_IS_USER (user)' failed

(gnome-shell:5300): GdmUser-CRITICAL **: gdm_user_get_user_name: assertion `GDM_IS_USER (user)' failed
gnome-shell-calendar-server[5331]: Got HUP on stdin - exiting
** Message: applet now removed from the notification area
gnome-session[5237]: WARNING: Application 'gnome-shell.desktop' killed by signal
      JS LOG: GNOME Shell started at Fri Apr 15 2011 20:36:03 GMT+0300 (EEST)
** Message: applet now embedded in the notification area


with  G_DEBUG=fatal-warnings


Window manager warning: Log level 10: g_object_ref: assertion `G_IS_OBJECT (object)' failed
gnome-shell-calendar-server[9862]: Got HUP on stdin - exiting
gnome-session[9769]: WARNING: Application 'gnome-shell.desktop' killed by signal
aborting...
gnome-session[9769]: ******************* START ********************************
gnome-session[9769]: Frame 0: gnome-session() [0x8061f56]
gnome-session[9769]: Frame 1: gnome-session() [0x80620e6]
gnome-session[9769]: Frame 2: gnome-session() [0x806213f]
gnome-session[9769]: Frame 3: [0xb77f9400]
gnome-session[9769]: Frame 4: [0xb77f9424]
gnome-session[9769]: Frame 5: /lib/libc.so.6(gsignal+0x4f) [0xb6c02bbf]
gnome-session[9769]: Frame 6: /lib/libc.so.6(abort+0x175) [0xb6c04545]
gnome-session[9769]: Frame 7: /usr/lib/libglib-2.0.so.0(g_logv+0x36f) [0xb6d8a1b3]
gnome-session[9769]: Frame 8: /usr/lib/libglib-2.0.so.0(g_log+0x3a) [0xb6d8a24f]
gnome-session[9769]: Frame 9: gnome-session() [0x8067990]
gnome-session[9769]: Frame 10: /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x98) [0xb6e934dd]
gnome-session[9769]: Frame 11: /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x177) [0xb6e7b7ee]
gnome-session[9769]: Frame 12: /usr/lib/libgobject-2.0.so.0(+0x23cde) [0xb6e92cde]
gnome-session[9769]: Frame 13: /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x670) [0xb6e920ac]
gnome-session[9769]: Frame 14: /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x3a) [0xb6e9239a]
gnome-session[9769]: Frame 15: gnome-session() [0x8051514]
gnome-session[9769]: Frame 16: gnome-session() [0x805346e]
gnome-session[9769]: Frame 17: /usr/lib/libglib-2.0.so.0(+0x48228) [0xb6d83228]
gnome-session[9769]: Frame 18: /usr/lib/libglib-2.0.so.0(+0x44c98) [0xb6d7fc98]
gnome-session[9769]: Frame 19: /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x7a) [0xb6d80ffc]
gnome-session[9769]: Frame 20: /usr/lib/libglib-2.0.so.0(+0x46451) [0xb6d81451]
gnome-session[9769]: Frame 21: /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x370) [0xb6d81bba]
gnome-session[9769]: Frame 22: /usr/lib/libgtk-3.so.0(gtk_main+0x77) [0xb734dba3]
gnome-session[9769]: Frame 23: gnome-session() [0x8064155]
gnome-session[9769]: Frame 24: /lib/libc.so.6(__libc_start_main+0xf3) [0xb6bee103]
gnome-session[9769]: Frame 25: gnome-session() [0x80503d1]
gnome-session[9769]: ******************* END **********************************
Comment 1 Ionut Biru 2011-05-09 20:06:59 UTC
Created attachment 187526 [details] [review]
patch that fixes this issue
Comment 2 Colin Walters 2011-05-11 14:08:54 UTC
Review of attachment 187526 [details] [review]:

Looks fine.
Comment 3 Owen Taylor 2011-05-24 04:58:56 UTC
Reproduction instructions would be be the useful thing for judging severity.
Comment 4 Ionut Biru 2011-05-24 06:17:44 UTC
useradd -c 'usbmux user' -u 140 -g usbmux -d / -s /sbin/nologin usbmux

userdel usbmux
Comment 5 Ray Strode [halfline] 2011-05-25 02:03:25 UTC
Appologies for not getting back to this sooner, Ionut.  As mentioned on IRC before, the patch isn't exactly right. The problem is accounts service sends out user-removed for some users not tracked on the client side.  We need to ignore those spurious signals.  attachment 187526 [details] [review] is trying to make code cope with a situation that it shouldn't even be run under.
Comment 6 Ray Strode [halfline] 2011-05-25 02:16:54 UTC
Created attachment 188543 [details] [review]
gdm: ignore user-removed signals for untracked users

If we don't know about a user, we don't care if it goes away,
and we shouldn't try to remove it from the book keeping.
Comment 7 Ionut Biru 2011-05-25 07:32:01 UTC
@Ray i tried to replicate again this problem using accountsservice 0.6.12 and it contains the same fix. 

Does that mean that accountsservice now never sends that user and patch from comment 6 is obsolete?
Comment 8 Dan Winship 2011-05-25 15:42:29 UTC
Comment on attachment 188543 [details] [review]
gdm: ignore user-removed signals for untracked users

makes sense
Comment 9 Alexandre Rostovtsev 2011-05-29 21:59:59 UTC
(In reply to comment #7)
> @Ray i tried to replicate again this problem using accountsservice 0.6.12 and
> it contains the same fix. 
> 
> Does that mean that accountsservice now never sends that user and patch from
> comment 6 is obsolete?

I can still trigger the crash with accountsservice-0.6.12 on Gentoo (on useradd or userdel of a new nameless user, 50% of the time gnome-shell restarts, 50% of the time it crashes hard and I need to kill X). And the patch from comment 6 fixes the issue (prevents gnome-shell restarts and crashes).
Comment 10 Ray Strode [halfline] 2011-06-27 21:19:18 UTC
Attachment 188543 [details] pushed as ff81659 - gdm: ignore user-removed signals for untracked users
Comment 11 Alexandre Rostovtsev 2011-06-27 22:56:46 UTC
(In reply to comment #10)
> Attachment 188543 [details] pushed as ff81659 - gdm: ignore user-removed signals for
> untracked users

Could you please also commit the fix to the gnome-3-0 branch?
Comment 12 Ray Strode [halfline] 2011-06-29 14:07:28 UTC
sure

http://git.gnome.org/browse/gnome-shell/commit/?id=71801841e9871357060e750f1ddeb06c35c2187e

gdm: ignore user-removed signals for untracked users

If we don't know about a user, we don't care if it goes away, and we shouldn't try to remove it from the book keeping.

https://bugzilla.gnome.org/show_bug.cgi?id=647893
(cherry picked from commit ff81659b9e619fd97cac40c426218ba152627457)