> Quoting Thomas Schuerger <[EMAIL PROTECTED]> from ml.softs.gtk-gnutella.devel:
> :I currently often get a crash due to the following assertion (that
> :happened 5 times today, without any interaction from me after
> :(re)start of GTKG):
> :
> :** ERROR **: file downloads.c: line 7695 (download_verify_sha1):
> :assertion failed: (FILE_INFO_COMPLETE(d->file_info))
>
> Stack? Version of GTKG used? *d and *d->file_info at the place of crash?
Version is current version from CVS.
Stack:
(gdb) bt full
#0 0x2863598c in kill () from /usr/lib/libc_r.so.4
No symbol table info available.
#1 0x28687384 in abort () from /usr/lib/libc_r.so.4
No symbol table info available.
#2 0x28402a05 in g_logv () from /usr/local/lib/libglib12.so.3
No symbol table info available.
#3 0x28402ac4 in g_log () from /usr/local/lib/libglib12.so.3
No symbol table info available.
#4 0x80cc079 in download_verify_sha1 (d=0x881e360) at downloads.c:7695
d = (struct download *) 0x881e360
#5 0x80c71fe in download_write_data (d=0x881e360) at downloads.c:4614
d = (struct download *) 0x881e360
s = (struct gnutella_socket *) 0x8823000
fi = (struct dl_file_info *) 0x86a8660
written = 302
trimmed = 0
cd = (struct download *) 0x12e
#6 0x80c9d0d in download_read (data=0x881e360, source=129, cond=INPUT_EVENT_READ)
at downloads.c:6291
cond = 0
d = (struct download *) 0x881e360
s = (struct gnutella_socket *) 0x8823000
r = 302
to_read = 0
remains = 98951
fi = (struct dl_file_info *) 0x86a8660
#7 0x80ec03b in inputevt_dispatch (source=0x88e2bb0, condition=G_IO_IN,
data=0x933f630)
at inputevt.c:89
condition = 0
cond = 98951
relay = (inputevt_relay_t *) 0x933f630
#8 0x283fe97d in g_io_unix_dispatch () from /usr/local/lib/libglib12.so.3
No symbol table info available.
#9 0x2840012e in g_main_dispatch () from /usr/local/lib/libglib12.so.3
No symbol table info available.
#10 0x2840073b in g_main_iterate () from /usr/local/lib/libglib12.so.3
No symbol table info available.
#11 0x284008f0 in g_main_run () from /usr/local/lib/libglib12.so.3
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#12 0x282232c1 in gtk_main () from /usr/X11R6/lib/libgtk12.so.2
No symbol table info available.
#13 0x80addbf in main_gui_run () at main_gui.c:648
coord = {4294967291, 4294967275, 1522, 1090}
#14 0x80ed762 in main (argc=1, argv=0xbfbff504, env=0xbfbff50c) at main.c:573
argc = 1
argv = (gchar **) 0xbfbff504
i = 256
(gdb) p *d
$2 = {src_handle = 155, error_str = '\000' <repeats 255 times>, status =
GTA_DL_COMPLETED,
io_opaque = 0x0, bio = 0x0, server = 0x87f7640, list_idx = DL_LIST_STOPPED,
file_info = 0x86a8660, record_index = 4294967295,
file_name = 0x8564e84 "urn:sha1:FIU7CMNS5SZ6YMJBJ33NVZBLAM2EXFYE",
escaped_name = 0x8564e84 "urn:sha1:FIU7CMNS5SZ6YMJBJ33NVZBLAM2EXFYE", file_size =
681714384,
size = 14446, skip = 461542222, pos = 461556668, range_end = 461556668, socket =
0x0,
file_desc = -1, overlap_size = 256, req = 0x0, start_date = 1080479829,
last_update = 1080479837, last_gui_update = 1080479837, record_stamp = 1,
retry_after = 0,
header_sent = {tv_sec = 1080479828, tv_usec = 523572}, retries = 0, timeout_delay =
22,
remove_msg = 0x0, sha1 = 0x85650e4 "*)�U���\001!N���+\0034K\227\004",
last_dmesh = 1080479828, ranges = 0x0, ranges_size = 0, sinkleft = 0, flags = 12,
keep_alive = 1, visible = 1, push = 0, always_push = 0, got_giv = 0, unavailable =
0,
cproxy = 0x0, queue_status = 0x8603678}
(gdb) p *d->file_info
$3 = {fi_handle = 102, flags = 0, file_name = 0x86dd484 "gjfgjkdfjkgdjsaga.avi",
path = 0x868b124 "/data3/download/incomplete/", alias = 0x86aaef8, size = 681744384,
size_atom = 0x86de214, sha1 = 0x85650e4 "*)�U���\001!N���+\0034K\227\004", cha1 =
0x0,
refcount = 22, sources = 0x8c5a2f0, lifecount = 21, stamp = 1080479837,
last_flush = 1080479835, last_dmesh = 0, done = 1197627763, chunklist = 0x86a5f78,
generation = 529087, sf = 0x0, use_swarming = 1, dirty = 1, dirty_status = 1, hashed
= 1,
aqueued_count = 5, pqueued_count = 2, recvcount = 0, recv_last_rate = 2160,
recv_amount = 1742, recv_last_time = 1080479835, cha1_elapsed = 0, cha1_hashed = 0,
copy_elapsed = 0, copied = 0}
As it seems, "done" is not equal "size" in the file info. This makes the assertion
fail.
Don't know how this can happen, though.
Greetings,
Thomas.
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
Gtk-gnutella-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel