GNOME Bugzilla – Bug 594654
empathy crashed with SIGSEGV in empathy_account_settings_get_default()
Last modified: 2009-10-19 11:11:10 UTC
this report has been filed here: https://bugs.edge.launchpad.net/ubuntu/+source/empathy/+bug/424903 "Empathy crashed when enabling jabber encryption." ".
+ Trace 217456
Thread 1 (process 4141)
Can you easily reproduce this crash? I look at the code and didn't see any reason why it would crash.
will ask and come back to you, Thanks Guillaume
There is quite some similar crashes on launchpad: https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/444350 https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/442519 https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/440975
I've been able to reproduce this in the past by loading gstreamer-properties during or after a call, or something like that... I couldn't understand why it crashed then. I guess we could work around this by adding a if (priv == NULL) return; for now if it's causing lots of crashers. After all, the only thing this callback does is update the GtkProgressBar slider. Thoughts, Guillaume?
Jonny: are you sure your commented on the right bug? This crash is in empathy-account-settings.c not in the audio/video code :)
Reading the stack traces, the crash seems to be because tp_params has an invalid value (0x33 doesn't look like a valid pointer). This pointer is find using priv->tp_protocol which is set in empathy_account_settings_check_readyness () using tp_connection_manager_get_protocol(). But according to tp_connection_manager_get_protocol's documentation: "The result is not necessarily valid after the main loop is re-entered" So maybe that's the cause of the problem.
Created attachment 145777 [details] [review] proposed fix: http://git.collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/get-protocol-594654 libempathy/empathy-account-settings.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-)
Fixed in 2.28 (will be in 2.28.1) and master.