Be careful with Docker Desktop 4.39.0 (from 4.38.0)

OS: Windows 10 Pro - BuildNumber: 19045

I tried to update Docker Desktop 4.39.0 (from 4.38.0) using the interface, but Docker disappeared along with the distribution in the WSL.

Effects:

  • Windows Subsystem for Linux doesn’t have any distributions installed. But it did.
  • Docker Desktop disappeared (menu and startup)
  • Docker disappeared from the cmd
  • Relevant log in this case (C:\ProgramData\DockerDesktop\install-log-admin.txt):
[2025-03-18T12:50:11.354689700Z][InstallWorkflow-PatchStep][I] Running C:\Program Files\Docker\Docker\courgette64.exe -applybsdiff -nologfile "C:\Program Files\Docker\Docker\resources\Docker desktop.exe" "C:\Users\<obfuscated>\AppData\Local\Temp\DockerDesktop\m5wn4jn10qw\resources\Docker desktop.exe.bsdiff" "C:\Program Files\Docker\Docker\resources\Docker desktop.exe_"
[2025-03-18T12:50:11.546924900Z][InstallWorkflow-PatchStep][I] Running C:\Program Files\Docker\Docker\courgette64.exe -applybsdiff -nologfile "C:\Program Files\Docker\Docker\resources\docker-desktop.iso" "C:\Users\<obfuscated>\AppData\Local\Temp\DockerDesktop\m5wn4jn10qw\resources\docker-desktop.iso.bsdiff" "C:\Program Files\Docker\Docker\resources\docker-desktop.iso_"
[2025-03-18T12:50:21.169816900Z][InstallWorkflow][E] Patching failed Failed to apply delta update
[2025-03-18T12:50:21.169816900Z][InstallWorkflow][E] Installation failed Docker.Installer.DeltaUpdateFailedException: Failed to apply delta update ---> System.Exception: File patching failed
   en Docker.Installer.PatchStep.<PatchAsync>d__37.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en Docker.Installer.PatchStep.<DoAsync>d__35.MoveNext()
   --- Fin del seguimiento de la pila de la excepción interna ---
   en Docker.Installer.PatchStep.<DoAsync>d__35.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Docker.Installer.InstallWorkflow.<DoHandleD4WPackageAsync>d__30.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en Docker.Installer.InstallWorkflow.<DoHandleD4WPackageAsync>d__30.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Docker.Installer.InstallWorkflow.<DoProcessAsync>d__23.MoveNext()
[2025-03-18T12:50:21.171741100Z][InstallWorkflow][I] Rollbacking component Docker.Installer.UnpackArtifactsStep
[2025-03-18T12:50:21.177366500Z][FileSystem][I] Deleting C:\Users\<obfuscated>\AppData\Local\Temp\DockerDesktop\m5wn4jn10qw
[2025-03-18T12:50:21.256351300Z][FileSystem][I] Deleted C:\Users\<obfuscated>\AppData\Local\Temp\DockerDesktop\m5wn4jn10qw successfully
[2025-03-18T12:50:21.256351300Z][InstallWorkflow][I] Rollbacking component Docker.Installer.ExtractManifestStep
[2025-03-18T12:50:21.256861600Z][InstallWorkflow][I] Rollbacking component Docker.Installer.DownloadStep

The only thing I consider unusual that could have possibly caused the problem is that earlier that day I tried unsuccessfully to compact the VHDX disk “wsl\disk\docker_data.vhdx” because it was 250GB by the “binwalk” tool, filled the disk with repetitive garbage (The tool extracted more than 100GB from a 780MB file, I guess I invoked the command with some error). To try compacting, I used the following methods:

- Optimize-VHD -Path "C:\Users\<user>\AppData\Local\Docker\wsl\disk\docker_data.vhdx" -Mode Full

  • diskpart + => select vdisk file=“” + => compact vdisk

  • fstrim -av (inside wsl)

None of the above methods reduced the disk size of docker_data.vhdx (viewed from Windows after refreshing F5). However, they all ran and showed no problems. The junk files generated by “binwalk” had been removed before. I’m going to start using disk limits on the containers to prevent this from happening again.

I’m currently trying to install the previous version 4.38.0.

Yesterday and today I tried installing 4.38, 4.30, and 4.39, but they all gave me problems. 4.39, installed from scratch, in particular, gave me a problem on startup. I also tried downloading an older version of WSL, but it gives me trouble with the --mount option.

Deploy WSL2 distributions
Ensure the main distribution is deployed: Deploy “docker-desktop”: Import the WSL distribution “The parameter is not correct. \r\nError code: Wsl/Service/RegisterDistro/E_INVALIDARG\r\n” output=“docker-desktop”: exit code: 4294967295: Run the WSL command wsl.exe C:\windows\System32\wsl.exe --import docker-desktop \AppData\Local\Docker\wsl\main C:\Program Files\Docker\Docker\resources\wsl\wsl-bootstrap.tar --version 2: The parameter is not correct.
Error code: Wsl/Service/RegisterDistro/E_INVALIDARG
: Exit status 0xffffffff
Checking for isocache existence: CreateFile \wsl$\docker-desktop-data\isocache: Cannot find network name.

If I run that command in PowerShell with admin, it does return the error Wsl/Service/RegisterDistro/E_INVALIDARG, so it seems more like a WSL issue than a Docker issue.

During the correction attempts, with wsl --install I got this error


But then I was able to install Ubuntu by switching to WSL 1, installing Ubuntu there, uninstalling it, switching back to WSL 2, and now successfully installing Ubuntu. But the parameter error still occurs with “docker-desktop.”

The problem was solved by checking that 3 Windows features were activated (I only had 2 activated)

image
image

I needed to activate (I don’t know when it was deactivated) “Windows Hypervisor Platform”

There is a bug in the WSL 2.4.11. (Can't Install WSL due to 0x80040302 error · Issue #12595 · microsoft/WSL · GitHub)
"Essentially you have a “leftover” default distribution set in the registry, which causes WSL to fail when trying to set the debian as the new default.

If you delete the following registry value: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\DefaultDistribution
Then the install will be ok"

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.