Jump to content

Something really strange happened here (after defrag)


Winlost

Recommended Posts

First, let me say I have two drives (using NTFS):

C: - using Truecrypt in WDE mode. It's encrypted. UTorrent 1.8.4 is running on this disc

D: Second SATA drive, also Samsung 750 GB. The files are stored here.

UTorrent is set to disksio_sparse_files = true. That's the only thing I changed, because I didn't wanted to reserve the total torrent size.

Now, how everything happened:

I use to download some really large files, most of them with the size of uncompressed discs, with 10-30 (sometimes even 40 GB). Sometimes I remove those files from both drives, moving them to my external drives. I didn't used defrag for quite some time.

HDTune reported both drives are in perfect health (before someone asks). Both drives are one year old at best (despite being used 24/7). Never had any problems before.

Yesterday I decided to use defrag on the non-encrypted drive. Since Windows XP SP3 (and C:\ - the system encrypted drive (whole partition/disc was encrypted) was being used, I have choosen to defrag the D: drive, where some other large files were being downloaded and were already stored. Some others were being seeded by UTorrent, which means they were 100% downloaded.

After the defrag was used, I continued using Windows for at least 6 hours. Then I restarted the system. Chkdsk pops up, and starts scanning my D: drive (and only the D: drive, the one I used defrag). It says that a lot of files were corrected (something about orphan segments or related stuff).

In the end, it says 0 KB are damaged, but it stays at least 2 minutes showing a lot of lines being corrected. It didn't said that the disc was damaged or that something else was wrong in terms of non recoverable data. But it looked like defrag did something strange, because Chkdsk never showed up on reboot, and when that happens, even if you don't know anything that happened, you bet some shit happened.

UTorrent was restarted, and said at least for 3 or 4 different files (that I didn't even finished downloading) that some files were missing (WTF? missing? they didn't go anywhere!). Then I removed the torrent from the list and downloaded again (the .torrent file), making sure UTorrent will check the folder I saved those same files specified by the .torrent (the previous downloaded files), seed them, and only download those files who are not in the drive (or those who are incomplete).

That's when I was very surprised to see that my 35 GB download had only 1 GB or less downloaded now. Some files that I had downloaded 100% (and were not even being seeded or in UTorrent's list, not even as "Stopped") now had 98% completed.

But if you go to that folder, you will see that each file is reported as having 100% of the original size. The folder also matches the total size of that torrent.

******************************************************************

For example:

* Torrent Already completed (and removed from the list).

Let's call that torrent: "Ubuntu", and let's say that torrent has 38 GB of size.

I was about to remove those files from my internal Hard Drive and move them to my external one. It was not even being seeded - I seeded days ago, then I removed from UTorrent program, it was shared long enough. And MORE THAN THAT, IT WAS 100% COMPLETED AND I HAVE FINISHED DOWNLOADING!

Some files have 5 GB of size, others have 1 GB. Total files from Ubuntu folder: 30. One of the files had 20 GB or even more.

file001 has 5 GB of size.

file 002 has 500 MB of size

Etc. etc.

Windows reports their total size (file001 with 5 GB, etc.), and says the folder is 38 GB.

Fine.

But if I download the UBuntu torrent again, it will say that:

file001 has 5 GB of size. You have downloaded 4.57 GB. It's not 100% completed.

Ubuntu torrent has 38 GB of size. You have downloaded 13 GB. 25 GB are missing.

Downloading at 100 KB/s...

What the heck is going on???????????????

Did the defrag corrupted only a small part of those files? Then why Windows reports they are using/have their total size, and more important, how come UTorrent can continue saving those files (overwriting themselves), and we can't see any change in their size and the last date they were modified?

Unfortunatelly I don't have a way to compare the checksum from the downloaded files (their fingerprints/MD5 taken by the original uploaders), but if UTorrent reports when attempts to save the same torrent in the same folder previously used that only half was downloaded (or less), what should we do? Delete the whole thing/folder or continue saving the rest, even if Windows reports they are 100% downloaded?

