Jump to content

Some allegedly complete files still miss headers


Grasso

Recommended Posts

Hi,

I have some partially downloaded torrents which already contain some complete files or files which contain at least the beginning. The bug is that some of these files begin with garbage. There seems to be no rule for this corruption -- some files are, some are not. When I start seeding the torrent then all its contents have straightened.

Thank you,

Grasso

Link to comment
Share on other sites

Wait, where in the BitTorrent protocol spec does it say that data needs to be written out immediately? Rhetorical question; the answer is obviously "it doesn't."

Your expectations do not define the spec. If you'd like µTorrent to write complete pieces out immediately, then enable the relevant option in the cache settings.

Link to comment
Share on other sites

When the client informs the user (for instance by the graphical download ribbon) that it has downloaded a piece of a torrent then it should save it at last when it shuts down. Sometimes utorrent does so, sometimes it does not. What else should it do with it, lend it to its little sister? Even though you do not have my motives this program behaviour should bother you because it points to a certain code bug. Fair sport!

Link to comment
Share on other sites

It's called cached writing.

As for writing complete pieces on shutdown, it does do that. If it didn't, you can bet that there would have been tons of people complaining about files being corrupt. You're going to need to keep close in mind that pieces are shared between files, and that some pieces may end one file and begin another -- sometimes even beginning only the first byte of a new file. So just because a file's first piece is downloaded doesn't mean an entire piece size's worth of data has been received for the file.

Finally, regarding the progress bar... the Files tab's progress bars do indicate when a piece has been written to disk. Blue means the piece has been downloaded and written to disk.

Link to comment
Share on other sites

A certain torrent consists of two files. All of the few missing pieces are in the middle of the big file. On double-click utorrent hands it over to the viewer program which fails to render it. The small, complete file contains garbage. When I was yet a weak peer for this torrent then the header of the big file was there.

Link to comment
Share on other sites

- Middle of the large file is missing? What does that have to do with any file header? And just because you may have the beginning/end of a file doesn't necessarily mean the file is ready to be used. Not all file formats necessarily rely only on the beginning of the file being present to be previewable.

- The small file is complete... Is the progress bar completely blue for the file in the Files tab?

Link to comment
Share on other sites

- The small file is complete... Is the progress bar completely blue for the file in the Files tab?

Yes. Yet I cannot use it because it contains garbage. This has happened with so many files for so long a time. Even if I now mark the big file as "do not download / skip" then the small file still is not good.

- Middle of the large file is missing? What does that have to do with any file header?

It explains why I am not a seeder yet but already have the header and would like to preview the file.

And just because you may have the beginning/end of a file doesn't necessarily mean the file is ready to be used. Not all file formats necessarily rely only on the beginning of the file being present to be previewable.

Right, but multimedia files usually have a header followed by the data stream which is studded by synchronization marks such as key frames.

Link to comment
Share on other sites

Microsoft Windows XP [Version 5.1.2600]

Preallocation false

Compact allocation false

Use_partfile true

Name Description Company Name Version

ACTIVEDS.dll ADs Router-Ebene-DLL Microsoft Corporation 5.01.2600.2180

adsldpc.dll DLL für ADs LDAP Provider C Microsoft Corporation 5.01.2600.2180

ADVAPI32.dll Erweitertes Windows 32 Base-API Microsoft Corporation 5.01.2600.2180

ATL.DLL ATL Module for Windows XP (Unicode) Microsoft Corporation 3.05.2284.0000

CLBCATQ.DLL Microsoft Corporation 2001.12.4414.0308

COMCTL32.dll User Experience Controls Library Microsoft Corporation 6.00.2900.2982

comdlg32.dll DLL für gemeinsame Dialoge Microsoft Corporation 6.00.2900.2180

COMRes.dll Microsoft Corporation 2001.12.4414.0258

ctype.nls

DnsApi.dll DNS Client API DLL Microsoft Corporation 5.01.2600.2938

GDI32.dll GDI Client DLL Microsoft Corporation 5.01.2600.3099

