Docker run always Frozen or WSL Ubuntu distro stopped while waiting for Lifecycle server

Viewed 4557

Running into this Error after updating to the latest version of Windows in the Insider Preview program. I have noticed that my Hyper-V settings for Hyper-V Management Tools and Hyper-V platform are now on after applying this Windows update. I do not remember if these were both on prior to update.

Windows

enter image description here

Error

WSL distro stopped while waiting for Lifecycle server.
  >Stdout:

  >Stderr:
2020/08/08 20:51:59 resolving /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso...
2020/08/08 20:51:59 copying...
Error: mounting wslCLIDest: open /mnt/host/wsl/docker-desktop-data/isocache/c6c2ec214a20124f40a56bbc09f0f7f8fdc9a217881c0ff725af2e476e4b3734.iso: input/output error
2020/08/08 20:51:59 open /mnt/host/wsl/docker-desktop-data/isocache/c6c2ec214a20124f40a56bbc09f0f7f8fdc9a217881c0ff725af2e476e4b3734.iso: input/output error
mounting wslCLIDest
main.doRun
    /go/src/github.com/docker/pinata/linuxkit/pkg/wsl-bootstrap/main.go:224
main.run.func1
    /go/src/github.com/docker/pinata/linuxkit/pkg/wsl-bootstrap/main.go:83
github.com/docker/pinata/vendor/github.com/spf13/cobra.(*Command).execute
    /go/src/github.com/docker/pinata/vendor/github.com/spf13/cobra/command.go:762
github.com/docker/pinata/vendor/github.com/spf13/cobra.(*Command).ExecuteC
    /go/src/github.com/docker/pinata/vendor/github.com/spf13/cobra/command.go:852
github.com/docker/pinata/vendor/github.com/spf13/cobra.(*Command).Execute
    /go/src/github.com/docker/pinata/vendor/github.com/spf13/cobra/command.go:800
main.main
    /go/src/github.com/docker/pinata/linuxkit/pkg/wsl-bootstrap/main.go:25
runtime.main
    /usr/local/go/src/runtime/proc.go:203
runtime.goexit
    /usr/local/go/src/runtime/asm_amd64.s:1357

WSL Spec

usr@win:/mnt/c/$ neofetch
            .-/+oossssoo+/-.               usr@win
        `:+ssssssssssssssssss+:`           ----------------
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 20.04 LTS on Windows 10 x86_64
    .ossssssssssssssssssdMMMNysssso.       Kernel: 4.19.104-microsoft-standard
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Uptime: 3 mins
  +ssssssssshmydMMMMMMMNddddyssssssss+     Packages: 640 (dpkg)
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Shell: bash 5.0.16
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Terminal: /dev/pts/1
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   CPU: Intel i7-6700K (8) @ 4.007GHz
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   GPU: 9542:00:00.0 Microsoft Corporation Device 008e
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   Memory: 497MiB / 7959MiB
+sssshhhyNMMNyssssssssssssyNMMMysssssss+
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
  +sssssssssdmydMMMMMMMMddddyssssssss+
   /ssssssssssshdmNNNNmyNMMMMhssssss/
    .ossssssssssssssssssdMMMNysssso.
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.
5 Answers

Update memory to 1G fixed the issue for me. Follow below steps:

Open Windows Terminal/CMD/PowerShell and run the commands below:

#turn off all wsl instances such as docker-desktop
wsl --shutdown
notepad "$env:USERPROFILE/.wslconfig"

Notepad opens and a new file .wslconfig is created.(if this is the first time)

Edit .wslconfig file with notepad and write down these settings:

[wsl2]
memory=1GB  

I was able to fix this. Follow these steps and it might fix it for you as well, this the order I tried these in:

  1. Delete your Ubuntu on Windows WSL distro and reinstall it from the Microsoft Store.
  2. Clean / Purge data using the Docker Desktop app.
  3. Reset Docker to factory defaults using the Docker Desktop app.
  4. Disable Hyper-V Management Tools and Hyper-V platform and reboot Windows <-------- ✔ real fix for my case.
  5. Run Docker commands as a super user sudo su <-------- you may need to do this if step 4 does not wok for you.

In my case, WSL sometimes did not mount the c:\ drive after windows startup. Therefore Docker also does not start and aborts with error "WSL distro stopped while waiting for Lifecycle server."

I wrote a .bat script which checks for existing "/mnt/c/". If not there it restarts WSL. Only then Docker is started.

I removed Docker from autostart, instead this script is executed on startup.

@echo off
set CHECKDIR="/mnt/c/Users"
echo Check if dir %CHECKDIR% exists.
bash -c "cd %CHECKDIR%" && (
    echo Check successful
) || (
    echo Check failed. Restarting WSL
    wsl --shutdown
)
echo Start Docker
start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"

Maybe this is interesting for some here, as long as this bug is not fixed.

For Windows before re-installing and other stuff, just reset docker to factory defaults. Works most of the time on windows env after this.

in ubuntu cmd, code . will install vscode server and this will figure out this problem.

Related