GNOME Bugzilla – Bug 662314
Gnome-shell restarts if I change my user status to disconnected/unavailable
Last modified: 2011-11-10 18:05:55 UTC
If I disconnect myself from my IM accounts, by using empathy contact list to set me to disconnected or by using user menu and choosing unavailable, Gnome-Shell restarts itself, just like executing "r" with Alt-F2. I'm using Archlinux, x86_64 Gnome-shell 3.2.1 (No extensions installed, default (Adwaita) theme) Empathy 3.2.1 papyon 0.5.5-1 python-telepathy 0.15.19 telepathy-butterfly 0.5.15 telepathy-farsight 0.0.19 telepathy-farstream 0.1.1 telepathy-gabble 0.12.7 telepathy-glib 0.16.0 telepathy-logger 0.2.10 telepathy-mission-control 5.9.3 telepathy-salut 0.6.0 In version 3.2.0 the behavior was completely normal.
Can you attach the file ~/.xsession-errors after it happens? Thanks!
Created attachment 199564 [details] ~/.xsession-errors after an unwanted restart Here it is: just after a restart. I hope it will help. Thank you.
Thanks. The relevant part is probably: Window manager warning: Log level 8: g_variant_get_type: assertion `value != NULL' failed Window manager warning: Log level 8: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed Window manager warning: Log level 8: g_variant_new_array: assertion `g_variant_is_of_type (children[i], child_type)' failed gnome-shell-calendar-server[2417]: Got HUP on stdin - exiting gnome-session[2040]: WARNING: Application 'gnome-shell.desktop' killed by signal I think developers would need a stacktrace to debug this. Could you get one by following the instructions there? https://live.gnome.org/GnomeShell/Debugging
Created attachment 199566 [details] stacktrace Stacktrace attached =) Thanks for your effort.
Cool. Looks like a bug in Telepathy. You need to install debugging symbols for it, but I don't know how to do it on Arch... other will tell you.
hey jorchube. here are some arch linux packages that have debug symbols: http://pkgbuild.com/~ioni/debug/ if you need more packages follow this wiki to compile your own packages with debug: https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#One_package_settings_only After you done getting the trace, you can use downgrade back to repo packages by doing pacman -Suu
Created attachment 199667 [details] stacktrace with telepathy symbols Hi. I've attached another stacktrace with debug symbols for: folks 6.4.1 telepathy-buterfly 0.5.15 telepathy-salut 6.0 telepathy-gabble-0.12.7 telepathy-glib-0.16.0 telepathy-mission-control-5.9.3 Thank you Ionut for your packages and tips on how to compile other packages with debug symbols.
Reading symbols from /usr/bin/gnome-shell...(no debugging symbols found)...done. still no debugging. Have you forget to install those packages and restart your session?
Created attachment 199669 [details] stacktrace gnomeshell symbols Sorry, my fault. This last attached trace should have gnome-shell symbols. I hope this one is useful. Thank you all and sorry for the flood.
Could you report this to Telepathy on bugs.freedesktop.org? That's where the problem lives. Thanks for your contribution! Closing as NOTGNOME, since it's not a bug that can be fixed in the Shell, but feel free to comment here if needed, and please post the link to the freedesktop.org bug too.
Actually, the stack trace points to libfolks, although it's the Telepathy backend. Let's shove this bug over to them.
It certainly does look like a libfolks bug, but I'm going to need some more information. From gdb, could you run the following commands after gnome-shell has crashed please? frame 2 print _tmp67_ print _tmp66__length1 print _tmp66_ print _tmp65_ print _tmp63_ print _tmp62_[0] print _tmp62_[1] print *afd print *afd->priv Hopefully that will shed some light on exactly what's going wrong. Thanks.
Created attachment 199743 [details] stacktrace Attached it is.
Hmm. That hasn't really helped because your version of libfolks has been compiled with at least some optimisations enabled. Could you either: • recompile libfolks with ‘-O0 -g2 -ggdb’ and try again; or • run gdb again and try the following commands: frame 1 print value print *value Thanks.
folks from my link was compiled with -O0 -g
Some symbols are still being optimised out (notably the value of _tmp67_, which is quite important). I guess jorchube will just have to try my second suggestion then.
Created attachment 199754 [details] stacktrace Here it is. I've tried Philip Withnall's second option: frame 1 print value print *value but gdb has not found "value", so, this may be not so helpful too...
Created attachment 201108 [details] [review] Properly serialize AFD values for the Tp cache Patch from branch: http://cgit.collabora.com/git/user/treitter/folks.git/log/?h=bgo662314-shell-crasher ===== Indices feel neglected when they're never incremented.
Review of attachment 201108 [details] [review]: Aargh, I can't code. :-( Looks like the right fix to me.
commit 7539d6182295bfcaff921a4050a04980d109954c Author: Travis Reitter <travis.reitter@collabora.co.uk> Date: Wed Nov 9 16:34:22 2011 -0800 Properly serialize AFD values for the Tp cache. We were previously writing serialized Telepathy AbstractFieldDetails values over each other in the final array, which was generally bad and specifically crashed Gnome Shell. This affects AFD-derived structures: phone numbers, email addresses, and URLs. Closes: bgo#662314 - Gnome-shell restarts if I change my user status to disconnected/unavailable NEWS | 2 ++ .../telepathy/lib/tpf-persona-store-cache.vala | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-)