R14508, GTK2, Linux i686
After updating to this version, I've had several crashes with the following
error:
FATAL: Assertion failure in parq.c:1228: "q->by_rel_pos != NULL"
I can't pinpoint the exact version I was running before - something from
within a day or so of the release of 0.96.4.
It appears to crash whenever the first upload is initiated.
Here's a (full) backtrace:
--------
#0 0xffffe410 in ?? ()
No symbol table info available.
#1 0xbfe022bc in ?? ()
No symbol table info available.
#2 0x00000006 in ?? ()
No symbol table info available.
#3 0x00002623 in ?? ()
No symbol table info available.
#4 0xb75f9770 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#5 0xb75faef3 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#6 0x081fd266 in assertion_failure (data=0x8261228) at fast_assert.c:96
No locals.
#7 0x080e6ae4 in parq_upload_recompute_relative_positions (q=0xb6ea7ca8) at
parq.c:1228
l = (GList *) 0x0
pos = 0
assertion_data_ = {file = 0x8260892 "parq.c", expr = 0x8261210
"q->by_rel_pos != NULL",
line = 1228}
assertion_data_ = {file = 0x8260892 "parq.c", expr = 0x82611f8
"q->size > 0", line = 1229}
assertion_data_ = {file = 0x8260892 "parq.c",
expr = 0x82611d0 "pos <= UNSIGNED(q->size)", line = 1237}
#8 0x080eb3f7 in parq_upload_busy (u=0xb6ebb408, handle=0xb72814b0) at
parq.c:3054
parq_ul = (struct parq_ul_queued *) 0xb72814b0
assertion_data_ = {file = 0x8260892 "parq.c", expr = 0x826110c
"parq_ul != NULL",
line = 3023}
assertion_data_ = {file = 0x8260892 "parq.c",
expr = 0x82614c0 "parq_ul->by_addr != NULL", line = 3068}
assertion_data_ = {file = 0x8260892 "parq.c",
expr = 0x8261874 "host_addr_equal(parq_ul->by_addr->addr,
parq_ul->remote_addr)", line = 3069}
#9 0x08137882 in upload_request_for_shared_file (u=0xb6ebb408,
header=0xb4f480a0)
at uploads.c:3348
range_skip = 0
range_end = 225095
range_unavailable = 0
replaced_stalling = 0
sha1 = (const struct sha1 *) 0xb720631c
buf = (const gchar *) 0x994da58 "bytes=0-225095"
now = 1187335878
parq_allows = 1
idx = 50
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8275b98
"u->sf", line = 3005}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x82768dc
"r->start <= r->end",
line = 3079}
assertion_data_ = {file = 0x8275468 "uploads.c",
expr = 0x82768ac "r->end < shared_file_size(u->sf)", line = 3080}
assertion_data_ = {file = 0x8275468 "uploads.c",
expr = 0x82767dc "GNET_PROPERTY(pfsp_server)", line = 3102}
msg = "Requested range not satisfiable"
msg = "Requested range not available yet"
assertion_data_ = {file = 0x8275468 "uploads.c",
expr = 0x8276804 "sha1_hash_available(u->sf)", line = 3164}
assertion_data_ = {file = 0x8275468 "uploads.c",
expr = 0x82767dc "GNET_PROPERTY(pfsp_server)", line = 3165}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276160
"NULL == u->file",
line = 3368}
cd_buf = '\0' <repeats 1023 times>
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x82767b0
"len < sizeof cd_buf",
line = 3441}
term = "\"\r\n"
assertion_data_ = {file = 0x8275468 "uploads.c",
expr = 0x8276788 "u->socket->gdk_tag == 0", line = 3512}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x827676a
"u->bio == NULL",
line = 3513}
#10 0x08139075 in upload_request (u=0xb6ebb408, header=0xb4f480a0) at
uploads.c:4047
search = (gchar *) 0x98f6691
"urn:sha1:PH73XX4J6FUYRYJLCLKN6FNQ6DCHHLEE"
uri = (gchar *) 0x98f6684 "/uri-res/N2R"
now = 1187335878
host = "71.220.148.53:41112\000�
\021p�\200])\t\001\000\000\000\001", '\0' <repeats 15 times>,
"\037\000\000\000\020\000\000\000`])\t\030\000\000\000\031\235
[EMAIL PROTECTED]'f\222�
\021p�(+��\"\000\000\000(�8\b0�8\b\000\000\000\000��8\bk\211
\b\003\000\000\000\002\000\000\000\"\000\000\000\000\000\000\000��8\b\024\221
\b(+��rx\222�\b\000\000\000\002\000\
000\000x+���\223
\b\000\000\000\000\\\000\000\000\001\000\000\000\000\000\000\000h])\t\003\000\000\000\001",
'\0' <repeats 15 times>, "\230+���"...
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276d78
"NULL == u->request",
line = 3759}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276d5c "0
== u->hevcnt",
line = 3760}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276324
"NULL == u->sf",
line = 3761}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276d34
"NULL == u->name",
line = 3762}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276d18
"NULL == u->thex",
line = 3763}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276cfc
"!u->browse_host",
line = 3764}
assertion_data_ = {file = 0x8275468 "uploads.c",
expr = 0x8276cd8 "0 == u->socket->gdk_tag", line = 3765}
assertion_data_ = {file = 0x8275468 "uploads.c", expr = 0x8276cbb
"NULL == u->bio",
line = 3766}
#11 0x08134a6d in call_upload_request (obj=0xb6ebb408, header=0xb4f480a0) at
uploads.c:1939
u = (struct upload *) 0xb6ebb408
#12 0x080c8629 in io_header_parse (ih=0xb720ddc0) at ioheader.c:330
s = (struct gnutella_socket *) 0xb54bb270
header = (header_t *) 0xb4f480a0
parsed = 2
error = 8
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a4c0
"parsed == s->pos",
line = 191}
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a4a0
"ih->text != NULL",
line = 209}
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a480
"NULL == s->getline",
line = 222}
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a45c
"s->gdk_tag",
line = 236}
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a45c
"s->gdk_tag",
line = 325}
#13 0x080c88e2 in io_read_data (data=0xb720ddc0, unused_source=34,
cond=INPUT_EVENT_R)
at ioheader.c:409
ih = (struct io_header *) 0xb720ddc0
s = (struct gnutella_socket *) 0xb54bb270
count = 4095
r = 294
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a63c
"s != NULL",
line = 348}
assertion_data_ = {file = 0x825a284 "ioheader.c", expr = 0x825a45c
"s->gdk_tag",
line = 349}
assertion_data_ = {file = 0x825a284 "ioheader.c",
expr = 0x825a60c "s->buf_size >= s->pos", line = 372}
#14 0x08208df4 in inputevt_timer (poll_ctx=0x8370dc0) at inputevt.c:715
relay = (inputevt_relay_t *) 0xb58288c0
id = 92
cond = INPUT_EVENT_R
rl = (relay_list_t *) 0xb6629e88
sl = (GSList *) 0x0
fd = 34
n = 17
i = 0
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e818
"poll_ctx", line = 659}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829eaac "poll_ctx->initialized", line = 660}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e7f7
"poll_ctx->fd >= 0",
line = 661}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829ea84
"poll_ctx->ht",
line = 662}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829ea60 "!poll_ctx->dispatching", line = 665}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829ea4c
"n > 0", line = 677}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829ea20 "(guint) n <= poll_ctx->num_ev", line = 678}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e8c0
"fd >= 0", line = 690}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e8a8
"NULL != rl",
line = 693}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829e9c0 "(0 == rl->readers && 0 == rl->writers) || NULL !=
rl->sl", line = 694}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e96c
"id > 0", line = 703}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829e948 "id < poll_ctx->num_ev", line = 704}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e900
"relay", line = 707}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e980
"relay->fd == fd",
line = 708}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e96c
"id > 0", line = 730}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829e948 "id < poll_ctx->num_ev", line = 731}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829e914 "0 != bit_array_get(poll_ctx->used, id)", line = 733}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e900
"relay", line = 737}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829e8d4 "zero_handler == relay->handler", line = 738}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e8c0
"fd >= 0", line = 741}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e8a8
"NULL != rl",
line = 746}
assertion_data_ = {file = 0x829e7ec "inputevt.c", expr = 0x829e88c
"NULL != rl->sl",
line = 747}
assertion_data_ = {file = 0x829e7ec "inputevt.c",
expr = 0x829e858 "0 == rl->readers && 0 == rl->writers", line = 751}
#15 0x08209125 in dispatch_poll (unused_source=0x838bd50,
unused_cond=G_IO_IN, udata=0x8370dc0)
at inputevt.c:771
No locals.
#16 0xb7938c8d in g_io_channel_unix_get_fd () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#17 0xb790f802 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#18 0xb79127df in g_main_context_check () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#19 0xb7912b89 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#20 0xb7d99574 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#21 0x08157e37 in main_gui_run (geometry_spec=0x0) at main.c:692
now = 1187334980
#22 0x08057a23 in main (argc=1, argv=0xbfe02f24) at main.c:1414
--------
Let me know if you need more info - I've saved a core file on the most
recent crash, though that's not really necessary, as this is 100% repeatable
on my machine (6 out of 6 since I updated to r14508).
Lloyd B.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
gtk-gnutella-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel