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

Reply via email to