Page 1 of 3

Force Recheck is missing one file consistently

Posted: Thu Mar 20, 2014 4:11 am
by pelvis
I'm in the process of migrating from uTorrent and so I set qBittorent to automatically add .torrents from uTorrent's appdata folder. 

The problem is that when I recheck these torrents, a single file will be completely missed. 
Image

It isn't some fluke that happens with only one torrent either, it's happening with 80-90% of all my torrents.  I can understand why it might miss some kilobytes of data, but I really don't understand how entire files are being skipped.

Re: Force Recheck is missing one file consistently

Posted: Thu Mar 20, 2014 10:55 am
by sledgehammer_999
Are you really sure that "TEXHNOLYZE_VOL6.ISO" really exists? It has to have the EXACT name in the path. no .!ut file extension or other renaming artifacts.
If you force recheck the same torrent in utorrent(after importing in qbt) does it still checkout out 100%?

Re: Force Recheck is missing one file consistently

Posted: Sat Mar 22, 2014 10:51 am
by pelvis
I'm positive the files exist.  Like I said, it's not just happening with this one particular torrent, it happened to the majority of the multi-file torrents I imported.  uTorrent checks 100% every time. 

I suppose I "fixed" the issue by just redownloading the files that weren't being picked up at the cost of some private tracker buffer, though it's still something to look into.  It might have something to do with how qBittorrent handles importing large amounts of torrents at once, I noticed a lot of stability issues when doing that.

Re: Force Recheck is missing one file consistently

Posted: Fri Jul 04, 2014 12:31 pm
by ollie2012
hello, i am curious about this issue....

when you have multiple files in a single torrent, and you choose to download ONLY some files, utorrent stores the "cross files" in cache and wont complete the actual single files

SO when you move the files elsewhere and and try to recheck, the files are not actually completely downloaded.

Hence you see missing pieces....

I know this is for file integrity but most clients now do a force recheck anyways.

Has qBittorent been able to download single files completely?

Re: Force Recheck is missing one file consistently

Posted: Fri Jul 04, 2014 3:26 pm
by ciaobaby
SO when you move the files elsewhere and and try to recheck, the files are not actually completely downloaded.
That would entirely depend on HOW you 'move the files'.

File managers such as Windows Explorer do NOT 'care' about the actual binary code that constitutes a 'file'

BitTorrent clients don't 'care' about the arbitrary boundaries of a specific 'file'.

If you move a 'file' from the block of data that makes up a torrent payload YOU have 'broken' the payload, it is NOT the fault of the client, it is NOT a 'bug', it is NOT a shortcoming of the BitTorrent protocol, it is simply you not understanding of how the bittorrent protocol and thinking that because it lists 'files' it must be 'files'.

Has qBittorent been able to download single files completely?
Of course, if it couldn't, it would not have got 'off the starting blocks' never mind gained a sizeable user base.

Re: Force Recheck is missing one file consistently

Posted: Fri Jul 04, 2014 4:10 pm
by ollie2012
OK THAT makes little to no sense......bittorent clients see the files like explorer does and we do.

When the client makes a forced recheck, it checks for the integrity of the files. Now what utorrent seems to be doing is storing the cross-file pieces in a temp file ~.dat......when the total torrent is complete that temp file is deleted.

Now when I skip files in a torrent, the cross-file pieces are stored in that temp file and NEVER actually complete the single file download.....SO if i delete that temp file ALL the cross-file pieces go Kaput and I have incomplete files....

Have i got it correct?

NB. some of the files appear complete, eg a txt file you can read it in a text editor, but utorrent reads it as incomplete anyways?

Re: Force Recheck is missing one file consistently

Posted: Fri Jul 04, 2014 7:29 pm
by ciaobaby
OK THAT makes little to no sense......bittorent clients see the files like explorer does and we do.
No it doesn't BitTorrent clients handle pieces which are equally sized blocks of binary data, that, when downloaded and reassembled in the correct order make up a series of what you can see as 'files'.

http://lifehacker.com/285489/a-beginner ... bittorrent (Read the "How does it work?" bit)
Or the protocol specification .. https://wiki.theory.org/BitTorrentSpecification
eg a txt file you can read it in a text editor
Just because it can be 'opened and read' does not mean that it is totally and utterly complete as in "binary" complete, text files can have bytes missing and still be 'usable'.

Re: Force Recheck is missing one file consistently