I tried to re-seed some torrent removed from the list that I have stopped seeding last week and UTorrent reported the file was 100% completed and started seeding (that indicates DEFRAG didn't harmed all files from the D: drive). Now I am affraid more releases were corrupted. Can UTorrent say for sure which one is corrupted or not, by the checksum of each file?

Note: I also had the same issue with one external drive once, and some files, even corrupted, stayed with the original size. Others were reduced to 0 KB. I know that if Windows reports that a file still have the original size, it doesn't mean it's not corrupted and the hash was not changed. But what I can't figure out is why it's half-corrupted.

A "half-corrupted file" (since UTorrent says that only a part of them was downloaded) it's a new discovery for me. I thought that if a file is corrupted, it's 100% corrupted and invalid, isn't?

And Windows reporting that all files are there with their original sizes, even after UTorrent apparently overwritted them doesn't make sense either, considering disksio_sparse_files is set to true.

If you change disksio_sparse_files to true, UTorrent will not waste 38 GB if only 1 GB is downloaded. It will save each file little by little, until completes 38 GB. That means a 1 GB file can be displayed as having 5 MB downloaded, if you only downloaded 5 MB, never showed as having 1 GB. Unless this setting was messed and I didn't know about it.

********

EDIT: This is the CHKDSK report I retrieved this night after looking Windows events (translated):

It is necessary to verify the consistency of the disks. You

may cancel the disk check, but it is highly recommended

continue.

Windows will now check the disk.

The record type attribute of 0x80 and 0x0 Marking instance is a cross-reference

started in 0x4b59dba to possibly 0x400 clusters.

The record type attribute of 0x80 and 0x0 Marking instance is a cross-reference

started in 0x4b59dba to possibly 0x400 clusters.

Some clusters occupied by attribute of type 0x80 and instance Marking 0x0

0xfe9d the file already in use.

The attribute of type 0x80 and 0x0 Marking instance in the 0xfe9d

has allocated size of 0x4f2b40000 instead of 0x46f390000.

Except for the entry list of attributes damaged

with type code 128 in the 65,181.

Can not find the attribute with instance Marking 0x0 and reference

0x4000000000f5b segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 3931.

Can not find the attribute with instance Marking 0x0 and reference

0x1500000000dd76 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 56,694.

Can not find the attribute with instance Marking 0x0 and reference

0x2000000000de63 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 56,931.

Can not find the attribute with instance Marking 0x0 and reference

0xb00000000e0da segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 57,562.

Can not find the attribute with instance Marking 0x0 and reference

0x1800000000e188 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 57,736.

Can not find the attribute with instance Marking 0x0 and reference

0x1e00000000e1fd segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 57,853.

Can not find the attribute with instance Marking 0x0 and reference

0x2100000000e206 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 57,862.

Can not find the attribute with instance Marking 0x0 and reference

0x1700000000e295 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,005.

Can not find the attribute with instance Marking 0x0 and reference

0x1800000000e29e segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,014.

Can not find the attribute with instance Marking 0x0 and reference

0x2300000000e41e segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,398.

Can not find the attribute with instance Marking 0x0 and reference

0x1800000000e434 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,420.

Can not find the attribute with instance Marking 0x0 and reference

0x1a00000000e44c segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,444.

Can not find the attribute with instance Marking 0x0 and reference

0x2100000000e455 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,453.

Can not find the attribute with instance Marking 0x0 and reference

0x1b00000000e495 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,517.

Can not find the attribute with instance Marking 0x0 and reference

0x1300000000e49e segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,526.

Can not find the attribute with instance Marking 0x0 and reference

0x1500000000e4a1 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,529.

Can not find the attribute with instance Marking 0x0 and reference

0x1600000000e4a9 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,537.

Can not find the attribute with instance Marking 0x0 and reference

0x1400000000e62f segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,927.

Can not find the attribute with instance Marking 0x0 and reference

0x1500000000e63b segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,939.

Can not find the attribute with instance Marking 0x0 and reference

0x1d00000000e64a segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,954.

Can not find the attribute with instance Marking 0x0 and reference

0x1d00000000e64d segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,957.

Can not find the attribute with instance Marking 0x0 and reference

0x1f00000000e655 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 58,965.

Can not find the attribute with instance Marking 0x0 and reference

0x1400000000efef segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,423.

Can not find the attribute with instance Marking 0x0 and reference

0x4300000000f04a segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,514.

Can not find the attribute with instance Marking 0x0 and reference

0x1600000000f05e segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,534.

Can not find the attribute with instance Marking 0x0 and reference

0x4600000000f0a3 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,603.

Can not find the attribute with instance Marking 0x0 and reference

0x1d00000000f0ba segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,626.

Can not find the attribute with instance Marking 0x0 and reference

0x1f00000000f0bd segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,629.

Can not find the attribute with instance Marking 0x0 and reference

0x2000000000f0c2 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,634.

Can not find the attribute with instance Marking 0x0 and reference

0x3700000000f0d2 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,650.

Can not find the attribute with instance Marking 0x0 and reference

0x1c00000000f0d5 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,653.

Can not find the attribute with instance Marking 0x0 and reference

0x1a00000000f0d7 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,655.

Can not find the attribute with instance Marking 0x0 and reference

0x1100000000f1a8 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,864.

Can not find the attribute with instance Marking 0x0 and reference

0xf00000000f1b5 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,877.

Can not find the attribute with instance Marking 0x0 and reference

0xe00000000f1e1 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,921.

Can not find the attribute with instance Marking 0x0 and reference

0x1200000000f1e9 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,929.

Can not find the attribute with instance Marking 0x0 and reference

0xd00000000f20a segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 61,962.

Can not find the attribute with instance Marking 0x0 and reference

0xd00000000f253 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,035.

Can not find the attribute with instance Marking 0x0 and reference

0xf00000000f259 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,041.

Can not find the attribute with instance Marking 0x0 and reference

0xf00000000f262 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,050.

Can not find the attribute with instance Marking 0x0 and reference

0xe00000000f271 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,065.

Can not find the attribute with instance Marking 0x0 and reference

0xd00000000f276 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,070.

Can not find the attribute with instance Marking 0x0 and reference

0x1100000000f277 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,071.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f30d segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,221.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f312 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,226.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f313 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,227.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f317 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,231.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f319 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,233.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f31a segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,234.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f321 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,241.

Can not find the attribute with instance Marking 0x0 and reference

0xb00000000f326 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,246.

Can not find the attribute with instance Marking 0x0 and reference

0xb00000000f34d segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,285.

Can not find the attribute with instance Marking 0x0 and reference

0xc00000000f352 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,290.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f355 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,293.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f357 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,295.

Can not find the attribute with instance Marking 0x0 and reference

0xb00000000f35a segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,298.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f35b segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,299.

Can not find the attribute with instance Marking 0x0 and reference

0xa00000000f36a segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,314.

Can not find the attribute with instance Marking 0x0 and reference

0x900000000f374 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,324.

Can not find the attribute with instance Marking 0x0 and reference

0x900000000f37f segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,335.

Can not find the attribute with instance Marking 0x0 and reference

0x900000000f382 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,338.

Can not find the attribute with instance Marking 0x0 and reference

0x900000000f387 segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,343.

Can not find the attribute with instance Marking 0x0 and reference

0x1000000000f39f segment. The expected attribute type is 0x80.

Deleting corrupt attribute record (128, "")

segment file record 62,367.

Can not find the attribute with instance Marking 0x0 and reference

0x900000000f3ec segment. The expected attribute type is 0x80.

For more information, visit the Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

This "little check" simply made me lost at least 50-100 GB of data. Fortunatelly, it was nothing I can't recover (one of them was almost done, now I am out of luck because it will take forever).

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...