I have a stack trace that points to an assertion at udp.c, line 262.
Here is "(gdb) p *n" from udp_send_msg() ....
(gdb) p *n
$1 = {magic = NODE_MAGIC, node_handle = 269, peermode = NODE_P_ULTRA,
start_peermode = NODE_P_ULTRA,
error_str = '\0' <repeats 255 times>, socket = 0xe892b90, proto_major = 0
'\0', proto_minor = 6 '\006',
qrp_major = 0 '\0', qrp_minor = 1 '\001', uqrp_major = 0 '\0', uqrp_minor = 1
'\001',
vendor = 0x4129e8f4 "Phex 3.0.2.100", country = 482, vcode = {be32 = 0},
io_opaque = 0x0,
header = "øtbéºDt\220PÔ\210¢óæ\0001\001\0003\000\000", extvec = {{ext_name =
0x8168205 "LOC",
ext_token = EXT_T_GGEP_LOC, ext_type = EXT_GGEP, opaque = 0x0}, {ext_name
= 0x81681f4 "GUE",
ext_token = EXT_T_GGEP_GUE, ext_type = EXT_GGEP, opaque = 0x0}, {ext_name
= 0x8168205 "LOC",
ext_token = EXT_T_GGEP_LOC, ext_type = EXT_GGEP, opaque = 0x0}, {ext_name
= 0x8168226 "UP",
ext_token = EXT_T_GGEP_UP, ext_type = EXT_GGEP, opaque = 0x0}, {ext_name
= 0x8168229 "VC",
ext_token = EXT_T_GGEP_VC, ext_type = EXT_GGEP, opaque = 0x0}, {ext_name
= 0x8168229 "VC",
ext_token = EXT_T_GGEP_VC, ext_type = EXT_GGEP, opaque = 0x0}, {ext_name
= 0x0, ext_token = EXT_T_UNKNOWN,
ext_type = EXT_UNKNOWN, opaque = 0x0} <repeats 26 times>}, extcount = 0,
size = 51, header_flags = 0,
data = 0x6536d000 "LIME\027", pos = 51, status = GTA_NODE_CONNECTED, flags =
34078972, attrs = 1839478,
hops_flow = 255 'ÿ', max_ttl = 4 '\004', degree = 32, qseen = 0x0, qrelayed =
0xe884180, qrelayed_old = 0xe8c2a20,
qrelayed_created = 1173393437, sent = 2444, received = 4175, tx_dropped = 0,
rx_dropped = 1872, n_bad = 0,
n_dups = 0, n_hard_ttl = 0, n_weird = 0, n_hostile = 0, n_spam = 0, n_evil =
0, allocated = 65536, have_header = 1,
last_update = 1173393441, last_tx = 1173393439, last_rx = 1173393441,
connect_date = 1173392732, tx_flowc_date = 0,
rxfc = 0x0, shutdown_date = 0, up_date = 0, leaf_flowc_start = 0,
shutdown_delay = 0, remove_msg = 0x0, addr = {
net = 4, addr = {ipv6 = "k\"´T\000 \202W\210\000\000\000¹\017ì\005", ipv4 =
1421091435,
u8 = "k\"´T\000 \202W\210\000\000\000¹\017ì\005", u16 = {8811, 21684,
40960, 22402, 136, 0, 4025, 1516}, u32 = {
1421091435, 1468178432, 136, 99356601}}}, port = 63858, proxy_addr =
{net = 0, addr = {
ipv6 = '\0' <repeats 15 times>, ipv4 = 0, u8 = '\0' <repeats 15 times>,
u16 = {0, 0, 0, 0, 0, 0, 0, 0}, u32 = {
0, 0, 0, 0}}}, proxy_port = 0, outq = 0x4576e930, searchq = 0x0, rx =
0x43d709c0, routing_data = 0x41082c10,
sent_query_table = 0x468a9a50, recv_query_table = 0x464a3e4c, qrt_update =
0x0, qrt_receive = 0x0,
qrt_info = 0x40d879d0, alive_pings = 0x46b01880, last_alive_ping =
1173392732, alive_period = 20, hello = {pos = 0,
len = 0, size = 0, ptr = 0x0}, tcp_rtt = 0, udp_rtt = 0, tsync_ev = 0x0, id
= 120447, ping_throttle = 3,
ping_accept = 1173393441, next_ping = 0, ping_guid = "¤ôKõ²\237çF7%áª\r\236",
pong_needed = "\000\000\001\001\002\002\002", pong_missing = 1 '\001',
gnet_addr = {net = 0, addr = {
ipv6 = '\0' <repeats 15 times>, ipv4 = 0, u8 = '\0' <repeats 15 times>,
u16 = {0, 0, 0, 0, 0, 0, 0, 0}, u32 = {
0, 0, 0, 0}}}, gnet_port = 0, gnet_files_count = 15481,
gnet_kbytes_count = 134217728, gnet_pong_addr = {
net = 4, addr = {ipv6 = "[EMAIL PROTECTED],\020\030£þ\017", ipv4 =
184340422, u8 = "[EMAIL PROTECTED],\020\030£þ\017", u16 = {
53190, 2812, 9726, 16464, 54384, 4140, 41752, 4094}, u32 = {184340422,
1078994430, 271373424, 268346136}}},
gnet_qhit_addr = {net = 0, addr = {ipv6 = '\0' <repeats 15 times>, ipv4 = 0,
u8 = '\0' <repeats 15 times>, u16 = {0,
0, 0, 0, 0, 0, 0, 0}, u32 = {0, 0, 0, 0}}}, guid = 0x0, n_ping_throttle
= 1767, n_ping_accepted = 218,
n_ping_special = 0, n_ping_sent = 8, n_pong_received = 55, n_pong_sent =
2275, tx_given = 206814,
tx_deflated = 61392, tx_written = 61392, rx_given = 242670, rx_inflated =
314964, rx_read = 314964,
qrp_queries = 150, qrp_matches = 29, rx_queries = 2098, tx_queries = 93,
rx_qhits = 14, tx_qhits = 25, hsep = 0x0}
I don't really understand why the assertion is like this in udp.c
/**
* Send a datagram to the specified node, made of `len' bytes from `buf',
* forming a valid Gnutella message.
*/
void
udp_send_msg(const gnutella_node_t *n, gconstpointer buf, gint len)
{
**** g_assert(NODE_IS_UDP(n));
g_return_if_fail(n->outq);
mq_udp_node_putq(n->outq, gmsg_to_pmsg(buf, len), n);
}
Is NODE_IS_UDP(n) the fake UDP pseudo node? If not, then how are
ULTRA and LEAF UDP nodes differentiated? I have a pause on error
process waiting. I will let it sit for some time. Then I will update
from SVN and re-compile. This may already be fixed?
tia,
Bill Pringlemeir.
bt full truncates near the end...
(gdb) bt
#0 0x404bb70d in sigsuspend () from /lib/libc.so.6
#1 0x08121125 in crash_handler (signo=6) at crash.c:131
#2 0x404bb3a8 in killpg () from /lib/libc.so.6
#3 0x404bc80b in abort () from /lib/libc.so.6
#4 0x08121e70 in assertion_failure (data=Variable "data" is not available.
) at fast_assert.c:97
#5 0x081023ce in udp_send_msg (n=0x4458e430, buf=0x405ca968, len=-514) at
udp.c:262
#6 0x0811038c in vmsg_send_head_pong (n=0x4458e430, sha1=0xbfe68e18,
code=Variable "code" is not available.
) at vmsg.c:1604
#7 0x08110787 in handle_udp_head_ping (n=0x4458e430, vmsg=0x8189a60,
payload=0x6536d008 "\002urn:sha1:TQMAYZW4BOIXJEEYZF5RJCPXXPATBHN2Ã社é\225·
ã\201® ç\224\230 ã\201\204", size=43)
at vmsg.c:1978
#8 0x0810db2a in vmsg_handle (n=0x4458e430) at vmsg.c:214
#9 0x080b7032 in node_parse (node=Variable "node" is not available.
) at nodes.c:6503
#10 0x080b8697 in node_data_ind (rx=0x43d709c0, mb=0x487fcd48) at nodes.c:7339
#11 0x080de731 in rx_inflate_recv (rx=0x43d709c0, mb=0x413d32d0) at
rx_inflate.c:217
#12 0x080deb11 in is_readable (data=0x411cf390, unused_source=117,
cond=Variable "cond" is not available.
) at rx_link.c:142
#13 0x0812b66d in dispatch_poll (unused_source=0x4001c000, unused_cond=G_IO_IN,
udata=0x82390e0) at inputevt.c:722
#14 0x400b89be in g_io_unix_dispatch (source=Variable "source" is not available.
) at giounix.c:162
#15 0x4008fb61 in IA__g_main_context_dispatch (context=Variable "context" is
not available.
) at gmain.c:2043
#16 0x40092c86 in g_main_context_iterate (context=Variable "context" is not
available.
) at gmain.c:2675
#17 0x40092ff7 in IA__g_main_loop_run (loop=Variable "loop" is not available.
) at gmain.c:2879
#18 0x0804e1ee in main (argc=Cannot access memory at address 0x8
) at gui.h:63
(gdb) bt full
#0 0x404bb70d in sigsuspend () from /lib/libc.so.6
No symbol table info available.
#1 0x08121125 in crash_handler (signo=6) at crash.c:131
oset = {__val = {32, 0, 1074282690, 1087010452, 4, 3648571040,
3219556152, 1074282690, 1087010452, 5,
3219556100, 3219555604, 3219556072, 135439027, 4, 3648571040, 3219556152,
1074282690, 1087010452, 3219556040, 4,
0, 1953256749, 1701863794, 3219556040, 842281248, 825635118, 1086988092,
3219555720, 135423859, 136650904,
1086988092}}
#2 0x404bb3a8 in killpg () from /lib/libc.so.6
No symbol table info available.
#3 0x404bc80b in abort () from /lib/libc.so.6
No symbol table info available.
#4 0x08121e70 in assertion_failure (data=Variable "data" is not available.
) at fast_assert.c:97
No locals.
#5 0x081023ce in udp_send_msg (n=0x4458e430, buf=0x405ca968, len=-514) at
udp.c:262
No locals.
#6 0x0811038c in vmsg_send_head_pong (n=0x4458e430, sha1=0xbfe68e18,
code=Variable "code" is not available.
) at vmsg.c:1604
msgsize = 33
payload = (gchar *) 0x823687f ""
p = (gchar *) 0xa8284641 <Address 0xa8284641 out of bounds>
#7 0x08110787 in handle_udp_head_ping (n=0x4458e430, vmsg=0x8189a60,
payload=0x6536d008 "\002urn:sha1:TQMAYZW4BOIXJEEYZF5RJCPXXPATBHN2..ñ..\225.
.\201« .\224\230 .\201\204", size=43)
at vmsg.c:1978
fi = (const fileinfo_t *) 0x0
sf = (const struct shared_file *) 0x0
guid = "°.\000\000..\022\020E\000\000\000\001\000\000"
has_guid = Variable "has_guid" is not available.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gtk-gnutella-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel