Hello, I ran gtk-gnutella with a program valgrind to test for memory corruptions in my PARQ code. I ran it twice. One time with parq code, and another time with clean cvs.
Well this is what I got with the PARQ patch (clean cvs below): ==20502== ==20502== Invalid read of size 1 ==20502== at 0x81089AC: fuzzy_make_word_list (fuzzy.c:50) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== by 0x812EE28: dmesh_check_deferred_altlocs (dmesh.c:1369) ==20502== Address 0x464165C6 is 0 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x81089D7: fuzzy_make_word_list (fuzzy.c:52) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== by 0x812EE28: dmesh_check_deferred_altlocs (dmesh.c:1369) ==20502== Address 0x464165C9 is 3 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x81089FC: fuzzy_make_word_list (fuzzy.c:53) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== by 0x812EE28: dmesh_check_deferred_altlocs (dmesh.c:1369) ==20502== Address 0x464165CB is 5 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid write of size 1 ==20502== at 0x8108A04: fuzzy_make_word_list (fuzzy.c:54) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== by 0x812EE28: dmesh_check_deferred_altlocs (dmesh.c:1369) ==20502== Address 0x464165CB is 5 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x8108A10: fuzzy_make_word_list (fuzzy.c:57) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== by 0x812EE28: dmesh_check_deferred_altlocs (dmesh.c:1369) ==20502== Address 0x464165C9 is 3 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x4003C32D: strlen (vg_clientfuncs.c:433) ==20502== by 0x8108A23: fuzzy_make_word_list (fuzzy.c:58) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== Address 0x464165C9 is 3 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x4003C332: strlen (vg_clientfuncs.c:433) ==20502== by 0x8108A23: fuzzy_make_word_list (fuzzy.c:58) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== Address 0x464165CA is 4 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x4003C345: strcpy (vg_clientfuncs.c:440) ==20502== by 0x8108A23: fuzzy_make_word_list (fuzzy.c:58) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== Address 0x464165C9 is 3 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x4003C34A: strcpy (vg_clientfuncs.c:440) ==20502== by 0x8108A23: fuzzy_make_word_list (fuzzy.c:58) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== Address 0x464165C9 is 3 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x4003C34F: strcpy (vg_clientfuncs.c:440) ==20502== by 0x8108A23: fuzzy_make_word_list (fuzzy.c:58) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== Address 0x464165CA is 4 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) ==20502== ==20502== Invalid read of size 1 ==20502== at 0x810899F: fuzzy_make_word_list (fuzzy.c:49) ==20502== by 0x8108C5F: fuzzy_compare (fuzzy.c:127) ==20502== by 0x812EA79: dmesh_check_deferred_against_existing (dmesh.c:1230) ==20502== by 0x812EE28: dmesh_check_deferred_altlocs (dmesh.c:1369) ==20502== Address 0x464165CC is 6 bytes after a block of size 46 alloc'd ==20502== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==20502== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==20502== by 0x8108C3D: fuzzy_compare (fuzzy.c:124) After which it segfaults Than I tried clean cvs version which also segfaulted: ==26326== ==26326== Invalid read of size 1 ==26326== at 0x810861C: fuzzy_make_word_list (fuzzy.c:50) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A6356 is 0 bytes after a block of size 46 alloc'd ==26326== at 0x4003BAB5: malloc (vg_clientfuncs.c:100) ==26326== by 0x40404E68: g_malloc (in /usr/lib/libglib-1.2.so.0.0.10) ==26326== by 0x4040EF82: g_strdup (in /usr/lib/libglib-1.2.so.0.0.10) ==26326== by 0x81088AD: fuzzy_compare (fuzzy.c:124) ==26326== ==26326== Invalid read of size 1 ==26326== at 0x8108647: fuzzy_make_word_list (fuzzy.c:52) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A636C is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x810866C: fuzzy_make_word_list (fuzzy.c:53) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A6370 is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid write of size 1 ==26326== at 0x8108674: fuzzy_make_word_list (fuzzy.c:54) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A6370 is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x8108680: fuzzy_make_word_list (fuzzy.c:57) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A636C is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x4003C32D: strlen (vg_clientfuncs.c:433) ==26326== by 0x8108693: fuzzy_make_word_list (fuzzy.c:58) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== Address 0x466A636C is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x4003C332: strlen (vg_clientfuncs.c:433) ==26326== by 0x8108693: fuzzy_make_word_list (fuzzy.c:58) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== Address 0x466A636D is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x4003C345: strcpy (vg_clientfuncs.c:440) ==26326== by 0x8108693: fuzzy_make_word_list (fuzzy.c:58) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== Address 0x466A636C is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x4003C34A: strcpy (vg_clientfuncs.c:440) ==26326== by 0x8108693: fuzzy_make_word_list (fuzzy.c:58) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== Address 0x466A636C is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x4003C34F: strcpy (vg_clientfuncs.c:440) ==26326== by 0x8108693: fuzzy_make_word_list (fuzzy.c:58) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== Address 0x466A636D is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x810860F: fuzzy_make_word_list (fuzzy.c:49) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A6371 is not stack'd, malloc'd or free'd ==26326== ==26326== Invalid read of size 1 ==26326== at 0x810867D: fuzzy_make_word_list (fuzzy.c:57) ==26326== by 0x81088CF: fuzzy_compare (fuzzy.c:127) ==26326== by 0x812E585: dmesh_check_deferred_against_existing (dmesh.c:1230) ==26326== by 0x812E934: dmesh_check_deferred_altlocs (dmesh.c:1369) ==26326== Address 0x466A6376 is not stack'd, malloc'd or free'd Unfortunately running with valgrind doesn't produce usefull core dump. So I can't give a backtrace with gdb. With regards, Jeroen ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com _______________________________________________ Gtk-gnutella-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel
