[Pidgin] #10576: pidgin crashes when try to send SMS message via skype plugin

Pidgin trac at pidgin.im
Thu Nov 12 12:30:24 EST 2009


#10576: pidgin crashes when try to send SMS message via skype plugin
--------------------+-------------------------------------------------------
 Reporter:  walder  |        Owner:         
     Type:  patch   |       Status:  pending
Milestone:          |    Component:  plugins
  Version:  2.6.3   |   Resolution:         
 Keywords:  crash   |  
--------------------+-------------------------------------------------------
Changes (by walder):

  * status:  pending => new


Comment:

 Below gdb output, *buddy was not available in context, I guess due to
 optimizations, so I just step into function to get results.


 (gdb) b cap.c:94
 (gdb) c
 Continuing.
 [New Thread 4c604cc0 (LWP 100290)]
 [New Thread 4c604b80 (LWP 100324)]
 [Thread 4c604b80 (LWP 100324) exited]
 [Thread 4c604cc0 (LWP 100290) exited]
 [New Thread 4c604a40 (LWP 100290)]
 [Thread 4c604a40 (LWP 100290) exited]
 [New Thread 4c604900 (LWP 100290)]
 [New Thread 4c6047c0 (LWP 100324)]
 [Thread 4c6047c0 (LWP 100324) exited]
 [Thread 4c604900 (LWP 100290) exited]
 [Switching to Thread 49201140 (LWP 100168)]

 Breakpoint 1, get_stats_for (buddy=Variable "buddy" is not available.
 ) at cap.c:94
 94              sqlite3_free(sql);
 Breakpoint 1, get_stats_for (buddy=Variable "buddy" is not available.
 ) at cap.c:94
 94              sqlite3_free(sql);
 (gdb) n
 97              if(strcmp(purple_status_get_id(get_status_for(buddy)),
 "offline") == 0) {
 (gdb) print *buddy
 Variable "buddy" is not available.
 (gdb) s
 94              sqlite3_free(sql);
 (gdb) s
 97              if(strcmp(purple_status_get_id(get_status_for(buddy)),
 "offline") == 0) {
 (gdb) s
 get_status_for (buddy=0x4a724cc0) at cap.c:504
 504             PurplePresence *presence =
 purple_buddy_get_presence(buddy);
 (gdb) print *buddy
 $1 = {node = {type = PURPLE_BLIST_BUDDY_NODE, prev = 0x0, next =
 0x4a724d00, parent = 0x4a724c80, child = 0x0, settings = 0x4a719e90,
 ui_data = 0x4a72e2e0, flags = 0},
   name = 0x4a72aae0 "225302010", alias = 0x4a72aaf0 "katerina",
 server_alias = 0x0, proto_data = 0x0, icon = 0x4d1faf00, account =
 0x4954c0a0, presence = 0x4a72c1f0}
 (gdb) print *buddy->presence
 $2 = {context = 1249004736, idle = 19, idle_time = 11591, login_time = 0,
 statuses = 0x3f, status_table = 0xc, active_status = 0x3, u = {account =
 0xe, chat = {conv = 0xe,
       user = 0x3a <Error reading address 0x3a: Bad address>}, buddy =
 {account = 0xe, name = 0x3a <Error reading address 0x3a: Bad address>,
 buddy = 0xb}}}
 (gdb) print *(PurpleStatus *)buddy->presence->statuses->data
 $3 = {type = 0x4954bb20, presence = 0x4a72c1f0, active = 0, attr_values =
 0x4a719cc0}
 (gdb) n
 [New Thread 4c604680 (LWP 100324)]
 [New Thread 4c604540 (LWP 100327)]
 [New Thread 4c604400 (LWP 100328)]
 [New Thread 4c6042c0 (LWP 100329)]
 [New Thread 4c604180 (LWP 100330)]
 505             PurpleStatus *status =
 purple_presence_get_active_status(presence);
 (gdb) n
 [Thread 4c604180 (LWP 100330) exited]
 [Thread 4c604400 (LWP 100328) exited]
 [Thread 4c604540 (LWP 100327) exited]
 [Thread 4c604680 (LWP 100324) exited]

 Program received signal SIGTRAP, Trace/breakpoint trap.
 0x494ba3cd in get_status_for (buddy=Variable "buddy" is not available.
 ) at cap.c:505
 505             PurpleStatus *status =
 purple_presence_get_active_status(presence);
 (gdb) n
 [Thread 4c6042c0 (LWP 100329) exited]

 Program received signal SIGTRAP, Trace/breakpoint trap.
 0x494b9aa4 in ?? () from /usr/local/lib/pidgin/cap.so
 (gdb) bt
 #0  0x494b9aa4 in ?? () from /usr/local/lib/pidgin/cap.so
 #1  0x494ba3d2 in get_status_for (buddy=Variable "buddy" is not available.
 ) at cap.c:505
 #2  0x494baa87 in get_stats_for (buddy=Variable "buddy" is not available.
 ) at cap.c:97
 #3  0x494bac75 in drawing_tooltip (node=0x4a724cc0, text=0x4d1fd7b0,
 full=0) at cap.c:441
 #4  0x48a76696 in purple_marshal_VOID__POINTER_POINTER_UINT (cb=0x494bac50
 <drawing_tooltip>, args=0xbfbfe208 "�LrJ��\037M", data=0x0,
 return_val=0x0) at signals.c:680
 #5  0x48a770b7 in purple_signal_emit_vargs (instance=0x811b7d4,
 signal=0x810419d "drawing-tooltip", args=0xbfbfe208 "�LrJ��\037M") at
 signals.c:482
 #6  0x48a771ec in purple_signal_emit (instance=0x811b7d4, signal=0x810419d
 "drawing-tooltip") at signals.c:434
 #7  0x0808239a in create_tip_for_node (node=0x4a724cc0, full=0) at
 gtkblist.c:3779
 #8  0x08083284 in pidgin_blist_create_tooltip_for_node (widget=0x4a507e60,
 data=0x4a724c80, w=0xbfbfe310, h=0xbfbfe314) at gtkblist.c:3229
 #9  0x080833c9 in pidgin_blist_create_tooltip (widget=0x4a507e60,
 path=0x4dcae3d0, null=0x0, w=0xbfbfe310, h=0xbfbfe314) at gtkblist.c:3397
 #10 0x08100e20 in pidgin_tooltip_timeout (data=0x4a7f8d20) at
 pidgintooltip.c:284
 #11 0x48e10c56 in g_source_get_current_time () from
 /usr/local/lib/libglib-2.0.so.0
 #12 0x48e10519 in g_main_context_dispatch () from
 /usr/local/lib/libglib-2.0.so.0
 #13 0x48e13766 in g_main_context_check () from
 /usr/local/lib/libglib-2.0.so.0
 #14 0x48e13aa7 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
 #15 0x482d9824 in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
 #16 0x080c6791 in main (argc=Error accessing memory address 0x0: Bad
 address.
 ) at gtkmain.c:916
 (gdb)

-- 
Ticket URL: <http://developer.pidgin.im/ticket/10576#comment:11>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list