hnetcfg.dll Heimnetzwerkkonfigurations-Manager Microsoft Corporation 5.01.2600.2180

IMM32.DLL Windows XP IMM32 API Client DLL Microsoft Corporation 5.01.2600.2180

Iphlpapi.dll IP-Hilfs-API Microsoft Corporation 5.01.2600.2912

kernel32.dll Client-DLL für Windows NT-Basis-API Microsoft Corporation 5.01.2600.3119

locale.nls

MPRAPI.dll Windows NT MP Router Administration DLL Microsoft Corporation 5.01.2600.2180

MSCTF.dll MSCTF-Server-DLL Microsoft Corporation 5.01.2600.2180

msctfime.ime Microsoft Text Frame Work Service IME Microsoft Corporation 5.01.2600.2180

msvcrt.dll Windows NT CRT DLL Microsoft Corporation 7.00.2600.2180

mswsock.dll Microsoft Windows Sockets 2.0-Dienstanbieter Microsoft Corporation 5.01.2600.2180

netapi32.dll Net Win32 API DLL Microsoft Corporation 5.01.2600.2976

ntdll.dll DLL für NT-Layer Microsoft Corporation 5.01.2600.2180

ole32.dll Microsoft OLE für Windows Microsoft Corporation 5.01.2600.2726

oleaut32.dll Microsoft Corporation 5.01.2600.2180

psapi.dll Process Status Helper Microsoft Corporation 5.01.2600.2180

rasadhlp.dll Remote Access AutoDial Helper Microsoft Corporation 5.01.2600.2938

RPCRT4.dll Remote Procedure Call Runtime Microsoft Corporation 5.01.2600.2180

rsaenh.dll Microsoft Enhanced Cryptographic Provider Microsoft Corporation 5.01.2600.2161

rtutils.dll Routing Utilities Microsoft Corporation 5.01.2600.2180

SAMLIB.dll SAM Library DLL Microsoft Corporation 5.01.2600.2180

Secur32.dll Security Support Provider Interface Microsoft Corporation 5.01.2600.2180

SETUPAPI.dll Windows Setup-API Microsoft Corporation 5.01.2600.2180

SHELL32.dll Allgemeine Windows-Shell-DLL Microsoft Corporation 6.00.2900.3051

shfolder.dll Shell Folder Service Microsoft Corporation 6.00.2900.2180

SHLWAPI.dll Shell Light-weight Utility Library Microsoft Corporation 6.00.2900.2995

sortkey.nls

sorttbls.nls

unicode.nls

USER32.dll Client-DLL für Windows XP USER-API Microsoft Corporation 5.01.2600.3099

USERENV.dll Userenv Microsoft Corporation 5.01.2600.2180

utorrent.exe µTorrent BitTorrent, Inc. 1.08.0001.12639

UxTheme.dll Microsoft UxTheme-Bibliothek Microsoft Corporation 6.00.2900.2180

VERSION.dll Version Checking and File Installation Libraries Microsoft Corporation 5.01.2600.2180

WLDAP32.dll Win32 LDAP-API-DLL Microsoft Corporation 5.01.2600.2180

WS2_32.dll Windows Socket 2.0 32-Bit DLL Microsoft Corporation 5.01.2600.2180

WS2HELP.dll Windows Socket 2.0 Helper für Windows NT Microsoft Corporation 5.01.2600.2180

wshtcpip.dll Windows Sockets Helper DLL Microsoft Corporation 5.01.2600.2180

Link to comment
Share on other sites

You are welcome! Aha, cmd ver does not cut it so I must click and type the following:

Windows XP

Home Edition

Version 2002

Service Pack 2

I use utorrent 1.8.1. I disabled bypassing of OS disk cache and turned R/W cache of utorrent on already earlier since I do not want to tickle the harddisk with the data bits dripping from the dial-up connection. But the interim data corruption problem exists since I use utorrent, I guess that was v1.4.

Link to comment
Share on other sites

