Recently I have run into a strange issue on my Windows Vista machine. When copying movie files between my local hard drives the file copy process gets stuck and never completes. The dialogs will remain there forever at the same spot unless you end the explorer.exe process which hosts them or use the Cancel button and then the close box (described further below).
There was a popular Vista file copy problem that was patched a long time ago related to copying from mapped network drives. The problem on my system occurs when copying between hard drives.
I have been trying to troubleshoot the issue and have found a workaround but no solution for the problem so far.
The file copy or move process starts and hangs at a random point within the process. Some files are successfully copied or moved but the rest of the operation will never be completed. The file copy dialog is responsive and doesn’t lock up. It just get’s stuck and reads the same file, speed and time remaining until the explorer process ends. If you hit the “Cancel” button on the file copy dialog, it will remain stuck on the “Cancelling…” operation.
If you check the destination there may be files copied or many not be, depending on how far it got before it gets stuck. If you try to perform another file copy after, it will also get stuck. Often a problem will reoccur with the same file if you just try to copy it again afterward. If you try to delete those files afterwards that may also get stuck.
Vista also usually has a thread I/O request timeout error that occurs when a file copy gets stuck, but for some reason it doesn’t appear when this issue occurs and the copy dialog will remain until the explorer.exe process ends or it is cancelled and then closed.
When you check the explorer.exe process under task manager, there is no significant change in I/O reads or writes after it gets stuck. It’s committed memory size and number of page faults do not significantly change either.
At first I thought it may be a problem with the hard drives. I ran a full chkdsk /r (locate bad sectors and attempt recovery) on all my drives and there were no problems found at all.
I had a similar problem when Vista first came out with Symantec Antivirus severely slowing my network file copies because it was scanning huge RAR and ISO files. I tried stopping the Microsoft Security Essentials service and turning off real time protection, but it didn’t affect the issue at all.
I also tried stopping the Windows Search service in case they may be attempting to index the file (and perhaps a bad iFilter) was causing the stall. But there also was no effect on the issue.
Since I often had the problem while copying video files, I thought it could possibly be Explorer’s thumbnail generator causing the stall (maybe in combination with a bad DirectShow Filter). Usually when there’s a problem with a DS filter it ends up crashing the app it is running in but I have seen other things happen, like a splitter causing Windows Live Photo Gallery to stall on the first frame of video. I unregistered (regsvr32 /u) most of the DirectShow components I had installed except for a basic few (DivX, ffdshow, XVid, Ogg DS) which I also made sure were up to date. I tried disabling explorer’s thumbnail generator (by unchecking “Always Show Icons, Never Thumbnails” in the Advanced Folder options), but there was no effect on the problem.
I will have to do some further investigating with Process Explorer when I have some more time this week. For now I haven’t found the cause, just a way to work around the issue.
I tried performing the copy operation from an Administrative command prompt and found that you could successfully copy the files without any problem using the “copy” command. Even while 3 or 4 hung explorer file copy windows are present and supposedly copying the same file.
Strangely, using the “move” command has the same problem as explorer and will just hang until you break out of it with CTRL-C. I don’t know why “move” has trouble because you can use manually use the “copy” command to copy the files and then “del” to delete them afterwards without any problems.
You can also cancel the hung file copy dialogs by pressing the “Cancel” button and then the close button on the dialog afterwards. Just hitting cancel will not work. Sometimes explorer will maintain a lock on the file it was stuck on (preventing you from moving or deleting the file) even after you have cancelled the copy dialog. You have to kill the explorer.exe process from Task Manager and restart it to remove the file lock.