> 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

Reply via email to