[Pidgin] #4266: Text replacement plugin causes crash on incoming message

Pidgin trac at pidgin.im
Wed Dec 5 12:03:19 EST 2007


#4266: Text replacement plugin causes crash on incoming message
---------------------+------------------------------------------------------
 Reporter:  ari      |       Type:  defect
   Status:  new      |   Priority:  minor 
Component:  plugins  |    Version:  2.3.0 
 Keywords:           |    Pending:  0     
---------------------+------------------------------------------------------
 From Debian bug report http://bugs.debian.org/454421.
 Pidgin 2.3.0 seems to crash in the Text Replacement plugin on an incoming
 message. At first glance, this appears to be because the plugin is
 attaching to the "conversation-created" signal instead of "conversation-
 displayed", since the !PidginConversation is NULL at the time the callback
 runs.

 {{{
 #0  0xb7779321 in waitpid () from /lib/libpthread.so.0
 No symbol table info available.
 #1  0xb78096a4 in g_spawn_sync () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #2  0xb78099bc in g_spawn_command_line_sync () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #3  0xb7f81268 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
 No symbol table info available.
 #4  <signal handler called>
 No symbol table info available.
 #5  0xb7648ea6 in raise () from /lib/libc.so.6
 No symbol table info available.
 #6  0xb764a7b1 in abort () from /lib/libc.so.6
 No symbol table info available.
 #7  0x080bbd0b in sighandler (sig=11) at ../../pidgin/gtkmain.c:220
 No locals.
 #8  <signal handler called>
 No symbol table info available.
 #9  0xb6e59f88 in spellchk_new_attach (conv=0x866fa90)
     at ../../../pidgin/plugins/spellchk.c:630
         buffer = <value optimized out>
         start = {dummy1 = 0xb63a71e0, dummy2 = 0x0, dummy3 = 137471344,
   dummy4 = 0, dummy5 = 137469528, dummy6 = -1079444296, dummy7 =
 134710351,
   dummy8 = 135856264, dummy9 = 0x86b61e0, dummy10 = 0x0, dummy11 = 0,
   dummy12 = 137469528, dummy13 = -1216051460, dummy14 = 0xbfa8fcc8}
         end = {dummy1 = 0xb78e7809, dummy2 = 0xb63a6f04, dummy3 =
 135842312,
   dummy4 = -1079444392, dummy5 = -1214995536, dummy6 = 136592296,
   dummy7 = 137469528, dummy8 = -1079444344, dummy9 = 0xb78b616d,
   dummy10 = 0x818ca08, dummy11 = 137471344, dummy12 = 0, dummy13 =
 137469528,
   dummy14 = 0xbfa8fcb8}
         gtkconv = (PidginConversation *) 0x0
 #10 0xb78ef5a8 in purple_marshal_VOID__POINTER (
     cb=0xb6e59f50 <spellchk_new_attach>, args=0xbfa8fd48 "\220úf\b",
     data=0x0, return_val=0x0) at ../../libpurple/signals.c:629
 No locals.
 #11 0xb78f0067 in purple_signal_emit_vargs (instance=0xb794dca4,
     signal=0xb793591d "conversation-created", args=0xbfa8fd48 "\220úf\b")
     at ../../libpurple/signals.c:482
         handler_data = (PurpleSignalHandlerData *) 0x0
         l = <value optimized out>
         l_next = (GList *) 0x82ed960
         tmp = 0xbfa8fd48 "\220úf\b"
         __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
 #12 0xb78f019c in purple_signal_emit (instance=0x0, signal=0x0)
     at ../../libpurple/signals.c:434
         args = 0xbfa8fd48 "\220úf\b"
         __PRETTY_FUNCTION__ = "purple_signal_emit"
 #13 0xb78cb99e in purple_conversation_new (type=PURPLE_CONV_TYPE_IM,
     account=0x8190088, name=0x8650998 "130658267")
     at ../../libpurple/conversation.c:376
         conv = (PurpleConversation *) 0x866fa90
         gc = (PurpleConnection *) 0x85c99d0
         ops = <value optimized out>
         __PRETTY_FUNCTION__ = "purple_conversation_new"
 #14 0x0809c233 in received_im_msg_cb (account=0x8190088,
     sender=0x8650998 "130658267",
     message=0x83d04d0 "aber ein komplettes hast du auch nicht gefunden?",
     conv=0x0, flags=0) at ../../pidgin/gtkconv.c:5167
         ui_ops = (PurpleConversationUiOps *) 0x8102280
 #15 0xb78ef7d4 in
 purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT (
     cb=0x809c180 <received_im_msg_cb>, args=0xbfa8fe38 "\210", data=0x0,
     return_val=0x0) at ../../libpurple/signals.c:761
 No locals.
 #16 0xb78f0067 in purple_signal_emit_vargs (instance=0xb794dca4,
     signal=0xb79358a9 "received-im-msg", args=0xbfa8fe38 "\210")
     at ../../libpurple/signals.c:482
         handler_data = (PurpleSignalHandlerData *) 0x0
         l = <value optimized out>
         l_next = (GList *) 0x823cc40
         tmp = 0xbfa8fe38 "\210"
         __PRETTY_FUNCTION__ = "purple_signal_emit_vargs"
 #17 0xb78f019c in purple_signal_emit (instance=0x0, signal=0x0)
     at ../../libpurple/signals.c:434
         args = 0xbfa8fe38 "\210"
         __PRETTY_FUNCTION__ = "purple_signal_emit"
 #18 0xb78ef19a in serv_got_im (gc=0x85c99d0, who=0x86f47f0 "130658267",
     msg=0x83000c8 "aber ein komplettes hast du auch nicht gefunden?",
     flags=0, mtime=1196847504) at ../../libpurple/server.c:588
         account = (PurpleAccount *) 0x8190088
         conv = (PurpleConversation *) 0x0
         angel = 0x8650998 "130658267"
         buffy = 0x83d04d0 "aber ein komplettes hast du auch nicht
 gefunden?"
         __PRETTY_FUNCTION__ = "serv_got_im"
 #19 0xb60e5fec in purple_parse_incoming_im (od=0x85cb528, conn=0x85e74c0,
     fr=0x85e74fc) at ../../../../libpurple/protocols/oscar/oscar.c:2031
         args = (struct aim_incomingim_ch1_args *) 0xbfa90078
         channel = <value optimized out>
         ret = <value optimized out>
         userinfo = (aim_userinfo_t *) 0xbfa8ff98
         ap = 0xbfa8ff28 "l"
 #20 0xb60c898e in incomingim (od=0x85cb528, conn=0x85e74c0,
     mod=<value optimized out>, frame=0x85e74fc, snac=0xbfa902e0,
 bs=0x85e7500)
     at ../../../../libpurple/protocols/oscar/family_icbm.c:1686
         tlvlist = <value optimized out>
         ret = 0
         cookie = (guchar *) 0x8205680 "6468766"
         channel = <value optimized out>
         userinfo = {sn = 0x86f47f0 "130658267", warnlevel = 0, idletime =
 0,
   flags = 112, createtime = 0, membersince = 1000030140,
   onlinesince = 1196846849, sessionlen = 655, capabilities = 0, icqinfo =
 {
     status = 1, ipaddr = 0, crap = '\0' <repeats 36 times>}, present =
 279,
   iconcsumtype = 1 '\001', iconcsumlen = 16,
   iconcsum = 0x86e26b8 "\213¿]\026F\033çÈÞ7eûH5\2102t", info = 0x0,
   info_encoding = 0x0, info_len = 0, status = 0x0, status_encoding = 0x0,
   status_len = 0, itmsurl = 0x0, itmsurl_encoding = 0x0, itmsurl_len = 0,
   away = 0x0, away_encoding = 0x0, away_len = 0, next = 0x0}
 #21 0xb60caddf in snachandler (od=0x85cb528, conn=0x85e74c0,
 mod=0x85cb7b0,
     frame=0x85e74fc, snac=0xbfa902e0, bs=0x85e7500)
     at ../../../../libpurple/protocols/oscar/family_icbm.c:2522
 No locals.
 #22 0xb60d5fb1 in flap_connection_recv_cb (data=0x85e74c0, source=11,
     cond=PURPLE_INPUT_READ)
     at ../../../../libpurple/protocols/oscar/flap_connection.c:679
         read = <value optimized out>
 #23 0x080a3e53 in pidgin_io_invoke (source=0x85cc180,
     condition=<value optimized out>, data=0x85f2408)
     at ../../pidgin/gtkeventloop.c:78
         purple_cond = PURPLE_INPUT_READ
 #24 0xb780745d in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #25 0x085cc180 in ?? ()
 No symbol table info available.
 #26 0x00000001 in ?? ()
 No symbol table info available.
 #27 0x085f2408 in ?? ()
 No symbol table info available.
 #28 0xb78486fc in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #29 0xbfa9037c in ?? ()
 No symbol table info available.
 #30 0x085b9828 in ?? ()
 No symbol table info available.
 #31 0xbfa90398 in ?? ()
 No symbol table info available.
 #32 0xb77d8216 in g_main_context_dispatch () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 }}}

-- 
Ticket URL: <http://developer.pidgin.im/ticket/4266>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list