On Thu, Feb 23, 2006 at 11:16:59PM +0800, LUK ShunTim wrote:

> Here's the backtrace with gdb after re-building with debug enabled.
> <quote>
> $ LD_LIBRARY_PATH=/usr/lib/debug gdb gliv

> GNU gdb 6.4-debian
> Copyright 2005 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
> "/usr/lib/debug/libthread_db.so.1".

> (gdb) set pagination 0
> (gdb) thread apply all bt
> (gdb) run
> Starting program: /usr/bin/gliv
> [Thread debugging using libthread_db enabled]
> [New Thread 16384 (LWP 11817)]
> *** glibc detected *** free(): invalid pointer: 0x080c0478 ***

> Program received signal SIGABRT, Aborted.
> [Switching to Thread 16384 (LWP 11817)]
> 0xb7591731 in kill () at string2.h:998
> 998     string2.h: No such file or directory.
>         in string2.h
> (gdb) bt
> #0  0xb7591731 in kill () at string2.h:998
> #1  0xb7695390 in pthread_kill (thread=16384, signo=0) at signals.c:69
> #2  0xb76957ab in __pthread_raise (sig=-1217806348) at signals.c:200
> #3  0xb75914a4 in *__GI_raise (sig=6) at
> ../linuxthreads/sysdeps/unix/sysv/linux/raise.c:32
> #4  0xb7592a18 in *__GI_abort () at ../sysdeps/generic/abort.c:88
> #5  0xb75c714f in __libc_message (do_abort=2, fmt=0xb767e7a4 "*** glibc 
> detected
> *** %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:145
> #6  0xb75ccfe2 in malloc_printerr (action=2, str=0xb767bd90 "free(): invalid
> pointer", ptr=<value optimized out>) at malloc.c:5525
> #7  0xb75cd9a8 in *__GI___libc_free (mem=0x80c0478) at malloc.c:3404
> #8  0xb743d5b1 in operator delete () from /usr/lib/libstdc++.so.6
> #9  0xb23f6d4e in scim::Module::~Module () from /usr/lib/libscim-1.0.so.8
> #10 0xb23f6f57 in scim::scim_get_module_list () from /usr/lib/libscim-1.0.so.8
> #11 0xb23f2eb5 in scim::scim_get_imengine_module_list () from
> /usr/lib/libscim-1.0.so.8
> #12 0xb2497598 in gtk_im_context_scim_new () from
> /usr/lib/gtk-2.0/2.4.0/immodules/im-scim.so
> #13 0xb799a21b in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
> #14 0xb7980d68 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
> #15 0xb7981167 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
> #16 0xb7981320 in g_object_new () from /usr/lib/libgobject-2.0.so.0
> #17 0xb2490a37 in gtk_im_context_scim_new () from
> /usr/lib/gtk-2.0/2.4.0/immodules/im-scim.so
> #18 0xb249f74c in im_module_create () from
> /usr/lib/gtk-2.0/2.4.0/immodules/im-scim.so
> #19 0xb7d44b8b in _gtk_im_module_create () from /usr/lib/libgtk-x11-2.0.so.0
> #20 0xb7d45392 in gtk_im_multicontext_new () from /usr/lib/libgtk-x11-2.0.so.0
> #21 0xb7d45458 in gtk_im_multicontext_new () from /usr/lib/libgtk-x11-2.0.so.0
> #22 0xb7d4314c in gtk_im_context_get_preedit_string () from
> /usr/lib/libgtk-x11-2.0.so.0
> #23 0xb7cead7e in gtk_entry_get_text () from /usr/lib/libgtk-x11-2.0.so.0
> #24 0x08072429 in set_entry_text ()
> #25 0xbf84b80c in ?? ()
> #26 0xbf84b810 in ?? ()
> #27 0xb7f44718 in fixup () from /lib/ld-linux.so.2
> Previous frame inner to this frame (corrupt stack?)
> (gdb)
> </quote>

> Please let know if I have to do anything else.

Aha.  Ok, this is not a bug in gliv.  The invalid free happens inside scim,
which is not a dependency of gliv at all.  There is a known bug involving
scim, in which scim and the application each cause a different version of
libstdc++ to be loaded, and a limitation of the libstdc++ ABI prevents the
linker from keeping them separate.  This is not easily fixable in libstdc++;
the solution is to upgrade all your software to use libstdc++6.

Please upgrade to the etch version of the scim packages to confirm that this
fixes the problem for you.  If it does, I'll go ahead and close the bug.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/

Attachment: signature.asc
Description: Digital signature

Reply via email to