[Pidgin] #509: Crash when deleting buddy and cab plugin is loaded
Pidgin
trac at pidgin.im
Tue May 1 20:43:07 EDT 2007
#509: Crash when deleting buddy and cab plugin is loaded
---------------------------+------------------------------------------------
Reporter: thoemy | Owner: deryni
Type: defect | Status: new
Priority: minor | Milestone:
Component: pidgin (gtk) | Version: 2.0
Resolution: | Keywords:
Pending: 0 |
---------------------------+------------------------------------------------
Old description:
> Pidgin crashes sometimes when deleting a buddy. It seems to happen
> randomly but only if the cab plugin is loaded.
>
> {{{
> thoemy at thoemy:~$ gdb pidgin
> GNU gdb 6.6-debian
> Copyright (C) 2006 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for
> details.
> This GDB was configured as "i486-linux-gnu"...
> Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
> (gdb) run
> Starting program: /home/thoemy/.local/bin/pidgin
> Failed to read a valid object file image from memory.
> [Thread debugging using libthread_db enabled]
> [New Thread -1223272752 (LWP 22982)]
> [New Thread -1238946928 (LWP 22987)]
> [Thread -1238946928 (LWP 22987) exited]
> [New Thread -1247339632 (LWP 22988)]
> [Thread -1247339632 (LWP 22988) exited]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1223272752 (LWP 22982)]
> 0xb750c8b0 in purple_account_get_protocol_id (account=0xffffffff)
> at account.c:1726
> 1726 if (!strcmp(account->protocol_id, "prpl-oscar")) {
> (gdb) bt full
> #0 0xb750c8b0 in purple_account_get_protocol_id (account=0xffffffff)
> at account.c:1726
> __PRETTY_FUNCTION__ = "purple_account_get_protocol_id"
> #1 0xb6f6f5ea in get_stats_for (buddy=0x82d5c90) at cap.c:37
> buddy_name = <value optimized out>
> stats = (CapStatistics *) 0x8979c00
> __PRETTY_FUNCTION__ = "get_stats_for"
> #2 0xb6f6fa05 in drawing_tooltip (node=0xffffffff, text=0x82d7690,
> full=1)
> at cap.c:458
> stats = <value optimized out>
> #3 0xb7547516 in purple_marshal_VOID__POINTER_POINTER_UINT (
> cb=0xb6f6f9d0 <drawing_tooltip>, args=0xbfda6048
> "\220\\-\b\220v-\b\001",
> data=0x0, return_val=0x0) at signals.c:669
> No locals.
> #4 0xb7547e65 in purple_signal_emit_vargs (instance=0x80ef5b0,
> signal=0x80df3ac "drawing-tooltip",
> args=0xbfda6048 "\220\\-\b\220v-\b\001") at signals.c:481
> handler_data = (PurpleSignalHandlerData *) 0x82d4cf0
> l = <value optimized out>
> l_next = (GList *) 0x0
> tmp = 0xbfda6048 "\220\\-\b\220v-\b\001"
> __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
> #5 0xb7547f9c in purple_signal_emit (instance=0xb,
> signal=0x82d4cf0 "XC}\bP\201J�") at signals.c:433
> args = 0xbfda6048 "\220\\-\b\220v-\b\001"
> __PRETTY_FUNCTION__ = "purple_signal_emit"
> #6 0x08078ff9 in create_tip_for_node (node=0x82d5c90, full=1)
> at gtkblist.c:3058
> str = (GString *) 0x82d7690
> prpl = <value optimized out>
> tmp = <value optimized out>
> tooltip_text = <value optimized out>
> account = <value optimized out>
> tmp = <value optimized out>
> node_name = <value optimized out>
> #7 0x08079b7a in pidgin_blist_tooltip_timeout (tv=0x84aa018)
> at gtkblist.c:2615
> td = (struct tooltip_data *) 0x0
> child = (PurpleBlistNode *) 0x82d5c90
> b = (PurpleBuddy *) 0x82d5c90
> max_text_width = 0
> max_avatar_width = 0
> path = (GtkTreePath *) 0x82d6980
> iter = {stamp = 699106302, user_data = 0x83cc168, user_data2 =
> 0x0,
> user_data3 = 0x0}
> node = <value optimized out>
> val = {g_type = 68, data = {{v_int = 137190432, v_uint =
> 137190432,
> v_long = 137190432, v_ulong = 137190432, v_int64 = 137190432,
> v_uint64 = 137190432, v_float = 5.21685862e-34,
> v_double = 6.7781079389319617e-316, v_pointer = 0x82d5c20}, {v_int
> = 0,
> v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
> v_float = 0, v_double = 0, v_pointer = 0x0}}}
> scr_w = <value optimized out>
> w = <value optimized out>
> h = 0
> x = <value optimized out>
> y = <value optimized out>
> mon_num = <value optimized out>
> screen = (GdkScreen *) 0x0
> mon_size = {x = -1219799387, y = -1209318868, width = 8,
> height = -1076207336}
> #8 0xb75c7116 in ?? () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #9 0x084aa018 in ?? ()
> No symbol table info available.
> #10 0xb7f83484 in ?? () from /usr/lib/libdbus-1.so.3
> No symbol table info available.
> #11 0xbfda6168 in ?? ()
> No symbol table info available.
> ---Type <return> to continue, or q <return> to quit---
> #12 0xb762d1e0 in ?? () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #13 0xb74b40d0 in ?? () from /lib/i686/cmov/libpthread.so.0
> No symbol table info available.
> #14 0x0891fba0 in ?? ()
> No symbol table info available.
> #15 0xbfda6168 in ?? ()
> No symbol table info available.
> #16 0xb75dede2 in g_slist_prepend () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #17 0xb75c6b51 in g_main_context_dispatch () from
> /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #18 0xb75c9bc6 in ?? () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #19 0x08111e10 in ?? ()
> No symbol table info available.
> #20 0x00000000 in ?? ()
> No symbol table info available.
> }}}
New description:
Pidgin crashes sometimes when deleting a buddy. It seems to happen
randomly but only if the cap plugin is loaded.
{{{
thoemy at thoemy:~$ gdb pidgin
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
(gdb) run
Starting program: /home/thoemy/.local/bin/pidgin
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1223272752 (LWP 22982)]
[New Thread -1238946928 (LWP 22987)]
[Thread -1238946928 (LWP 22987) exited]
[New Thread -1247339632 (LWP 22988)]
[Thread -1247339632 (LWP 22988) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223272752 (LWP 22982)]
0xb750c8b0 in purple_account_get_protocol_id (account=0xffffffff)
at account.c:1726
1726 if (!strcmp(account->protocol_id, "prpl-oscar")) {
(gdb) bt full
#0 0xb750c8b0 in purple_account_get_protocol_id (account=0xffffffff)
at account.c:1726
__PRETTY_FUNCTION__ = "purple_account_get_protocol_id"
#1 0xb6f6f5ea in get_stats_for (buddy=0x82d5c90) at cap.c:37
buddy_name = <value optimized out>
stats = (CapStatistics *) 0x8979c00
__PRETTY_FUNCTION__ = "get_stats_for"
#2 0xb6f6fa05 in drawing_tooltip (node=0xffffffff, text=0x82d7690,
full=1)
at cap.c:458
stats = <value optimized out>
#3 0xb7547516 in purple_marshal_VOID__POINTER_POINTER_UINT (
cb=0xb6f6f9d0 <drawing_tooltip>, args=0xbfda6048
"\220\\-\b\220v-\b\001",
data=0x0, return_val=0x0) at signals.c:669
No locals.
#4 0xb7547e65 in purple_signal_emit_vargs (instance=0x80ef5b0,
signal=0x80df3ac "drawing-tooltip",
args=0xbfda6048 "\220\\-\b\220v-\b\001") at signals.c:481
handler_data = (PurpleSignalHandlerData *) 0x82d4cf0
l = <value optimized out>
l_next = (GList *) 0x0
tmp = 0xbfda6048 "\220\\-\b\220v-\b\001"
__PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
#5 0xb7547f9c in purple_signal_emit (instance=0xb,
signal=0x82d4cf0 "XC}\bP\201J�") at signals.c:433
args = 0xbfda6048 "\220\\-\b\220v-\b\001"
__PRETTY_FUNCTION__ = "purple_signal_emit"
#6 0x08078ff9 in create_tip_for_node (node=0x82d5c90, full=1)
at gtkblist.c:3058
str = (GString *) 0x82d7690
prpl = <value optimized out>
tmp = <value optimized out>
tooltip_text = <value optimized out>
account = <value optimized out>
tmp = <value optimized out>
node_name = <value optimized out>
#7 0x08079b7a in pidgin_blist_tooltip_timeout (tv=0x84aa018)
at gtkblist.c:2615
td = (struct tooltip_data *) 0x0
child = (PurpleBlistNode *) 0x82d5c90
b = (PurpleBuddy *) 0x82d5c90
max_text_width = 0
max_avatar_width = 0
path = (GtkTreePath *) 0x82d6980
iter = {stamp = 699106302, user_data = 0x83cc168, user_data2 =
0x0,
user_data3 = 0x0}
node = <value optimized out>
val = {g_type = 68, data = {{v_int = 137190432, v_uint =
137190432,
v_long = 137190432, v_ulong = 137190432, v_int64 = 137190432,
v_uint64 = 137190432, v_float = 5.21685862e-34,
v_double = 6.7781079389319617e-316, v_pointer = 0x82d5c20}, {v_int =
0,
v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}}}
scr_w = <value optimized out>
w = <value optimized out>
h = 0
x = <value optimized out>
y = <value optimized out>
mon_num = <value optimized out>
screen = (GdkScreen *) 0x0
mon_size = {x = -1219799387, y = -1209318868, width = 8,
height = -1076207336}
#8 0xb75c7116 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#9 0x084aa018 in ?? ()
No symbol table info available.
#10 0xb7f83484 in ?? () from /usr/lib/libdbus-1.so.3
No symbol table info available.
#11 0xbfda6168 in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#12 0xb762d1e0 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#13 0xb74b40d0 in ?? () from /lib/i686/cmov/libpthread.so.0
No symbol table info available.
#14 0x0891fba0 in ?? ()
No symbol table info available.
#15 0xbfda6168 in ?? ()
No symbol table info available.
#16 0xb75dede2 in g_slist_prepend () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#17 0xb75c6b51 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#18 0xb75c9bc6 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#19 0x08111e10 in ?? ()
No symbol table info available.
#20 0x00000000 in ?? ()
No symbol table info available.
}}}
--
Ticket URL: <http://developer.pidgin.im/ticket/509#comment:2>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list