There was a routing bug in the reception (RX) side of the traffic.  A message
sent on IPv4 had its acknowledgment received by the IPv6 RX stack, which of
course was then not recognized and caused retransmission by the IPV4 TX side.

Many thanks to Jeroen Asselman who hinted the correct hypothesis to a problem
I was fighting on an IPv4-only machine -- which of course did not exhibit the
symptoms, leading to a wrong debugging angle that kept me puzzled for a while!

(32-bit versus 64-bit, when the problem was IPv4 versus dual v4/v6...)

If you're testing "devel", please upgrade and test.

I'm probably going to release 0.98.4 in the next two weeks to deploy fixes for
grave bugs I encoutered recently whilst working on the semi-reliable UDP layer.

Unfortunately, I've started to see consistent crashes due to a lurking bug in
the xmalloc() code that is still escaping me and causes random crashes.  But
I may spend months tracking this problem and auto-restarting somehow makes the
problem serious, but not critical -- some of the bugs fixed are critical (non-
correctness or wrong semantics).

That xmalloc() bug has been around for about a year, but was never manifesting
itself on my 32-bit machine.  I guess some changes in the allocation patterns
due to the introduction of new code explains why it behaves differently.  So
it will get tracked down eventually, just not now for the release.

Raphael

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
gtk-gnutella-devel mailing list
gtk-gnutella-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to