[Pidgin] #11071: Cancelling log search multiple times causes crash

Pidgin trac at pidgin.im
Sat Jan 2 03:57:49 EST 2010


#11071: Cancelling log search multiple times causes crash
--------------------------+-------------------------------------------------
 Reporter:  QuLogic       |     Owner:       
     Type:  defect        |    Status:  new  
Component:  pidgin (gtk)  |   Version:  2.6.4
 Keywords:                |  
--------------------------+-------------------------------------------------
 I don't really get GtkIMHtml well enough for this one.

 I think something like this should cause it:
  1. Start a search in system log (which happens to be large-ish).
  1. Click Close button while it's still busy.
  1. Press Escape too.

 Maybe hitting Find a couple times before Close helps.

 {{{
 (gdb) bt full
 #0  0x00007f20dfb30205 in *__GI_raise (sig=<value optimized out>)
     at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
         pid = <value optimized out>
         selftid = <value optimized out>
 #1  0x00007f20dfb31723 in *__GI_abort () at abort.c:88
         act = {__sigaction_handler = {sa_handler = 0x7fff87b04bf0,
             sa_sigaction = 0x7fff87b04bf0}, sa_mask = {__val = {
               140735469866112, 8589934592, 140735469866176,
 140735469880073,
               6, 139779169695643, 3, 140735469866170, 6, 139779169695647,
 2,
               140735469866158, 2, 139779169690506, 1, 139779169695643}},
           sa_flags = 3, sa_restorer = 0x7fff87b04cb4}
         sigs = {__val = {32, 0 <repeats 15 times>}}
 #2  0x00007f20dfb6bcf8 in __libc_message (do_abort=2,
     fmt=0x7f20dfc1cef8 "*** glibc detected *** %s: %s: 0x%s ***\n")
     at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
         ap = {{gp_offset = 40, fp_offset = 48,
             overflow_arg_area = 0x7fff87b05610,
             reg_save_area = 0x7fff87b05520}}
         ap_copy = {{gp_offset = 16, fp_offset = 48,
             overflow_arg_area = 0x7fff87b05610,
             reg_save_area = 0x7fff87b05520}}
         fd = 2
         on_2 = <value optimized out>
         list = <value optimized out>
         nlist = <value optimized out>
         cp = <value optimized out>
         written = 6
 #3  0x00007f20dfb71468 in malloc_printerr (action=2,
     str=0x7f20dfc1cfe0 "double free or corruption (out)",
     ptr=<value optimized out>) at malloc.c:5994
         buf = "00000000052b4a60"
         cp = <value optimized out>
 #4  0x00007f20dfb72fa6 in *__GI___libc_free (mem=0x7f20dfc137a0)
     at malloc.c:3625
         ar_ptr = 0x7f20dfe4ea00
         p = 0x6
         hook = <value optimized out>
 #5  0x0000000000470694 in gtk_imhtml_search_clear (imhtml=0x3300b20)
     at gtkimhtml.c:4147
         start = {dummy1 = 0x0, dummy2 = 0x7f20e0a139a9, dummy3 =
 -491428560,
           dummy4 = 32544, dummy5 = 5011339, dummy6 = 0, dummy7 =
 -491466709,
           dummy8 = 32544, dummy9 = 0x7f20e09fedab, dummy10 = 0x26cc830,
           dummy11 = 81426944, dummy12 = 0, dummy13 = 1,
           dummy14 = 0x7f20e29c70ac}
         end = {dummy1 = 0x7f20e2b4d02b, dummy2 = 0x0, dummy3 = 5,
           dummy4 = 32767, dummy5 = 0, dummy6 = 0, dummy7 = 1, dummy8 =
 32767,
           dummy9 = 0x7f20e2b3e7df, dummy10 = 0x7f20e09c4d28,
           dummy11 = 40683568, dummy12 = 0, dummy13 = 5011339,
           dummy14 = 0x7f20e4c1f3a2}
         __PRETTY_FUNCTION__ = "gtk_imhtml_search_clear"
 #6  0x000000000047318e in gtk_imhtml_search_find (imhtml=0x3300b20,
     text=0x4da7a00 " \v0\003") at gtkimhtml.c:4090
         iter = {dummy1 = 0x0, dummy2 = 0x0, dummy3 = -521300200,
           dummy4 = 32544, dummy5 = 16, dummy6 = 0, dummy7 = -521324260,
           dummy8 = 32544, dummy9 = 0x20a87d0, dummy10 = 0x1,
           dummy11 = -455162656, dummy12 = 32544, dummy13 = 91,
           dummy14 = 0x7f20e0ecb4af}
         start = {dummy1 = 0x20a87d0, dummy2 = 0x1, dummy3 = 5, dummy4 = 0,
           dummy5 = 0, dummy6 = 0, dummy7 = 0, dummy8 = 0, dummy9 =
 0x2670490,
           dummy10 = 0x7f20e09c3be8, dummy11 = 34244560, dummy12 = 0,
           dummy13 = 93982768, dummy14 = 0x7f20e4c1f3a2}
         end = {dummy1 = 0x258f780, dummy2 = 0x7f20e09feba3, dummy3 = 24,
           dummy4 = 48, dummy5 = -2018486256, dummy6 = 32767,
           dummy7 = -2018486448, dummy8 = 32767, dummy9 = 0x2422d8,
           dummy10 = 0x2468df0, dummy11 = 38178288, dummy12 = 0,
           dummy13 = 53480224, dummy14 = 0x0}
         new_search = 1
         start_mark = 0x0
         __PRETTY_FUNCTION__ = "gtk_imhtml_search_find"
 #7  0x0000000000481221 in search_find_cb (data=0x5609f90) at gtklog.c:425
 No locals.
 #8  0x00007f20e09f4e51 in g_main_dispatch (context=0x2063680) at
 gmain.c:1824
         __PRETTY_FUNCTION__ = "g_main_dispatch"
 #9  IA__g_main_context_dispatch (context=0x2063680) at gmain.c:2377
 No locals.
 #10 0x00007f20e09f83e8 in g_main_context_iterate (context=0x2063680,
 block=1,
     dispatch=1, self=<value optimized out>) at gmain.c:2455
         max_priority = 200
         timeout = 0
         some_ready = 1
         nfds = 18
         allocated_nfds = <value optimized out>
         fds = 0x3f09100
         __PRETTY_FUNCTION__ = "g_main_context_iterate"
 #11 0x00007f20e09f88bd in IA__g_main_loop_run (loop=0x328afd0) at
 gmain.c:2663
         self = 0x205d8e0
         __PRETTY_FUNCTION__ = "IA__g_main_loop_run"
 #12 0x00007f20e2935607 in IA__gtk_main () at gtkmain.c:1205
         tmp_list = 0x27bb320
         functions = 0x0
         init = 0x2081860
         loop = <value optimized out>
 #13 0x0000000000483c1d in main (argc=1, argv=0x7fff87b07de8) at
 gtkmain.c:978
         opt_force_online = 0
         opt_help = <value optimized out>
         opt_login = 0
         opt_nologin = 0
         opt_version = <value optimized out>
         opt_si = 1
         opt_config_dir_arg = 0x0
         opt_login_arg = 0x0
         opt_session_arg = 0x0
         accounts = <value optimized out>
         sigset = {__val = {82951, 0 <repeats 15 times>}}
         prev_sig_disp = 0
         errmsg = "\300\311\336\344 \177\000\000\000\200\336\344
 \177\000\000\000\260\336\344 \177\000\000\000\300\336\344
 \177\000\000\260\331\336\344 \177\000\000\000\232\336\344
 \177\000\000\000\240\315\344 \177\000\000\270\224\336\344
 \177\000\000\000\220\336\344
 \177\000\000\000\000\000\000\000\000\000\000h=4\342
 \177\000\000\004\000\000\000\000\000\000\000\270\371\336\344
 \177\000\000\000\000\340\264`\017\377\377\000\000V,\203\311A\376@\000\000\000\000\000\000\000\220\221\002\000\000\000\000\000\000\000\000\000@\000\070\000\a\000@\000\033\000\032\000\240{\260\207\377\177\000\000\020|\260\207\377\177\000\000\000\000\000\000\000\000\000\000\320]V\342
 \177\000\000\002\000\000\000\000\000\000\000\340\364\336\344
 \177\000\000\215\214\301\344
 \177\000\000\000\000\000\000\000\000\000\000xp\002", '\000' <repeats 13
 times>, "F\226\301\344
 \177\000\000\240{\260\207\377\177\000\000P\214\301\344
 \177\000\000\337{\260\207\377\177\000\000\240[\260\207\377\177\000\000
 \252\315\344 \177\000\000\365}\301\344 \177\000\000\340"...
         signal_channel = <value optimized out>
         signal_status = G_IO_STATUS_ERROR
         error = 0x0
         opt = <value optimized out>
         gui_check = <value optimized out>
         debug_enabled = <value optimized out>
         migration_failed = <value optimized out>
         active_accounts = <value optimized out>
         long_options = {{name = 0x4ce2e2 "config", has_arg = 1, flag =
 0x0,
             val = 99}, {name = 0x4b983e "debug", has_arg = 0, flag = 0x0,
             val = 100}, {name = 0x4c98a0 "force-online", has_arg = 0,
             flag = 0x0, val = 100}, {name = 0x4bcb86 "help", has_arg = 0,
             flag = 0x0, val = 104}, {name = 0x4c9685 "login", has_arg = 2,
             flag = 0x0, val = 108}, {name = 0x4c98ad "multiple", has_arg =
 0,
             flag = 0x0, val = 109}, {name = 0x4c98b6 "nologin", has_arg =
 0,
             flag = 0x0, val = 110}, {name = 0x4ce2d8 "session", has_arg =
 1,
             flag = 0x0, val = 115}, {name = 0x4bfe4d "version", has_arg =
 0,
             flag = 0x0, val = 118}, {name = 0x4ce2eb "display", has_arg =
 1,
             flag = 0x0, val = 68}, {name = 0x4c98be "sync", has_arg = 0,
             flag = 0x0, val = 83}, {name = 0x0, has_arg = 0, flag = 0x0,
             val = 0}}
 }}}

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


More information about the Tracker mailing list