Open jeffmaury opened 1 year ago
@n1hility any ideas on what might be going on?
Looking into this one.
/assign
I found some time to dig into this further, and the underlying issue is a problem with WSL networking[1]. I tracked down the root implementation cause and have opened an issue with analysis and suggestions on how to fix. I will continue to discuss with them. We could bypass their relay and use a direct connection to the host, but it would only address container control communication, port publishing from the container (e.g. run -p XXXX) would still be susceptible. First I want to see if they plan to take this up soon. It's severe enough they might prioritize it, and waiting for the fix would be the best solution. If not I will post a patch for the partial workaround.
A friendly reminder that this issue had no activity for 30 days.
FWIW, if this is caused by the WSL networking stuff, this is likely also responsible for the infinite hangs I see on some podman pull
for some images (apparently bigger ones with a higher number of layers, which would support the hypothesis; e.g. try the python:*
images).
Can we close this one given the bug seems to be in WSL and not podman?
Keeping it open would enable people to more easily find it rather than opening a new issue. I'm barely able to use podman on Windows at the moment with this problem, so maybe there will be more like me.
Keeping it open would enable people to more easily find it rather than opening a new issue. I'm barely able to use podman on Windows at the moment with this problem, so maybe there will be more like me.
Yes agreed given it seems to affect more people
Given that using mirrorred networking mode is a suggested workaround for the problem we are experiencing, does that impact multi-architecture builds?
My builder on Windows 11 using x64 is now only showing amd64 when I think it used to show arm64 as an option (or at least it did with Docker Desktop). Build with --platform linux/arm64
are still running, but docker run
with --platform linux/arm64
errors with exec container process `/bin/bash`: Exec format error
.
> docker builder ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
mybuilder* docker-container
\_ mybuilder0 \_ npipe:////./pipe/docker_engine running v0.13.1 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386
default docker-container
\_ default \_ default inactive
desktop-linux error
@Fydon I actually tried enabling mirrored networking as a workaround, and found that it caused Podman/Docker Compose to stop working. Were you able to get it to work?
I'm able to load images, which I wasn't able to with NAT networking. However I'm not able to run the ARM64 images I'm trying to test, as stated above, even if I switch back to NAT networking.
Btw this happens only when containers are built as part of docker-compose, otherwise it works.
Workaround with mirrored mode does not work for me due ot this: https://github.com/containers/podman/issues/22975
I see with Podman version 5.1.2 that no longer leads to docker socket becoming unvailable and WSL being stuck when exporting images and instead fails after a short period, which is better:
=> ERROR exporting to docker image format 23.6s
=> => exporting layers 23.5s
=> => exporting manifest sha256:9be2485ea3d100a0f45db0aa85e8cc1f106123261fc8d4d8ecca3c7a22602ff9 0.0s
=> => exporting config sha256:ce465544cdca9147515410aaf735a1067246a4d0f98aaa0534be55997e0f6c11 0.0s
=> => sending tarball 0.0s
------
> exporting to docker image format:
------
ERROR: failed to solve: failed to copy to tar: rpc error: code = Unknown desc = io: read/write on closed pipe
View build details: docker-desktop://dashboard/build/foo/foo0/gx2ckyaj3uvfq5uu8kp8xobyk
It will also immediately fail if the same command is run again. WSL continues to function and other podman/docker commands can will work as long as they don't result in exporting images.
Issue Description
On my Windows laptop, I ran
docker compose up
(forget to set DOCKER_BUILDKIT=0) on https://github.com/docker/awesome-compose/tree/master/nginx-golang-postgresAfter a while, compose seems to be stuck on : => => sending tarball
The only container running (docker.io/moby/buildkit:buildx-stable-1) has the following log:
Once this state is reached, the Docker socket for the Podman machine is not available anymore and it seems WSL is quite stuck: after I Ctrl+C the compose process and stop and rmed the container, restart of the podman machine gives:
and if I try
wsl --shutdown
after the machine has been stopped, it seems to be stuck and never returnsSteps to reproduce the issue
Steps to reproduce the issue
Describe the results you received
WSL seems to be stuck and Docker socket is lost
Describe the results you expected
Should not get WSL to be stuck
podman info output
Podman in a container
No
Privileged Or Rootless
Privileged
Upstream Latest Release
Yes
Additional environment details
Win11Pro
Additional information
Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting