Minor bug; takes an hour to reproduce
It seems like there’s a subtle bug in GNU Classpath CVS, which manifests when running Azureus: downloading torrents works great, and fast, but when the file’s completely downloaded, the torrent starts over again, so it starts downloading from 0% again! Something done at the end of the download seems to fail, and the download has to start over.
This happens on both Linux and OS X, so it’s pretty fundamental. There’s little doubt that I’ve introduced this, in the NIO changes.
Edit: It’s failing because “Piece #3 failed final re-check. Re-downloading…” So, something screwy is going on with how file checks are done. This could be anything from a crypto problem to a file IO problem, to even a collections issue (unlikely, but maybe).
And, since Azureus looks like it was written by a horde of monkeys on crack and LSD, debugging this is going to be interesting.
Edit: dear lazyweb, do you know of a small file that is distributed (legally) over Bittorrent? Ideally, there should be a seed or two, as well. Downloading an Ubuntu CD image over and over isn’t very productive.
Edit: I’ve been able to confirm, at least, that it isn’t a problem with downloading files — if I turn off the final piece check, the download completes, and the file gets downloaded completely (verified with MD5). I’m still not sure why this failure happens, though, because even after fixing some issues with EINTR and file IO, it still happens.

Loading...