Opened 5 years ago

Last modified 4 years ago

#2443 reopened bug

force recheck corupts data

Reported by: barsiker Owned by:
Priority: major Milestone: not applicable
Component: libtorrent Version: 1.3.11
Keywords: recheck, re-check, force re check Cc:

Description

Win 7 x64.

I have got my downloaded data (folder with FLAC files)

Some time later torrent was updated on the tracker. Data has changed but folder name and file names remains the same.

So when I noticed my existing torrent isn't registered on tracker anymore I added updated torrent to client and did force re-check: client didn't recognize data (no strange it isn't the same!) I did recheck on paused torrent, when I see it isn't the same I canceled download. Since I haven't got original data anymore I've decided stop seeding.

But after re-check was performed FLAC files become corrupted: FLAC_STREAM_DECODER_END_OF_STREAM in tester. Client have chaged existing data somehow while it verified data (maybe it caused with the same filenames) Is this a bag?

The situation I have discribed isn't a single torrent so after I have dig it I do backup folder before re-check but it is inconvenienced I suppose.

Change History (3)

comment:1 Changed 5 years ago by Cas

  • Component changed from other/unknown to libtorrent
  • Milestone changed from Future to not applicable
  • Resolution set to WorksForMe
  • Status changed from new to closed

If anything this would be libtorrent related but recheck itself does not corrupt the data it would simply hash-check all the pieces on disk are correct.

Latest release 1.3.7 now uses 0.16.16 libtorrent so could be fixed there.

comment:2 Changed 4 years ago by matimatik

  • Resolution WorksForMe deleted
  • Status changed from closed to reopened
  • Version changed from 1.3.6 to 1.3.11

(Ubuntu LTS, Deluge from PPA)

There might be some additional conditions, it might even be not the same bug that OP encountered, and it might be indeed an issue with libtorrent, but it just happened to me with one torrent. And I can even reproduce it like this every single time with this torrent:

  1. I put a copy of one of the files into torrent's directory.
  2. I hit re-check.
  3. "Files" tab shows me 0% for that file and file itself brokengets becomes different (with different hash and everything but exactly the same size).

torrent file that gets broken every time

$ cp -v Liberty_12-01.pdf Liberty\ \(1881-1908\)/
‘Liberty_12-01.pdf’ -> ‘Liberty (1881-1908)/Liberty_12-01.pdf’
$ sha1sum Liberty\ \(1881-1908\)/Liberty_12-01.pdf 
d3048198452b52458135e38fda4128948b86e4ab  Liberty (1881-1908)/Liberty_12-01.pdf
$ # Clicking re-check in deluge now
$ sha1sum Liberty\ \(1881-1908\)/Liberty_12-01.pdf 
bafd1e2036298a19a6eecc8b11b46d34a897bc60  Liberty (1881-1908)/Liberty_12-01.pdf
$ 

Assuming you confirm that it's not only my problem, what other info do you need?

comment:3 Changed 4 years ago by matimatik

It probably has something to do with file having the wrong size, now that I think of it. But the fact that it gets changed even for paused torrent(!) and without changing the size(!) it makes me wonder...

Note: See TracTickets for help on using tickets.