I have experienced what seems to be the same type of crash with three
different versions of gtk-gnutella. I have compiled the
program myself each time.
With 0.92.1c it happened c:a once i two days.
With 0.92.1 it happened c:a once an hour.
With the CVS version it happens within a minute or so.
Here is the CVS "Entries" file:
/AUTHORS/1.41/Thu Sep 11 19:31:06 2003//
/ChangeLog/1.441/Thu Sep 11 20:05:24 2003//
/Configure/1.18/Tue Aug 19 22:07:46 2003//
/Jmakefile/1.5/Thu Aug 14 20:36:22 2003//
/LICENSE/1.1/Fri May 17 20:53:30 2002//
/MANIFEST/1.17/Sun Aug 17 17:15:43 2003//
/MANIFEST.new/1.18/Sun Aug 17 17:15:43 2003//
/MPL-1.1.txt/1.1/Tue Sep 16 20:03:17 2003//
/Makefile.SH/1.7/Tue Aug 19 22:06:32 2003//
/README/1.12/Tue Aug 12 21:05:45 2003//
/TODO/1.7/Thu Feb 21 18:31:42 2002//
/config.rpath/1.1/Sun Jul 20 01:04:09 2003//
/config.sub/1.1/Mon Apr 14 01:20:08 2003//
/config_h.SH/1.11/Sun Sep 7 11:55:19 2003//
/fix_copyright/1.2/Sun Aug 3 08:09:17 2003//
/gtk-gnutella.glade/1.166/Thu Sep 11 20:01:26 2003//
/gtk-gnutella_spec.SH/1.3/Tue Aug 19 22:12:54 2003//
/gtk2-gnutella.glade/1.75/Mon Aug 18 20:25:47 2003//
/gtk2-gnutella.gladep/1.3/Sun Apr 13 20:42:33 2003//
/gwcache.boot/1.8/Sat Jul 19 23:10:22 2003//
/hostiles.txt/1.3/Fri Aug 8 22:13:45 2003//
/install-sh/1.1.1.1/Sat May 6 13:52:35 2000//
/install.SH/1.1/Sun Aug 10 15:16:29 2003//
/missing/1.1.1.1/Sat May 6 13:52:35 2000//
/run/1.5/Fri Jul 11 09:38:50 2003//
/stamp-h.in/1.1.1.1/Sat May 6 13:52:35 2000//
D
Here is (partly) the "config.sh" file:
afs='false'
awk='/usr/bin/awk'
cpp_stuff='42'
cpplast='-'
cppminus='-'
cpprun='gcc -E'
cppstdin='gcc -E'
d_attribut='define'
d_bcopy='define'
d_bindtxtcode='define'
d_bsd='undef'
d_const='define'
d_deflate='define'
d_enablenls='undef'
d_eunice='undef'
d_gettext='define'
d_gnulibc='define'
d_herror='define'
d_hstrerror='define'
d_icu='undef'
d_index='undef'
d_inetaton='define'
d_inflate='define'
d_iptos='define'
d_isascii='define'
d_libxml2='define'
d_memcpy='define'
d_nls='define'
d_official='undef'
d_open3='define'
d_portable='undef'
d_random='define'
d_remotectrl='undef'
d_sendfile='define'
d_srandom='define'
d_strcasestr='define'
d_strchr='define'
d_strlcpy='undef'
d_sysctl='define'
d_ucnv_open_2_6='undef'
d_usegtk1='undef'
d_usegtk2='define'
d_volatile='define'
d_vsnprintf='define'
d_xenix='undef'
defvoidused='15'
enablenls='false'
gccversion='3.2.3'
glade='glade-2'
gladefile='gtk2-gnutella.glade'
gladeobj='interface-glade2.o support-glade2.o'
gladesrc='interface-glade2.c support-glade2.c'
gnulibc_version='2.3.1'
gtkconfig='pkg-config gtk+-2.0'
gtkgversion='0.93u'
gtkldflags='-Wl,--export-dynamic -L/usr/local/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -
latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-
2.0 -ldl -lglib-2.0 '
gtkpackage='gtk+-2.0'
gtkversion='2'
h_fcntl='false'
h_sysfile='true'
hint='default'
i_langinfo='define'
i_libcharset='undef'
i_libintl='define'
i_niin='define'
i_niip='define'
i_string='define'
i_sysin='undef'
i_sysparam='define'
i_syssendfile='define'
i_syssysctl='define'
i_uni_putil='undef'
i_zlib='define'
icu='false'
libs='-lz -lresolv'
mkdep='/home/patrik/testdir/gtk-gnutella-current/mkdep'
models='none'
msgfmt='/usr/bin/msgfmt'
msgmerge='/usr/bin/msgmerge'
myuname='linux erik 2.4.20 #2 thu may 1 16:12:03 cest 2003 i686 unknown unknown
gnulinux '
nm_so_opt='--dynamic'
official='false'
optimize='-g3'
osname='linux'
xmlcflags='-I/usr/include/libxml2'
xmlconfig='xml2-config'
xmlldflags='-L/usr/lib -lxml2 -lz -lpthread -lm'
yacc='bison -y'
This is what gtk-gnutella says before it exits:
03/09/26 18:58:49 (WARNING): weird X-Available-Ranges header from <Shareaza 1.8.9.22>,
offset 534 (end boundary 734003199 outside resource range 0-732071935): bytes
0-67108863,79691776-205520895,234881024-243269631,251658240-255852543,264241152-268435455,281018368-297795583,314572800-318767103,322961408-331350015,373293056-377487359,390070272-394264575,402653184-406847487,419430400-423624703,444596224-448790527,452984832-457179135,469762048-482344959,486539264-494927871,507510784-520093695,528482304-532676607,574619648-578813951,595591168-599785471,603979776-612368383,645922816-650117119,654311424-658505727,662700032-666894335,700448768-704643071,708837376-713031679,721420288-734003199
03/09/26 18:58:52 (WARNING): weird X-Available-Ranges header from <Shareaza 1.8.9.17>,
offset 407 (end boundary 734003199 outside resource range 0-732071935): bytes
0-25165823,29360128-33554431,37748736-46137343,50331648-54525951,58720256-67108863,100663296-104857599,167772160-171966463,176160768-180355071,264241152-268435455,281018368-285212671,293601280-297795583,322961408-327155711,402653184-406847487,419430400-423624703,478150656-482344959,486539264-494927871,595591168-599785471,603979776-608174079,662700032-666894335,721420288-725614591,729808896-734003199
** ERROR **: file search_gui2.c: line 629 (search_matched): assertion failed:
(rc->refcount == 0)
aborting...
Aborted
Looking at the core:
(gdb) bt full
#0 0x406c1a41 in kill () from /lib/libc.so.6
No symbol table info available.
#1 0x4064424b in pthread_kill () from /lib/libpthread.so.0
No symbol table info available.
#2 0x40644521 in raise () from /lib/libpthread.so.0
No symbol table info available.
#3 0x406c2976 in abort () from /lib/libc.so.6
No symbol table info available.
#4 0x40232d66 in g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR,
format=0x81648a0 "file %s: line %d (%s): assertion failed: (%s)",
args1=0xbffff90c "_REMOVED_") at gmessages.c:508
buffer = "file search_gui2.c: line 629 (search_matched): assertion failed:
(rc->refcount == 0)_REMOVED_...
was_recursion = 0
i = 2
#5 0x40232d80 in g_log (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR,
format=0x81648a0 "file %s: line %d (%s): assertion failed: (%s)")
at gmessages.c:527
No locals.
#6 0x080b3f0c in search_matched (sch=0x88753b0, rs=0x84c9450)
at search_gui2.c:629
rc = (record_t *) 0x8476718
flt_result = (filter_result_t *) 0x88db128
downloaded = 0
old_items = 21
need_push = 0
skip_records = 0
vinfo = (GString *) 0x837858c
vendor = (gchar *) 0x8196f9f "Acquisition"
download_color = (GdkColor *) 0x83a4fd0
ignore_color = (GdkColor *) 0x83a4ff4
mark_color = (GdkColor *) 0x83a5030
sl = (GSList *) 0x8a930e0
send_pushes = 1
is_firewalled = 0
i = 3
max_results = 5000
#7 0x080cf803 in search_gui_got_results (schl=0x8b30558, r_set=0x84c8eb0)
at search_gui_common.c:706
l = (GSList *) 0x8b300e0
rs = (results_set_t *) 0x84c9450
#8 0x0813b031 in search_fire_got_results (sch_matched=0x8b30558, rs=0x84c8eb0)
at search.c:142
sl = (GSList *) 0x8870bb8
#9 0x0813de20 in search_results (n=0x8a803d8) at search.c:1513
rs = (gnet_results_set_t *) 0x84c8eb0
selected_searches = (GSList *) 0x8b30558
sl = (GSList *) 0x0
drop_it = 0
#10 0x0812148b in node_parse (node=0x8a803d8) at nodes.c:4032
n = (struct gnutella_node *) 0x8a803d8
drop = 0
has_ggep = 0
regular_size = -1
dest = {type = ROUTE_NONE, ur = {u_node = 0x4063b364,
u_nodes = 0x4063b364}}
qhv = (query_hashvec_t *) 0x0
#11 0x08121fd9 in node_read (n=0x8a803d8, mb=0x8886970) at nodes.c:4401
r = 467
#12 0x0812209a in node_data_ind (rx=0x8a04a30, mb=0x8886970) at nodes.c:4430
n = (struct gnutella_node *) 0x8a803d8
#13 0x0813aa82 in rx_inflate_recv (rx=0x8a04a30, mb=0x8885ca0)
at rx_inflate.c:202
attr = (struct attr *) 0x8988ec8
imb = (pmsg_t *) 0x8886970
#14 0x0813a58f in rx_recv (rx=0x8a04a30, mb=0x8885ca0) at rx.c:177
No locals.
#15 0x0813a3b4 in rx_data_ind (rx=0x8a02928, mb=0x8885ca0) at rx.c:115
No locals.
#16 0x0813ac88 in is_readable (data=0x8a02928, source=62,
cond=INPUT_EVENT_READ) at rx_link.c:105
rx = (rxdrv_t *) 0x8a02928
attr = (struct attr *) 0x8886d40
n = (struct gnutella_node *) 0x8a803d8
db = (pdata_t *) 0x84c5bb0
mb = (pmsg_t *) 0x8885ca0
r = 344
#17 0x08112935 in inputevt_dispatch (source=0x89f9978, condition=G_IO_IN,
data=0x88859d0) at inputevt.c:88
cond = INPUT_EVENT_READ
relay = (inputevt_relay_t *) 0x88859d0
#18 0x40245bf6 in g_io_unix_dispatch (source=0x89f97e0,
callback=0x81128c0 <inputevt_dispatch>, user_data=0x88859d0)
at giounix.c:159
buffer_condition = 1080339280
#19 0x4022cafd in g_main_dispatch (context=0x836e090) at gmain.c:1720
i = 0
#20 0x4022d7f1 in g_main_context_dispatch (context=0x836e090) at gmain.c:2268
No locals.
#21 0x4022da95 in g_main_context_iterate (context=0x836e090, block=1,
dispatch=1, self=0x8342a18) at gmain.c:2349
max_priority = 2147483647
timeout = 59
some_ready = 0
nfds = 15
allocated_nfds = 1
fds = (GPollFD *) 0x8a92018
#22 0x4022dfee in g_main_loop_run (loop=0x8967630) at gmain.c:2569
self = (GThread *) 0x8342a18
#23 0x40110237 in gtk_main () at gtkmain.c:1093
tmp_list = (GList *) 0x0
functions = (GList *) 0x0
init = (GtkInitFunction *) 0x400098b8
loop = (GMainLoop *) 0x8967630
#24 0x080ce0d7 in main_gui_run () at main_gui.c:597
coord = {0, 92, 1214, 772}
#25 0x081141d3 in main (argc=1, argv=0xbffffd34, env=0xbffffd3c) at main.c:479
i = 256
(gdb) frame 6
#6 0x080b3f0c in search_matched (sch=0x88753b0, rs=0x84c9450)
at search_gui2.c:629
629 g_assert(rc->refcount == 0);
(gdb) print * rc
$2 = {results_set = 0x84c9450, refcount = 2,
name = 0x88db214 "_REMOVED_", size = 801611657,
index = 243, sha1 = 0x88c99cc "_REMOVED_",
tag = 0x0, alt_locs = 0x8b5a868, flags = 0}
(gdb) print * rs
$3 = {refcount = 1, guid = 0x88c0dec "_REMOVED_",
ip = _REMOVED_, port = 6348, status = 49162, speed = 16,
stamp = 1064605336, vendor = "ACQX", version = 0x0, proxies = 0x0,
num_recs = 4, records = 0x8a930e8}
(gdb) print * (record_t *)(rs->records->data)
$4 = {results_set = 0x84c9450, refcount = 2,
name = 0x88b3994 "_REMOVED_", size = 38907465,
index = 242,
sha1 = 0x848abfc "_REMOVED_", tag = 0x0,
alt_locs = 0x8b5a870, flags = 0}
(gdb) print * (record_t *)(rs->records->next->data)
$5 = {results_set = 0x84c9450, refcount = 2,
name = 0x88db214 "_REMOVED_", size = 801611657,
index = 243, sha1 = 0x88c99cc "_REMOVED_",
tag = 0x0, alt_locs = 0x8b5a868, flags = 0}
(gdb) print * (record_t *)(rs->records->next->next->data)
$6 = {results_set = 0x84c9450, refcount = 2,
name = 0x8b830cc "_REMOVED_", size = 801650133, index = 244,
sha1 = 0x8b58e34 "_REMOVED_", tag = 0x0,
alt_locs = 0x8b5a860, flags = 0}
(gdb) print * (record_t *)(rs->records->next->next->next->data)
$7 = {results_set = 0x84c9450, refcount = 0,
name = 0x8912e0c "_REMOVED_", size = 54984708,
index = 245, sha1 = 0x8497a74 "_REMOVED_", tag = 0x0,
alt_locs = 0x0, flags = 0}
(gdb) print * (record_t *)(rs->records->next->next->next->next->data)
Cannot access memory at address 0x0
I have looked at four cores, refcount was 2 each time it was
nonzero.
I have compiled all the gtk-libraries myself.
In fact, most of my system is home-grown, with some well-covered
bits of Debian at the bottom. It didn't surprise me, then,
when 0.92.1c occasionally turned itself off, but I noticed a
Debian-user (with an explicit dislike for compiling) with what
appears to be the same problem - so maybe it's not my fault after
all.
To contact me:
My email is a mess. Whatever the headers might say, it's:
[EMAIL PROTECTED]
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Gtk-gnutella-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel