microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.18k stars 805 forks source link

Unable to start Ubuntu #11725

Open struglee opened 2 months ago

struglee commented 2 months ago

Windows Version

Microsoft Windows [Version 10.0.22631.3737]

WSL Version

2.2.4.0

Are you using WSL 1 or WSL 2?

Kernel Version

No response

Distro Version

Ubuntu-20.04

Other Software

No response

Repro Steps

Start Ubuntu 20.04 from Windows terminal.

Expected Behavior

Ubuntu 20.04 should start normally.

Actual Behavior

灾难性故障 Error code: Wsl/Service/CreateInstance/E_UNEXPECTED

[已退出进程,代码为 4294967295 (0xffffffff)]

Diagnostic Logs

WslLogs-2024-06-25_09-58-02.zip

I see some error messages for 'Failed to find handle VmbusVdevHandle for device with instance ID' in the logs, but I don't know what to do.

github-actions[bot] commented 2 months ago

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

Diagnostic information
.wslconfig found
Detected appx version: 2.2.4.0
Detected user visible error: Wsl/Service/CreateInstance/E_UNEXPECTED

OneBlue commented 1 month ago

This issue is caused by a segfault in init:

Microsoft.Windows.Lxss.Manager  GuestLog    06-24-2024 18:58:47.778 "   "   "text:  ""[    1.168587] init[211]: segfault at 1 ip 000000000032b93a sp 00007ffd89f612a8 error 4 in init[299000+15a000] ""
vmId:   {3557af94-5639-4053-a9b8-13c5e2342a48}"             10156   9120    5       00000000-0000-0000-0000-000000000000        

I'll come back to this with instructions on how to capture a process once we have more logging to help root cause issues like this.

OneBlue commented 3 weeks ago

@struglee: Can you try to update to the latest package and reproduce the issue ?

This should generate a crash dump in %tmp%/wsl-crashes

struglee commented 2 weeks ago

Here is the crash dump. wsl-crash-1722926090-1-_init-11.dmp

OneBlue commented 2 weeks ago

Thank you @struglee. With this dump I root caused the issue to a bug causing init to crash when initPath in /etc/wsl.conf points to a file that doesn't exist.

This will be fixed in the next release. In the meantime, setting:

[wsl2]
safeMode=true

in %USERPROFILE%/.wslconfig should allow you to boot the distribution and remove initPath from /etc/wsl.conf to get your distro back in a working state.