Page 1 of 1

Hashfails on verify after completed torrent

Posted: Fri Dec 28, 2012 6:28 pm
by Moinois
Hi,

I'm a bit puzzled here because what I've come to understand is that all the hash checksums are validated during download which means that after a completed download there shouldn't be a need to again validate the hashes, right? Why can I then get several hashfails after a "successful" download when I validate the downloaded torrent?

When I look at the stats for the torrent it looks like this:

Code: Select all

TRANSFER
  State: Seeding
  Percent Done: 100%
  ETA: 0 seconds
  Download Speed: 0 kB/s
  Upload Speed: 0 kB/s
  Have: 19.51 GB (19.51 GB verified)    <--- Seems OK
  Availability: 100%
  Total size: 19.51 GB (19.51 GB wanted)
  Downloaded: 39.70 GB
  Uploaded: 16.52 GB
  Ratio: 0.41
  Corrupt DL: 9.70 GB    <--- A lot of hash fails
  Peers: connected to 1, uploading to 1, downloading from 0
So it seems all good, right? Even if there has been a tremendous amount of hashfails. Then I issue a verification of the downloaded torrent and after it's done the stats looks like this instead:

Code: Select all

TRANSFER
  State: Idle
  Percent Done: 91.4%    <--- Huh?!
  ETA: 0 seconds
  Download Speed: 0 kB/s
  Upload Speed: 0 kB/s
  Have: 17.83 GB (17.83 GB verified)    <--- Apparently not all was good!
  Availability: 100%
  Total size: 19.51 GB (19.51 GB wanted)
  Downloaded: 39.70 GB
  Uploaded: 16.52 GB
  Ratio: 0.41
  Corrupt DL: 9.70 GB   <---- Still the same amount of hashfails of course.
  Peers: connected to 28, uploading to 0, downloading from 0
And since it isn't done it starts to download once more. And this continues over and over again. It seems as if it gets the right pieces every now and then though:

Code: Select all

TRANSFER
  State: Idle
  Percent Done: 92.1%      <---- A little more has been downloaded
  ETA: 0 seconds
  Download Speed: 0 kB/s
  Upload Speed: 0 kB/s
  Have: 17.99 GB (17.99 GB verified)
  Availability: 100%
  Total size: 19.51 GB (19.51 GB wanted)
  Downloaded: 41.40 GB
  Uploaded: 16.52 GB
  Ratio: 0.39
  Corrupt DL: 9.70 GB   <-- It seems as if no hash fails was recorded during download
  Peers: connected to 20, uploading to 0, downloading from 0
If it would be someone poisoning the torrent I would expect to see a lot of hashfails, but only during download. When the file is reported complete the verification stage should just validate that it is all good, right?

Is it Transmission that is calculating the hashes incorrectly during download, while verifying the entire torrent or what can it be? Any theories or comments?

I'm running this on Ubuntu 12.04 / Transmission-daemon 2.51 (13280) connecting from Windows 7 with Transmission remote GUI 4.1 (if that is of any use)

Re: Hashfails on verify after completed torrent

Posted: Sat Dec 29, 2012 9:38 pm
by Moinois
I have done some further investigations.
I added the .torrent file to µTorrent 2.2.1 to let it verify the data that I have and it also complained about corrupt pieces, but after it downloaded them a second validation showed that the download now was complete. So I let Transmission validate the download too and it also reported the download to be complete!
I have done this to two different torrents and after letting µTorrent validate and download the missing pieces Transmissions validation was passed as well.

I don't know why this is happening, all I can see is that repeated tries to download the corrupt pieces with Transmission failed, but once I downloaded them with µTorrent they downloaded just fine and was validated with Transmission as well.

Any guesses of why this is happening?

Re: Hashfails on verify after completed torrent

Posted: Mon Dec 31, 2012 2:41 pm
by cfpp2p
Moinois,

Can you compile and run transmission 2.73 and/or 2.75 for your setup? and test either or both of those? Or perhaps you can get an pre published version for your Ubuntu system; 2.74 I think is out there for Ubuntu (as 2.75 has only a Mac change). The verify issue you complain of I've seen once before, but I can't remember other than it was some compile issue. Let me know.