Doesn’t µTorrent check hashes?

(February 15, 2007)

These days, I’m preparing my »Linux distributions for beginners« talk I’m going to give at CLT 2007. This means that I download a bunch of distro DVDs, burn them and install Linux from them to see how they behave. Having made some bad experiences with broken HTTP downloads last year, I’m now using BitTorrent exclusively, because it’s extensively checksummed and every broken fragment is downloaded again until it is OK.

It just so happened that I switched to µTorrent a few weeks ago. Before that, I used Azureus, which is written in Java, takes ages to load, eats up quite some resources and crashes at least twice a week. (Yes, you read this correctly: Although it’s written in Java, it crashes. Hard. With a General Protection Fault, in a different module each time. Don’t ask me.) µTorrent solved these problems all at once. Granted, the UI is even more cryptic than Azureus’, but that’s a fair price for stability.

Yesterday, the »distro of the day« should have been openSUSE 10.2. I started the installation, but after 20 minutes, it suddenly complained that the OpenOffice.org package is »not available« on the installation media. The »Details …« button revealed that the integrity check failed. Phew. Anyway, I chose to »Ignore« the problem instead of »Abort«ing the installation, but the installer decided to abort the installation anyway and reverted to the good old SuSE linuxrc text-mode installer. The »check CD« (sic!) option there also confirmed that the DVD was not OK. So I rebooted the machine to look what’s going on. Since the installer killed the GRUB stage2 from my previous Fedora Core 6 installation, I had to type the boot commands by hand (root (hd0,1); chainloader +1; boot … you know the drill) – at least, stage1.5 was intact!

Analysis

There were only three possible reasons for the fault:

  1. a read/write problem with the DVD-R I burned
  2. the ISO I downloaded was broken, because µTorrent messed up
  3. the ISO I downloaded was broken, because the openSUSE guys messed up

To check for reason 1, I ran a MD5 check of the ISO file. (Which I normally won’t do, since BitTorrent ensures correct downloads, doesn’t it?) Indeed, the MD5 sum didn’t match the one specified at the openSUSE website! So the download must have been busted in the first place. Over night, I had my computer download the ISO again – by Azureus this time. And guess what, the MD5 sum was correct this time. So reason 3 was out of the game, too. It’s just that my µTorrent-downloaded file was corrupt.

Now how’s that? I don’t know. Either I just hit the 1-in-18-quintrillion-chance for a transmission error that accidentally matches the original hash, or µTorrent is simply broken. Since I don’t really believe in the former case, I came to the conclusion that the latter must be true. So from now on, I’m downloading my torrents with Azureus again. I’d rather restart the application every third day than having to re-download every third file.

2 Responses to »Doesn’t µTorrent check hashes?«

Post a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Captcha: