Unable to pull any image - fails with message "The semaphore timeout period has expired."

This might end up being something for the issue tracker, but I thought I would try the community forums first because I’m pretty sure the problem is fairly specific to my machine. I’ve setup docker on a few other Windows boxes without any problem, but I’m still pretty new to Docker, so I don’t have a lot of experience troubleshooting it yet.

Powershell input/output (run as administrator):

docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
407ada6e90de: Pull complete
5ebc0041967d: Extracting [==================================================>] 46.25MB/46.25MB
40bcee57bab3: Download complete
92aab69753ee: Download complete
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage \\?\C:\ProgramData\Docker\windowsfilter\ba6c398b95855526d12dc9745a53e353f92b0e276e67e24ff81d3ad126101a3b\UtilityVM: The semaphore timeout period has expired.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

This error seems to be similar to others I have read about, but most of those seem to revolve around file access issues.

This behavior persists regardless of whether antivirus (Vipre Business) is installed or not (I have also disabled Windows defender after uninstalling Vipre and the problem persists).

I have tried uninstalling and reinstalling Docker, resetting to default settings, using the stable and edge version, etc. with no change in behavior.

I do not know if the problem is related, but I have also noticed that I cannot switch to Linux containers. When I click “Switch to Linux Containers,” I receive the notification that Docker is switching and that it may take some time. Shortly after, I receive an error notification:

External component has thrown an exception.
   at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeClient.cs:line 36
   at Docker.Actions.<>c__DisplayClass23_0.<SwitchDaemon>b__0() in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Windows\Actions.cs:line 264
   at Docker.WPF.TaskQueue.<>c__DisplayClass19_0.<.ctor>b__1() in C:\gopath\src\github.com\docker\pinata\win\src\Docker.WPF\TaskQueue.cs:line 59

Log File Information

Reviewing my log file does not reveal much more information. For the problem where I cannot pull images, the log shows:

[WindowsDaemon  ][Info   ] debug: Cleaning up layer 27c8f948640fc15c59c5035ce06ac16ee21f154b5e6cbecf93b88936511fff52: re-exec error: exit status 1: output: ProcessUtilityVMImage C:\ProgramData\Docker\windowsfilter\27c8f948640fc15c59c5035ce06ac16ee21f154b5e6cbecf93b88936511fff52\UtilityVM: The semaphore timeout period has expired.

Similarly, this shows up as in the log as well:

[WindowsDaemon  ][Info   ] Attempting next endpoint for pull after error: failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage \\?\C:\ProgramData\Docker\windowsfilter\ba6c398b95855526d12dc9745a53e353f92b0e276e67e24ff81d3ad126101a3b\UtilityVM: The semaphore timeout period has expired.

For the error where I cannot change to Linux containers, I see the following errors:

[VpnKit         ][Error  ] vpnkit.exe: Caught An address incompatible with the requested protocol was used.
[VpnKit         ][Info   ]  while creating Hyper-V socket

docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 18.03.0-ce
Storage Driver: windowsfilter (windows) lcow (linux)
Logging Driver: json-file
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 16299 (16299.15.amd64fre.rs3_release.170928-1534)
Operating System: Windows 10 Pro
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 15.96GiB
Name: DevBox
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: -1
Goroutines: 25
System Time: 2018-04-02T11:18:11.1247937-05:00
EventsListeners: 1
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
Live Restore Enabled: false

After some more investigation, I determined this was a problem somewhere in my OS. I started receiving similar error messages (Semaphore timeout period has expired) when trying to perform image backups of my hard drive, so it was clear this wasn’t really just a Docker issue.

After performing a clean install of the OS, everything is working fine.