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

Reply via email to