I have patched my ConnectionHandler.java to print a one liner for every incoming and outgoing message. This gives me a "big picture" printout of what is going on. Looking at this I see some things which look like bugs. For example:
Src:tcp/207.96.1.41:2399 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2400 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2401 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2402 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2403 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2404 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2405 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2406 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2407 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2408 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2409 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2410 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2411 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2412 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2413 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2414 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2415 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2416 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/207.96.1.41:2417 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In These all came in over a period of about 10 seconds. Here is what led up to this: Src:tcp/216.254.66.23:1996 htl:3 depth:20 id:13a8750574694912 type:InsertRequest In Dst:tcp/130.215.228.33:19114 htl:2 depth:21 id:13a8750574694912 type:InsertRequest Out Dst:tcp/216.254.66.23:1996 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted Out Src:tcp/130.215.228.33:19114 htl:22 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/130.215.228.33:3677 htl:21 depth:1 id:13a8750574694912 type:InsertReply In Dst:tcp/207.96.1.41:19114 htl:1 depth:21 id:13a8750574694912 type:InsertRequest Out Dst:tcp/216.254.66.23:1996 htl:20 depth:2 id:13a8750574694912 type:InsertReply Out Src:tcp/130.215.228.33:19114 htl:22 depth:0 id:13a8750574694912 type:QueryRestarted In Src:tcp/130.215.228.33:19114 htl:22 depth:0 id:13a8750574694912 type:InsertReply In Dst:tcp/130.215.228.33:3677 htl:21 depth:1 id:13a8750574694912 type:InsertReply Out Src:tcp/216.254.66.23:1996 htl:15 depth:7 id:13a8750574694912 type:InsertReply In Dst:tcp/130.215.228.33:19114 htl:14 depth:8 id:13a8750574694912 type:InsertReply Out Src:tcp/130.215.228.33:3677 htl:13 depth:9 id:13a8750574694912 type:InsertReply In Dst:tcp/216.254.66.23:1996 htl:12 depth:10 id:13a8750574694912 type:InsertReply Out Src:tcp/216.254.66.23:1996 htl:20 depth:3 id:13a8750574694912 type:InsertReply In Dst:tcp/130.215.228.33:3677 htl:19 depth:4 id:13a8750574694912 type:InsertReply Out Src:tcp/130.215.228.33:19114 htl:18 depth:4 id:13a8750574694912 type:InsertReply In Dst:tcp/216.254.66.23:1996 htl:17 depth:5 id:13a8750574694912 type:InsertReply Out Src:tcp/216.254.66.23:1996 htl:9 depth:13 id:13a8750574694912 type:InsertReply In Dst:tcp/130.215.228.33:19114 htl:8 depth:14 id:13a8750574694912 type:InsertReply Out Src:tcp/207.96.1.41:19114 htl:21 depth:0 id:13a8750574694912 type:TimedOut In Dst:tcp/216.254.66.23:1996 htl:20 depth:1 id:13a8750574694912 type:TimedOut Out Src:tcp/207.96.1.41:2399 htl:21 depth:0 id:13a8750574694912 type:QueryRestarted In I forwarded a request, timed out and sent a QueryRestarted. But before I could find another node to talk to, I received first a QueryRestarted (which I ignored) and then an InsertReply from the node I had forwarded to. Still I went ahead and forwarded my InsertRequest to another node, while honoring the InsertReply and sending it back to my requestor. That does not seem correct already, but I have not tried to analyze it further. Another example, this one I can understand better: Src:tcp/129.116.44.244:4865 htl:5 depth:25 id:1f6d7522f9041601 type:InsertRequest In Dst:tcp/198.11.16.81:19114 htl:4 depth:26 id:1f6d7522f9041601 type:InsertRequest Out Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 type:QueryRestarted Out Src:tcp/140.239.65.102:-15633 htl:6 depth:23 id:1f6d7522f9041601 type:InsertRequest In Dst:tcp/140.239.65.102:19114 htl:3 depth:26 id:1f6d7522f9041601 type:InsertRequest Out Dst:tcp/140.239.65.102:-15633 htl:5 depth:0 id:1f6d7522f9041601 type:RequestFailed Out Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 type:QueryRestarted Out Src:tcp/140.239.65.102:19114 htl:2 depth:0 id:1f6d7522f9041601 type:RequestFailed In Dst:tcp/208.35.70.25:19114 htl:2 depth:26 id:1f6d7522f9041601 type:InsertRequest Out Dst:tcp/216.121.191.70:800 htl:1 depth:26 id:1f6d7522f9041601 type:InsertRequest Out Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 type:QueryRestarted Out Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 type:InsertReply Out Src:tcp/208.35.70.25:19114 htl:1 depth:0 id:1f6d7522f9041601 type:RequestFailed In Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 type:InsertReply Out Src:tcp/129.116.44.244:4865 htl:25 depth:1 id:1f6d7522f9041601 type:InsertReply In Dst:tcp/129.116.44.244:4865 htl:24 depth:2 id:1f6d7522f9041601 type:InsertReply Out Src:tcp/129.116.44.244:4865 htl:23 depth:3 id:1f6d7522f9041601 type:InsertReply In Dst:tcp/129.116.44.244:4865 htl:22 depth:4 id:1f6d7522f9041601 type:InsertReply Out Src:tcp/129.116.44.244:4865 htl:21 depth:5 id:1f6d7522f9041601 type:InsertReply In Dst:tcp/129.116.44.244:4865 htl:20 depth:6 id:1f6d7522f9041601 type:InsertReply Out Src:tcp/129.116.44.244:4865 htl:19 depth:7 id:1f6d7522f9041601 type:InsertReply In Dst:tcp/129.116.44.244:4865 htl:18 depth:8 id:1f6d7522f9041601 type:InsertReply Out This went on until htl counted down to zero. I think what happened here is that I sent two InsertReplies when I should only have sent one. The first happened when htl counted down to zero on my attempts to send out InsertRequest (most nodes in the list are broken now). I sent another InsertReply apparently in response to a RequestFailed, which I shouldn't have done sense I already sent one. For some reason the original requesting node echoed it back to me. This is probably happening in its Message:sendBack; I think the first InsertReply changed the MessageMemory fields so that sendBack now sends it back to me. Then I send it back to him, and we dance until dark. Hopefully this will suggest some bug fixes, or I can look at it some more later... Hal _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
