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 662314 - Gnome-shell restarts if I change my user status to disconnected/unavailable
Gnome-shell restarts if I change my user status to disconnected/unavailable
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: Telepathy backend
git master
Other Linux
: Normal major
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2011-10-20 17:47 UTC by jorchube
Modified: 2011-11-10 18:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
~/.xsession-errors after an unwanted restart (108.09 KB, text/plain)
2011-10-20 18:11 UTC, jorchube
  Details
stacktrace (7.23 KB, text/plain)
2011-10-20 18:42 UTC, jorchube
  Details
stacktrace with telepathy symbols (8.82 KB, text/plain)
2011-10-21 16:23 UTC, jorchube
  Details
stacktrace gnomeshell symbols (8.86 KB, text/plain)
2011-10-21 16:49 UTC, jorchube
  Details
stacktrace (9.86 KB, application/octet-stream)
2011-10-23 01:09 UTC, jorchube
  Details
stacktrace (9.03 KB, application/octet-stream)
2011-10-23 10:23 UTC, jorchube
  Details
Properly serialize AFD values for the Tp cache (2.15 KB, patch)
2011-11-10 00:44 UTC, Travis Reitter
committed Details | Review

Description jorchube 2011-10-20 17:47:02 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.
Comment 1 Milan Bouchet-Valat 2011-10-20 18:06:41 UTC
Can you attach the file ~/.xsession-errors after it happens? Thanks!
Comment 2 jorchube 2011-10-20 18:11:53 UTC
Created attachment 199564 [details]
~/.xsession-errors after an unwanted restart

Here it is: just after a restart.
I hope it will help.


Thank you.
Comment 3 Milan Bouchet-Valat 2011-10-20 18:23:25 UTC
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
Comment 4 jorchube 2011-10-20 18:42:26 UTC
Created attachment 199566 [details]
stacktrace

Stacktrace attached =)

Thanks for your effort.
Comment 5 Milan Bouchet-Valat 2011-10-20 20:01:51 UTC
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.
Comment 6 Ionut Biru 2011-10-20 20:27:24 UTC
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
Comment 7 jorchube 2011-10-21 16:23:53 UTC
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.
Comment 8 Ionut Biru 2011-10-21 16:28:26 UTC
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?
Comment 9 jorchube 2011-10-21 16:49:43 UTC
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.
Comment 10 Milan Bouchet-Valat 2011-10-21 20:15:55 UTC
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.
Comment 11 Jasper St. Pierre (not reading bugmail) 2011-10-21 20:47:56 UTC
Actually, the stack trace points to libfolks, although it's the Telepathy backend. Let's shove this bug over to them.
Comment 12 Philip Withnall 2011-10-22 22:38:41 UTC
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.
Comment 13 jorchube 2011-10-23 01:09:30 UTC
Created attachment 199743 [details]
stacktrace

Attached it is.
Comment 14 Philip Withnall 2011-10-23 08:59:47 UTC
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.
Comment 15 Ionut Biru 2011-10-23 09:01:08 UTC
folks from my link was compiled with -O0 -g
Comment 16 Philip Withnall 2011-10-23 09:32:28 UTC
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.
Comment 17 jorchube 2011-10-23 10:23:44 UTC
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...
Comment 18 Travis Reitter 2011-11-10 00:44:44 UTC
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.
Comment 19 Philip Withnall 2011-11-10 09:08:00 UTC
Review of attachment 201108 [details] [review]:

Aargh, I can't code. :-( Looks like the right fix to me.
Comment 20 Travis Reitter 2011-11-10 18:05:55 UTC
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(-)