It is possible the Windows service WebClient crashes on Windows 7 or Windows Server 2008 R2 when someone connects to a Web-based Distributed Authoring and Versioning (WebDAV) resource. For your information, WebDAV is a protocol that extends the HTTP protocol and is meant for creating, editing, deleting, versioning, managing,… resources in a distributed and web-based way, meaning the resources reside in a location on the network, possibly on the Internet, and are dealt with through HTTP (SharePoint uses WebDAV for example). So WebDAV can be considered as a mechanism for dealing with files on web locations. Personally I don’t like the name “WebClient”, because of 2 reasons:
• It’s not the client for every web based action, only for WebDAV related stuff. Anyway, because it’s a WebDAV client the description of the service in Windows speaks about Internet based files, although I like “web based files in a WebDAV mechanism supported” more, because it can happen on non-Internet networks too and doesn’t include every kind of Internet based file, only web based files in a WebDAV mechanism. Sometimes it’s not a good idea to simplify descriptions or names, because it can cause more confusion…
• It does actually more than just being a WebDAV client
More? Yup. It can also behave as something similar as a WebDAV client: not web based, but in a complex, distributed network file system, i.e. Microsoft’s Distributed File System (DFS). So, if the WebClient service doesn’t run, you can forget about WebDAV and DFS working smoothly.
Back to the crash now. As said before, the service can crash sometimes on Windows 7 or WS08R2 when someones accesses a WebDAV resource. This crash is caused because of an access violation to the service, something that shouldn’t occur of course. As a result WebDAV related stuff fails and even DFS doesn’t seem to work anymore (and if it does, it’s slow, error-prone and causes crashes of applications trying to access DFS resources). The following is logged in the Application event log:
Event ID: 1000
Description: Faulting application name: svchost.exe_WebClient, version: VERSION_EXE, time stamp: Parameter1
Faulting module name: webclnt.dll, version: VERSION_DLL, time stamp: Parameter2
Exception code: EXCEPTION_CODE
Fault offset: Parameter3
Faulting process id: PROCESS_ID
Faulting application start time: Parameter4
Faulting application path: SYSTEM_DRIVE:\Windows\system32\svchost.exe
Faulting module path: SYSTEM_DRIVE:\windows\system32\webclnt.dll
Source: Application Error
Task Category: (100)
In my situation I had an exception code 0xc0000005 and a fault offset of 0x000000000002d2d2. My WebClient version was 6.1.7600.16385 and my webclnt.dll version was 6.1.7601.17514.
It’s not only this event though… Later you may see lot of other events in the System event log:
Event ID: 7011
Description: A timeout (30000 milliseconds) was reached while waiting for a transaction response from the WebClient service.
Source: Service Control Manager
Task Category: None
When the service is needed and doesn’t give a response (because it’s crashed), there is a 30 second time-out and this event is logged. It’s obvious this is related to some action that fails because of this.
In my situation I could restart the service and everything seemed to work again. Well, to be honest, I’m not quite sure… The only thing we really experienced, was slow DFS access and some applications crashing when trying to open a DFS resource (by using a UNC path everything should have worked normally, although I haven’t really checked this out). We haven’t tested WebDAV behavior, so I can’t tell anything about that, but I can’t imagine WebDAV should have kept working smoothly. After the service’s restart, DFS seemed to work great again and applications were not crashing anymore when opening DFS resources. But again, I haven’t really checked WebDAV, so perhaps a restart of the service isn’t enough to fix everything. Restarting the system though should definitely be enough for a clean fix though. So if you can, it’s better to restart the system than just to restart the service, at least if you want to be sure of a new, clean WebClient environment.
The issue is known by Microsoft and there is a Knowledge Base (KB) article dealing with this problem: KB2548470 (http://support.microsoft.com/kb/2548470), titled “A WebClient service crashes on a computer that is running Windows 7 or Windows Server 2008 R2 when you connect a WebDav resource”. From this page you can request a hotfix, but if you have a Premier support contract, you can download it straight away from the Microsoft Premier site. The hotfix exists for 32 bit Windows and 64 bit Windows (but remember, WS08R2 only exists in the 64 bit architecture, so don’t download the 32 bit hotfix for WS08R2, despite the fact Microsoft has mentioned WS08R2 as target OS too for the 32 bit hotfix on their request page, whicvh is unjustified of course). For completeness I would like to add that the hotfix is supported for both Windows 7 and WS08R2, with and without SP1. A restart isn’t necessary after applying the hotfix and the hotfix updates the Webclnt.dll file to
• 6.1.7600.20967: if SP1 isn’t installed
• 6.1.7601.21728: if SP1 is installed
If you have read this article, this means you were probably also a victim of the bug described here. Hopefully your issues are all over now