#126 Signal 11

open
nobody
None
5
2008-05-20
2008-05-20
Anonymous
No

wxdfast aborts immediately with a SIGSEGV.

System is linux-2.6.25.4

configure options:

configure --prefix=/usr/local\ --enable-debug\ --disable-dependency-tracking\ --enable-shared\ --disable-static\ --disable-libtool-lock

valgrind output:

root<1> ~: valgrind ./wxdfast
==4182== Memcheck, a memory error detector.
==4182== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==4182== Using LibVEX rev 1804, a library for dynamic binary translation.
==4182== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==4182== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==4182== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==4182== For more details, rerun with: -v
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B4E0: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x4004027: dl_main (in /lib/ld-2.5.so)
==4182== by 0x4014A05: _dl_sysdep_start (in /lib/ld-2.5.so)
==4182== by 0x4000C2F: _dl_start (in /lib/ld-2.5.so)
==4182== by 0x4000816: (within /lib/ld-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B1C2: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x4004027: dl_main (in /lib/ld-2.5.so)
==4182== by 0x4014A05: _dl_sysdep_start (in /lib/ld-2.5.so)
==4182== by 0x4000C2F: _dl_start (in /lib/ld-2.5.so)
==4182== by 0x4000816: (within /lib/ld-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B971: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x4004027: dl_main (in /lib/ld-2.5.so)
==4182== by 0x4014A05: _dl_sysdep_start (in /lib/ld-2.5.so)
==4182== by 0x4000C2F: _dl_start (in /lib/ld-2.5.so)
==4182== by 0x4000816: (within /lib/ld-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B079: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x400413D: dl_main (in /lib/ld-2.5.so)
==4182== by 0x4014A05: _dl_sysdep_start (in /lib/ld-2.5.so)
==4182== by 0x4000C2F: _dl_start (in /lib/ld-2.5.so)
==4182== by 0x4000816: (within /lib/ld-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B081: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x400413D: dl_main (in /lib/ld-2.5.so)
==4182== by 0x4014A05: _dl_sysdep_start (in /lib/ld-2.5.so)
==4182== by 0x4000C2F: _dl_start (in /lib/ld-2.5.so)
==4182== by 0x4000816: (within /lib/ld-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B1C2: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x400413D: dl_main (in /lib/ld-2.5.so)
==4182== by 0x4014A05: _dl_sysdep_start (in /lib/ld-2.5.so)
==4182== by 0x4000C2F: _dl_start (in /lib/ld-2.5.so)
==4182== by 0x4000816: (within /lib/ld-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B4E0: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x401251F: dl_open_worker (in /lib/ld-2.5.so)
==4182== by 0x400E3B1: _dl_catch_error (in /lib/ld-2.5.so)
==4182== by 0x4011E48: _dl_open (in /lib/ld-2.5.so)
==4182== by 0x4A8F5C0: do_dlopen (in /lib/libc-2.5.so)
==4182== by 0x400E3B1: _dl_catch_error (in /lib/ld-2.5.so)
==4182== by 0x4A8F764: __libc_dlopen_mode (in /lib/libc-2.5.so)
==4182== by 0x49A8EDA: __gconv_find_shlib (in /lib/libc-2.5.so)
==4182== by 0x49A1086: find_derivation (in /lib/libc-2.5.so)
==4182== by 0x49A1500: __gconv_find_transform (in /lib/libc-2.5.so)
==4182== by 0x499FEA3: __gconv_open (in /lib/libc-2.5.so)
==4182== by 0x499FB13: iconv_open (in /lib/libc-2.5.so)
==4182==
==4182== Conditional jump or move depends on uninitialised value(s)
==4182== at 0x400B1C2: _dl_relocate_object (in /lib/ld-2.5.so)
==4182== by 0x401251F: dl_open_worker (in /lib/ld-2.5.so)
==4182== by 0x400E3B1: _dl_catch_error (in /lib/ld-2.5.so)
==4182== by 0x4011E48: _dl_open (in /lib/ld-2.5.so)
==4182== by 0x4A8F5C0: do_dlopen (in /lib/libc-2.5.so)
==4182== by 0x400E3B1: _dl_catch_error (in /lib/ld-2.5.so)
==4182== by 0x4A8F764: __libc_dlopen_mode (in /lib/libc-2.5.so)
==4182== by 0x49A8EDA: __gconv_find_shlib (in /lib/libc-2.5.so)
==4182== by 0x49A1086: find_derivation (in /lib/libc-2.5.so)
==4182== by 0x49A1500: __gconv_find_transform (in /lib/libc-2.5.so)
==4182== by 0x499FEA3: __gconv_open (in /lib/libc-2.5.so)
==4182== by 0x499FB13: iconv_open (in /lib/libc-2.5.so)
==4182==
==4182== Syscall param writev(vector[...]) points to uninitialised byte(s)
==4182== at 0x4A519A3: writev (in /lib/libc-2.5.so)
==4182== by 0x52A74DC: (within /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A7A55: (within /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A7B80: (within /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A9067: xcb_wait_for_reply (in /usr/lib/libxcb.so.1.0.0)
==4182== by 0x507325A: _XReply (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x5056560: XInternAtom (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x4DDCC5A: gdk_x11_atom_to_xatom_for_display (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4DDCD4C: gdk_x11_get_xatom_by_name_for_display (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4DE43D8: (within /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4DE6774: gdk_window_new (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4DC84D1: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== Address 0x541b0f8 is 4,664 bytes inside a block of size 8,552 alloc'd
==4182== at 0x40218C9: calloc (in /usr/local/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==4182== by 0x52A76F1: xcb_connect_to_fd (in /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A9DB8: xcb_connect (in /usr/lib/libxcb.so.1.0.0)
==4182== by 0x5072774: _XConnectXCB (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x505AF77: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x4DC8390: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4DACFFD: gdk_display_open_default_libgtk_only (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4BF18AB: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.1200.9)
==4182== by 0x4495682: wxApp::Initialize(int&, wchar_t**) (in /usr/local/lib/libwx_gtk2u_core-2.8.so.0.4.0)
==4182== by 0x4786926: wxEntryStart(int&, wchar_t**) (in /usr/local/lib/libwx_baseu-2.8.so.0.4.0)
==4182== by 0x4786B81: wxEntry(int&, wchar_t**) (in /usr/local/lib/libwx_baseu-2.8.so.0.4.0)
==4182== by 0x4786C95: wxEntry(int&, char**) (in /usr/local/lib/libwx_baseu-2.8.so.0.4.0)

==4182==
==4182== Syscall param writev(vector[...]) points to uninitialised byte(s)
==4182== at 0x4A519A3: writev (in /lib/libc-2.5.so)
==4182== by 0x52A74DC: (within /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A7A55: (within /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A824B: xcb_send_request (in /usr/lib/libxcb.so.1.0.0)
==4182== by 0x5072199: _XPutXCBBuffer (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x507247D: (within /usr/lib/libX11.so.6.2.0)
==4182== by 0x50479CF: XChangeProperty (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x4DE2957: gdk_window_set_icon_list (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4CE313F: (within /usr/lib/libgtk-x11-2.0.so.0.1200.9)
==4182== by 0x4CE77D6: (within /usr/lib/libgtk-x11-2.0.so.0.1200.9)
==4182== by 0x4E797F7: g_cclosure_marshal_VOID__VOID (in /usr/lib/libgobject-2.0.so.0.1400.6)
==4182== by 0x4E6F1E7: (within /usr/lib/libgobject-2.0.so.0.1400.6)
==4182== Address 0x541b144 is 4,740 bytes inside a block of size 8,552 alloc'd
==4182== at 0x40218C9: calloc (in /usr/local/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==4182== by 0x52A76F1: xcb_connect_to_fd (in /usr/lib/libxcb.so.1.0.0)
==4182== by 0x52A9DB8: xcb_connect (in /usr/lib/libxcb.so.1.0.0)
==4182== by 0x5072774: _XConnectXCB (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x505AF77: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==4182== by 0x4DC8390: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4DACFFD: gdk_display_open_default_libgtk_only (in /usr/lib/libgdk-x11-2.0.so.0.1200.9)
==4182== by 0x4BF18AB: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.1200.9)
==4182== by 0x4495682: wxApp::Initialize(int&, wchar_t**) (in /usr/local/lib/libwx_gtk2u_core-2.8.so.0.4.0)
==4182== by 0x4786926: wxEntryStart(int&, wchar_t**) (in /usr/local/lib/libwx_baseu-2.8.so.0.4.0)
==4182== by 0x4786B81: wxEntry(int&, wchar_t**) (in /usr/local/lib/libwx_baseu-2.8.so.0.4.0)
==4182== by 0x4786C95: wxEntry(int&, char**) (in /usr/local/lib/libwx_baseu-2.8.so.0.4.0)
==4182==
==4182== Invalid read of size 4
==4182== at 0x4A97799: free_derivation (in /lib/libc-2.5.so)
==4182== by 0x4A57A76: tdestroy (in /lib/libc-2.5.so)
==4182== by 0x4A97B9B: free_mem (in /lib/libc-2.5.so)
==4182== by 0x4A982B1: __libc_freeres (in /lib/libc-2.5.so)
==4182== by 0x401E1E3: _vgnU_freeres (in /usr/local/lib/valgrind/x86-linux/vgpreload_core.so)
==4182== by 0x49B590E: exit (in /lib/libc-2.5.so)
==4182== by 0x499EDFF: (below main) (in /lib/libc-2.5.so)
==4182== Address 0xc is not stack'd, malloc'd or (recently) free'd
==4182==
==4182== Process terminating with default action of signal 11 (SIGSEGV)
==4182== Access not within mapped region at address 0xC
==4182== at 0x4A97799: free_derivation (in /lib/libc-2.5.so)
==4182== by 0x4A57A76: tdestroy (in /lib/libc-2.5.so)
==4182== by 0x4A97B9B: free_mem (in /lib/libc-2.5.so)
==4182== by 0x4A982B1: __libc_freeres (in /lib/libc-2.5.so)
==4182== by 0x401E1E3: _vgnU_freeres (in /usr/local/lib/valgrind/x86-linux/vgpreload_core.so)
==4182== by 0x49B590E: exit (in /lib/libc-2.5.so)
==4182== by 0x499EDFF: (below main) (in /lib/libc-2.5.so)
==4182==
==4182== ERROR SUMMARY: 157 errors from 11 contexts (suppressed: 0 from 0)
==4182== malloc/free: in use at exit: 1,915,301 bytes in 16,013 blocks.
==4182== malloc/free: 154,248 allocs, 138,235 frees, 16,746,442 bytes allocated.
==4182== For counts of detected errors, rerun with: -v
==4182== searching for pointers to 16,013 not-freed blocks.
==4182== checked 2,825,676 bytes.
==4182==
==4182== LEAK SUMMARY:
==4182== definitely lost: 96,660 bytes in 3,443 blocks.
==4182== possibly lost: 197,972 bytes in 178 blocks.
==4182== still reachable: 1,620,669 bytes in 12,392 blocks.
==4182== suppressed: 0 bytes in 0 blocks.
==4182== Rerun with --leak-check=full to see details of leaked memory.

Discussion