Posted: Fri Jul 04, 2014 7:34 pm
by ollie2012
well bittorrent s then useless on large torrents with multiple singles files, when you just wanna download a few files not the whole torrent

Re: Force Recheck is missing one file consistently

Posted: Fri Jul 04, 2014 7:49 pm
by ciaobaby
It works fine for me, and for many, many others judging by the lack of complaints generally regarding such problems.

Re: Force Recheck is missing one file consistently

Posted: Sat Jul 05, 2014 12:55 am
by ollie2012
i think because people dont KNOW the problem, for instance if you download a few songs in an album or the first disc in a two disc movie set......the partial downloaded files will play BUT they are incomplete

Re: Force Recheck is missing one file consistently

Posted: Sat Jul 05, 2014 9:01 am
by ciaobaby
You are way, way, way off the mark. Whatever 'files' you mark to be downloaded WILL BE downloaded entirely and reconstructed in EXACTLY the same order as they were on torrent creation. If you can run a "force recheck" on the payload and it runs to 100% of the content you downloaded, the payload you have downloaded is an EXACT replica of the original payload. Any file that is not intact in the payload that you receive, did NOT start off as intact.

Audio files and most video files will start to play provided that the file headers are present and intact, even if there are "gaps" in the data.

Re: Force Recheck is missing one file consistently

Posted: Sat Jul 05, 2014 6:24 pm
by ollie2012
now you have confused me!!!

Lets say i have a torrent of 5 files and i only want to download JUST 2x files.........

For utorrent, i downloaded the two files and run a force recheck, the client will list them as 100%...but when i delete the temp file ~.dat....and force a recheck the files will come up to be 99.9%....or less

in other words, utorrent stores the cross file pieces in the temp file and wont flush it out to the individual files.

From your other post, you seem to think that if you download the largest file then it may have all the crossfile pieces? but how do i force the client to force the pieces to files on disk !!!

Re: Force Recheck is missing one file consistently

Posted: Sat Jul 05, 2014 7:49 pm
by sledgehammer_999
The qbt behavior is almost the same except there is no crosspiece file. qbt creates a hidden folder named ".unwanted" in the save path. There it stores the unchecked files that share a piece with the shared files. If you force a recheck everything should show 100%. If you delete the ".unwanted" folder and force recheck you should see something less than 100%.

PS: I intend to remove the ".unwanted" folder functionality for 3.2.0. Instead incomplete files will be dumped in the save path. If the user wants to differentiate between complete and incomplete files then he should enable the ".!qB" file extension for incomplete torrents in the settings.

Re: Force Recheck is missing one file consistently

Posted: Sat Jul 05, 2014 8:39 pm
by ciaobaby
Of course it will, because you just deleted part of the payload that is required by the bittorrent client.
in other words, utorrent stores the cross file pieces in the temp file and wont flush it out to the individual files
ALL bittorrent clients do, uTorrent uses a file called utPartFilexxx.dat qBT uses a folder called .unwanted
Windows explorer does not need or use the "unwanted" data because that 'belongs' to a file that isn't there.
From your other post, you seem to think that if you download the largest file then it may have all the crossfile pieces? but how do i force the client to force the pieces to files on disk !!!
That's not what I said, and it is nothing to do with what you download, but how the torrent was created.

For the sake of this hypothetical scenario the payload has 15 files in a 692MiB payload, piece size 1MiB (692 pieces total)

In the default size order;
File 7 is 650MiB so occupies P0 to P649
File 4 is 10 MiB so is in P650 - P659
files 3,5,6 & 8 are 5.5MiB each so are in P660  to P681 (22 pieces)
file 1 is 1.5 MiB so needs 1.5 pieces P681 to P682
file 9 is 1.2 MiB so need the other half of plus a bit more, so P682 and P683
file 2 is 1.0 MiB so uses P683 and P684
the rest of the files range from 600kiB to 20kiB so are spread across P684 to P691 (I'll let you do the maths)

Now if you WANT file 9 but NOT file 2 P683 still has to be downloaded so HAS to be saved somewhere.to complete the binary structure. and if you re-arrange the files in name order and work out what pieces the occupy, you WILL see how the cross-file scenario gets MUCH worse.

Re: Force Recheck is missing one file consistently

Posted: Mon Jul 07, 2014 5:09 pm
by ollie2012
As i said, the payload is payload, it s downloaded, why store it in a temp space when you can just flush it out to disk...the downloaded file then becomes storage for the cross-pieces that you dont need to download again !!