| Andrew's profileSticky NotesPhotosBlogLists | Help |
|
September 08 XP SP3 'Delayed Write Failed' keeps me up at night (4226, 26 and 50 / c000020c in Event Viewer) with NVIDIA network adapter(UPDATE: please see update at the end of this post.)
Yawn. It's late and I shouldn't be doing this. But I've just spent several late nights trying to track down this file copying error on Windows XP SP3. So I am recording it here for others.
It's taken me 3 days to figure this out, on and off.
Recently a Windows XP SP3 machine started to report "Delayed Write Failed" messages when writing files to a Windows 2008 Server. I was copying photos from the desktop to a UNC path like this \\server\share\path\path\... When the error happens, the network connection becomes unresponsive - I can't see the server nor the internet. I have to disable and re-enable the network connection to restore connectivity.
In the event log (eventvwr) I saw these messages among others. The 4226 wasn't that frequent but the 50 & 26 occur whenever the error happened.
ID 50: MRXSMB {Delayed Write Failed} Windows was unable to save all the data for the file \Device\LanmanRedirector. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere. ID 26: Application Popup
Application popup: Windows - Delayed Write Failed : Windows was unable to save all the data for the file ... ID 4226: TCPIP
TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts. I followed various avenues to try and understand and resolve this. Thankfully it was a reproduceable error:
Then I found this blog post by grinthock about the changes in XP SP2 to deliberately limit the concurrent TCPIP connections to 10, as a security measure. Given that file copying as well as web browsing and also Live Mesh are using TCPIP connections, this might be the cause in my case.
Unfortunately this is not a configurable parameter - not in the registry, nor in a config or INI file. To increase the number of allowed TCPIP connections, you have to modify the TCPIP.SYS binary directly. Yeuch.
First I made a copy of TCPIP.SYS as TCPIP.SYS.ORIGINAL (in c:\windows\system32\drivers).
Then I used this tool to change the connections allowed, and I set my TCPIP connections to 256 (it was 10; I also tried 50 without success):
(I have no idea if this tool contains spyware etc - I just took the chance. Hmmm.)
There is an alternative tool for the same task - I didn't use this:
After a reboot, my machine now appears to copy the files reliably to the server, using the same test as previously. I will monitor the situation.
I also note that the TCPIP.SYS file can be updated by Windows Update, so this 'connections limit' might return to the default. So the problem may come back!
Important - I also changed the settings on my NVIDIA nForce 10/100/1000 network adapter, this might also be part of the solution. In Device Manager (Start -> Run DEVMGMT.MSC) I changed the following settings (Properties -> Advanced tab):
PLEASE NOTE - this 'solution' is a hack, no question. I am NOT responsible if this messes up your system. Seeing as I spent ages trying to fix this error, I hope this is helpful to someone else.
UPDATE: the above solution didn't work for long -- the symptoms returned. But the following does appear to have helped my setup, by making these changes to my Windows 2008 Server machine and rebooting:
|
|
|