microsoft / WSL

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

Installing acpi-support hangs and breaks the distribution #10059

Open noamraph opened 1 year ago

noamraph commented 1 year ago

Windows Version

Microsoft Windows [Version 10.0.22000.1817]

WSL Version

1.2.5.0

Are you using WSL 1 or WSL 2?

Kernel Version

5.15.90.1-microsoft-standard-WSL2

Distro Version

Ubuntu 22.04.2 LTS

Other Software

None

Repro Steps

Run

sudo apt install acpi-support

(This is also caused by running sudo apt install ubuntu-desktop)

Expected Behavior

Command should finish. systemctl status should show the list of services.

Actual Behavior

Command doesn't finish.

I run wsl --terminate to halt, and then wsl. It took about a minute for wsl to start, and systemctl status takes a long time, and then shows: Failed to read server status: Transport endpoint is not connected

See this discussion for other users encountering the same issue: https://github.com/microsoft/WSL/discussions/9350

Diagnostic Logs

No response

elsaco commented 1 year ago

Running acpid in a container is not recommended. The unit file has a condition check and if detects a container the service won't start and you'll notice ConditionVirtualization=!container was not met being logged. When you install acpi-support it hangs at Setting up acpi-support. It times out after a while. Run journalctt -u acpid and you'll notice a lot of Condition check resulted in ACPI event daemon being skipped entries. On a single boot I counted 487424 journal entries like that.

The acpid service can start/stop w/out issues on Ubuntu-20.04. systemd just reports:

elsaco@focal:~$ systemctl status acpid
● acpid.service - ACPI event daemon
     Loaded: loaded (/lib/systemd/system/acpid.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
TriggeredBy: ● acpid.socket
             ● acpid.path
  Condition: start condition failed at Thu 2023-05-04 06:23:12 PDT; 1min 16s ago
             └─ ConditionVirtualization=!container was not met
       Docs: man:acpid(8)

May 04 06:23:11 focal systemd[1]: Condition check resulted in ACPI event daemon being skipped.
May 04 06:23:11 focal systemd[1]: Condition check resulted in ACPI event daemon being skipped.
May 04 06:23:11 focal systemd[1]: Condition check resulted in ACPI event daemon being skipped.
May 04 06:23:12 focal systemd[1]: Condition check resulted in ACPI event daemon being skipped.

however on Ubuntu-22.04 it keeps trying to restart the service making your container unusable. sudo apt remove --purge acpi-support will fix it.

2001zhaozhao commented 1 year ago

The following workaround works for me:

https://github.com/microsoft/WSL/issues/8867#issuecomment-1256344696

I ran into the same issue when trying to install ubuntu-desktop on Ubuntu 22.04.1 in WSL2. Following this solution solved the issue. For me these 2 commands were very slow to run but after running them and restarting WSL, I was able to continue my ubuntu-desktop installation without issue.

selrahc13 commented 1 year ago

The following workaround works for me:

#8867 (comment)

I ran into the same issue when trying to install ubuntu-desktop on Ubuntu 22.04.1 in WSL2. Following this solution solved the issue. For me these 2 commands were very slow to run but after running them and restarting WSL, I was able to continue my ubuntu-desktop installation without issue.

I would have NEVER thought of that solution. My Ubuntu WSL2 instance was broken after trying to install ubuntu-desktop and your linked solution fixed it.

coldswiss commented 8 months ago

I have this issue for the last 2-3 weeks. A docker desktop upgrade on my windows host, broke my wsl2 (ubuntu 20.04). The solution was to upgrade to ubuntu 22.04. Then, everything was ok.. but my distribution was frozen and not usable at all for the first 1-2-3 hours after starting it. Unbelieavable. I found via the htop --tree that I had the same issue as the people above. Also journalctl -f was giving me the same error.. tens of thousands of lines: "Condition check resulted in ACPI event daemon being skipped". Finally, running sudo apt remove --purge acpi-support to remove acpi solved my issue. My distribution is finally usable again. THANK YOU!