Definitely odd... and not working as it should... when uT says it's done, it's done. Even if you selectively downloaded. Even if you have the data but set the files to SKIP in the Files tab. Unless you have incompatible software. I can understand the desire for minimal hard drive stress... and on dialup (I'm sorry :( ) but it really doesn't make much difference. The best you can get is writing finished data out at a set interval instead of immediately (think 2x a minute) and to dump partial data to disk every 2 minutes. Could you list/show your full Disk Cache pane as-is right now?

Additionally posting a HiJackThis logfile to see if anything else seems to pop out on your configuration... Sorry I don't have helpful news.

Link to comment
Share on other sites

Well I get those errors on another computer with Win98 and uT v1.75, too.

Thank you for the disk cache support! There occurs a peak read (1/5 of a read, certainly a quantum read) every two seconds averaged. I would like to see utorrent read complete pieces. On the other hand who knows what a harddisk really likes?

Link to comment
Share on other sites

Drive spin up/down cycles are the main shorteners of hard drive lifespans :P

This certainly seems odd to me. I have never, ever had any problems using a file immediately after it has been completed and (reportedly) written to disk.

More than just the DLL list, can you also post a full Process Explorer process list in addition to a HijackThis log? Thanks. Would you mind posting your current disk cache settings as well (screenshot, preferrably)?

Link to comment
Share on other sites

I remember to remember that someone else asked the same questions some time ago but you rather doubted his integrity than your own. But I am patient.

I set the big file within the two-file torrent I told you about earlier to "skip", quit utorrent, deleted the small file, re-started utorrent and let it re-check. It fetched the piece and saved the small file which again contains the same few bytes of garbage instead of the 22KB of text it should.

Link to comment
Share on other sites

O.k., here it goes:

Process PID CPU Description Company Name

System Idle Process 0 93.85

Interrupts n/a Hardware Interrupts

DPCs n/a Deferred Procedure Calls

System 4

smss.exe 512 Windows NT-Sitzungs-Manager Microsoft Corporation

csrss.exe 560 Client Server Runtime Process Microsoft Corporation

winlogon.exe 588 Windows NT-Anmeldung Microsoft Corporation

services.exe 632 Anwendung für Dienste und Controller Microsoft Corporation

ati2evxx.exe 804 ATI External Event Utility EXE Module ATI Technologies Inc.

svchost.exe 820 Generic Host Process for Win32 Services Microsoft Corporation

wmiprvse.exe 1824 WMI Microsoft Corporation

svchost.exe 896 Generic Host Process for Win32 Services Microsoft Corporation

svchost.exe 948 Generic Host Process for Win32 Services Microsoft Corporation

svchost.exe 1008 Generic Host Process for Win32 Services Microsoft Corporation

svchost.exe 1036 Generic Host Process for Win32 Services Microsoft Corporation

spoolsv.exe 1092 Spooler SubSystem App Microsoft Corporation

svchost.exe 1256 Generic Host Process for Win32 Services Microsoft Corporation

lsass.exe 644 LSA Shell (Export Version) Microsoft Corporation

ati2evxx.exe 1652 ATI External Event Utility EXE Module ATI Technologies Inc.

explorer.exe 1732 Windows Explorer Microsoft Corporation

DRIVES~1.EXE 1948 Nero DriveSpeed Ahead Software AG

ctfmon.exe 1956 CTF Loader Microsoft Corporation

utorrent.exe 1964 1.54 µTorrent BitTorrent, Inc.

mozilla.exe 964 Mozilla Mozilla Foundation

mplayerc.exe 1848 3.08 Media Player Classic Gabest

procexp.exe 1520 1.54 Sysinternals Process Explorer Sysinternals - www.sysinternals.com

I do not like to run HijackThis for another time.

qlpaa8sk.gif

Link to comment
Share on other sites

He already gave his DLL list above, which didn't seem to contain anything suspicious.

@Grasso:

If you'd like µTorrent to write complete pieces out immediately, then enable the relevant option in the cache settings.

"Write out finished pieces immediately" -- enable it.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...