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 698742 - Crash when joining an IRC channel
Crash when joining an IRC channel
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Chat
3.8.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2013-04-24 14:01 UTC by Lionel Landwerlin
Modified: 2013-06-11 12:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
EmpathyNewChatroom: Fix comment to correspond to the reality (1.08 KB, patch)
2013-06-10 15:35 UTC, Xavier Claessens
none Details | Review
EmpathyNewChatroomDialog: Make sure we use the TpRoomList that correspond to selected account (1.93 KB, patch)
2013-06-10 15:35 UTC, Xavier Claessens
none Details | Review
EmpathyNewChatroomDialog: Do not crash if the CM omitted handle-name (977 bytes, patch)
2013-06-10 15:35 UTC, Xavier Claessens
none Details | Review

Description Lionel Landwerlin 2013-04-24 14:01:45 UTC
Steps :
 - From the desktop, give focus to an empathy window
 - Click the application menu in the shell's menubar
 - Click room
 - Click join
 - Select your IRC server to which you're already connected)
 - List channels
 - Select one of the channels -> crash 


Here is the backtrace : 


Program received signal SIGSEGV, Segmentation fault.
__strchr_sse42 () at ../sysdeps/x86_64/multiarch/strchr.S:136
136	../sysdeps/x86_64/multiarch/strchr.S: No such file or directory.
(gdb) bt
  • #0 __strchr_sse42
    at ../sysdeps/x86_64/multiarch/strchr.S line 136
  • #1 new_chatroom_dialog_model_selection_changed
    at empathy-new-chatroom-dialog.c line 238
  • #2 _g_closure_invoke_va
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gobject/gclosure.c line 840
  • #3 g_signal_emit_valist
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gobject/gsignal.c line 3234
  • #4 g_signal_emit
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gobject/gsignal.c line 3384
  • #5 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #6 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #7 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #8 _g_closure_invoke_va
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gobject/gclosure.c line 840
  • #9 g_signal_emit_valist
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gobject/gsignal.c line 3234
  • #10 g_signal_emit
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gobject/gsignal.c line 3384
  • #11 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #12 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #13 gtk_main_do_event
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #14 ??
    from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
  • #15 g_main_dispatch
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./glib/gmain.c line 3054
  • #16 g_main_context_dispatch
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./glib/gmain.c line 3630
  • #17 g_main_context_iterate
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./glib/gmain.c line 3701
  • #18 g_main_context_iteration
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./glib/gmain.c line 3762
  • #19 g_application_run
    at /build/buildd-glib2.0_2.36.0-2-amd64-6GGhvz/glib2.0-2.36.0/./gio/gapplication.c line 1623
  • #20 main
    at empathy.c line 842

Comment 1 Xavier Claessens 2013-06-10 15:35:09 UTC
Created attachment 246414 [details] [review]
EmpathyNewChatroom: Fix comment to correspond to the reality

The comments where out of sync with the en COL_* enum.
Comment 2 Xavier Claessens 2013-06-10 15:35:14 UTC
Created attachment 246415 [details] [review]
EmpathyNewChatroomDialog: Make sure we use the TpRoomList that correspond to selected account

When switching account  before tp_room_list_new_async() finish,
there is a race for which one will finish first. We ignore the
new TpRoomList if it does not correspond to the currently
selected account.
Comment 3 Xavier Claessens 2013-06-10 15:35:18 UTC
Created attachment 246416 [details] [review]
EmpathyNewChatroomDialog: Do not crash if the CM omitted handle-name
Comment 5 Simon McVittie 2013-06-10 15:57:41 UTC
(In reply to comment #1)
> EmpathyNewChatroom: Fix comment to correspond to the reality

Splinter didn't work, but r+.

(In reply to comment #2)
> EmpathyNewChatroomDialog: Make sure we use the TpRoomList that correspond to
> selected account

r+

(In reply to comment #3)
> EmpathyNewChatroomDialog: Do not crash if the CM omitted handle-name

r+
Comment 6 Xavier Claessens 2013-06-11 09:34:56 UTC
Thanks, pushed to 3.8 and master.