[Pidgin] #6229: Crash (tooltips race)

Pidgin trac at pidgin.im
Wed Jul 2 07:31:47 EDT 2008


#6229: Crash (tooltips race)
---------------------------+------------------------------------------------
 Reporter:  jankratochvil  |       Type:  defect
   Status:  new            |   Priority:  minor 
Component:  pidgin (gtk)   |    Version:  2.4.2 
 Keywords:                 |    Pending:  0     
---------------------------+------------------------------------------------
 I got a random crash
 {{{
 System: Linux 2.6.25.6-55.fc9.x86_64 #1 SMP Tue Jun 10 16:05:21 EDT 2008
 x86_64
 X Vendor: The X.Org Foundation
 X Vendor Release: 10499902
 Selinux: No
 Accessibility: Disabled
 GTK+ Theme: Nodoka
 Icon Theme: Fedora

 Memory status: size: 545456128 vsize: 545456128 resident: 50597888 share:
 16953344 rss: 50597888 rss_rlim: 18446744073709551615
 CPU usage: start_time: 1214749964 rtime: 42351 utime: 40335 stime: 2016
 cutime:217 cstime: 640 timeout: 0 it_real_value: 0 frequency: 100

 Backtrace was generated from '/usr/bin/pidgin'

 [Thread debugging using libthread_db enabled]
 [New Thread 0x7f0860064780 (LWP 11471)]
 0x0000003f2dc0e835 in __libc_waitpid (pid=<value optimized out>,
     stat_loc=<value optimized out>, options=<value optimized out>)
     at ../sysdeps/unix/sysv/linux/waitpid.c:32
 32            return INLINE_SYSCALL (wait4, 4, pid, stat_loc, options,
 NULL);
 #0  0x0000003f2dc0e835 in __libc_waitpid (pid=<value optimized out>,
     stat_loc=<value optimized out>, options=<value optimized out>)
     at ../sysdeps/unix/sysv/linux/waitpid.c:32
 #1  0x0000003f2e86e849 in IA__g_spawn_sync (
     working_directory=<value optimized out>, argv=<value optimized out>,
     envp=<value optimized out>, flags=<value optimized out>,
     child_setup=<value optimized out>, user_data=<value optimized out>,
     standard_output=) at gspawn.c:374
 #2  0x0000003f2e86eb58 in IA__g_spawn_command_line_sync (
     command_line=<value optimized out>,
     standard_output=<value optimized out>,
     standard_error=<value optimized out>, exit_status=<value optimized
 out>,
     error=<value optimized out>) at gspawn.c:682
 #3  0x00000000006ee606 in check_if_gdb (
     callback_context=<value optimized out>) at gnome-breakpad.cc:213
 #4  0x00000000006ee6bd in bugbuddy_segv_handle (signum=<value optimized
 out>)
     at gnome-breakpad.cc:87
 #5  <signal handler called>
 #6  0x0000003f2d032215 in raise (sig=<value optimized out>)
     at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
 #7  0x0000003f2d033d83 in abort () at abort.c:88
 #8  0x00000000004817b8 in sighandler (sig=<value optimized out>)
     at gtkmain.c:193
 #9  <signal handler called>
 #10 0x0000003f2ec24e23 in IA__g_type_check_instance_is_a (
     type_instance=<value optimized out>, iface_type=<value optimized out>)
     at gtype.c:3144
 #11 0x00000000004b6797 in pidgin_tooltip_timeout (data=0x7f0850c09c60)
     at pidgintooltip.c:271
 #12 0x0000003f2e837c5b in g_timeout_dispatch (source=<value optimized
 out>,
     callback=<value optimized out>, user_data=<value optimized out>)
     at gmain.c:3443
 #13 0x0000003f2e83749b in IA__g_main_context_dispatch (
     context=<value optimized out>) at gmain.c:2009
 #14 0x0000003f2e83ac7d in g_main_context_iterate (
     context=<value optimized out>, block=<value optimized out>,
     dispatch=<value optimized out>, self=<value optimized out>)
     at gmain.c:2642
 #15 0x0000003f2e83b1ad in IA__g_main_loop_run (loop=<value optimized out>)
     at gmain.c:2850
 #16 0x0000003f34183a98 in IA__gtk_main () at gtkmain.c:1163
 #17 0x0000000000481f5b in main (argc=1, argv=0x7fff68091a38) at
 gtkmain.c:890

 Thread 1 (Thread 0x7f0860064780 (LWP 11471)):
 #0  0x0000003f2dc0e835 in __libc_waitpid (pid=<value optimized out>,
     stat_loc=<value optimized out>, options=<value optimized out>)
     at ../sysdeps/unix/sysv/linux/waitpid.c:32
         oldtype = <value optimized out>
         result = <value optimized out>
 #1  0x0000003f2e86e849 in IA__g_spawn_sync (
     working_directory=<value optimized out>, argv=<value optimized out>,
     envp=<value optimized out>, flags=<value optimized out>,
     child_setup=<value optimized out>, user_data=<value optimized out>,
     standard_output=) at gspawn.c:374
         outpipe =
 The program is running.  Quit anyway (and detach it)? (y or n) [answered
 Y; input not from terminal]


 ----------- .xsession-errors ---------------------
 Please make sure to specify what you were doing at the time
 and post the backtrace from the core file.  If you do not know
 how to get the backtrace, please read the instructions at
 http://developer.pidgin.im/wiki/GetABacktrace
 If you need further assistance, please IM either SeanEgn or
 LSchiere (via AIM).  Contact information for Sean and Luke
 on other protocols is at
 http://developer.pidgin.im/wiki/DeveloperPages
 warning:
 "/usr/lib/debug/lib/modules/2.6.25.6-55.fc9.x86_64/vdso/vdso.so.debug":
 The separate debug info file has no debug info
 Could not find the frame base for "IA__g_spawn_sync".
 Could not find the frame base for "IA__g_spawn_sync".
 Could not find the frame base for "IA__g_spawn_sync".
 --------------------------------------------------
 }}}

 It is clear there that row_motion_cb() adds a timeout with its `userdata'
 parameter but the time the timeout gets invoked the `userdata' parameter
 content may get already deleted.  The handler `row_motion_cb' gets
 automatically discarded when the TREE object gets `destroy'ed but the
 already scheduled timeout is not removed and it later crashes on the
 already freed TREE object.

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


More information about the Tracker mailing list