This bug might only affect 2.3.1 on Linux.
Anyways, it's starting to drive me nuts.
Supposing I'm downloading a RARE 400 MB file, 235 done, 165 to go.
Now I've observed the following:
All sources but one will switch to "No needed parts". This is OK. But now listen:
One lone 2.3.1 client will still let me download, pretending to have more parts of the file than the others have.
Downloading will continue, 235.5, 237.0. 238.5, 240...BUT then from some point, the erroneous parts count will increase and an auto-check will be triggered, causing the the to (repeatedly) fall back to 235.0.
Download will commence again, retry ... and fall back again.
I've noticed this behavior 10 times in a sequence, and the file would never get finished.
And mind you: even if I did upgrade to 2.4.0 (SVN), I might not be able to circumvent this issue because the other side is still using 2.3.1 with the bug still in.
The only (emergency) way out currently is to ban the IP in question via ipfilter_static.dat.