-
Notifications
You must be signed in to change notification settings - Fork 623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wget
exit code 141 for https
requests when running linux/amd64
on M2 for cross-platform build
#89
Comments
wget
exit code 141 for https
requests when running linux/amd64
on M2wget
exit code 141 for https
requests when running linux/amd64
on M2 for cross-platform build
Adding the examples here to reproduce - and of course important to mention, there's a handful of reports of issues with The actual image I am trying to extend and cross-build is Prometheus:
But it's also reproducible with the baseline
And it also happens with the base image for that:
We observe the same with |
The exit code 141 standing for |
Given the below findings, I think it's not platform specific in the image but rather the native host kernel affects the success. Since the busybox I don't know if you can expect much action from this report though since this is a mirror org. I haven't checked if any activity from upstream actually goes on here 🤔 Ignore this observation
As the Doesn't seem relevant to this issue though, nor does Reproducing with # AMD64 (glibc)
$ docker run --rm -it --platform=linux/amd64 busybox
$ wget -q --no-check-certificate https://github.com
$ echo $?
0
$ uname -m
x86_64
$ /lib/ld-linux-x86-64.so.2 --list /bin/wget
linux-vdso.so.1 (0x00007ffc9b506000)
libm.so.6 => /lib/libm.so.6 (0x00007f868dec0000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007f868deaf000)
libc.so.6 => /lib/libc.so.6 (0x00007f868dcce000)
/lib64/ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x00007f868e09c000)
The native host platform differs, which is probably why we have flipped results here. Containers images are only user-space, and while the platform can be emulated via Thus I had the same issue with FWIW, the Alpine image has no problem. Must be something to do with how BusyBox was built differently vs Alpine package ( |
I am adding this although I am not sure this is the correct place, but I figured it's the best place to begin looking for help at least - as other people facing it is likely to gather here, I assume.
I noticed a very strange behavior with
wget
on abusybox
based image where, if I try to build forlinux/amd64
running on an Apple silicon M2,wget
simply cuts off after logging that is connecting to the server on port 443, and exits with an exit code141
. This happens to any HTTPS request, while plain HTTP requests still work.The very same Dockerfile will build properly on a truly Intel
amd64
environment, as well as M2 builds it properly when buildinglinux/arm64
. The problem is on the cross-platform build.One may think that the problem could point to Docker - have tried with both OrbStack and Docker Desktop for Mac on different M2 machines, both presenting the very same behavior. I also tried building it on a virtual Ubuntu machine - managed via OrbStack - so installed Docker amd64 properly within it, and... very same error.
So I am inclined to say that it's something within
busybox
wget
itself on thelinux/amd64
build that doesn't like to be emulated fromlinux/arm64
, or it could be something really weird from Mac's Roseta/emulation engine.Anyone else seen something or has clues on where to look/go next? Any help is much appreciated.
The text was updated successfully, but these errors were encountered: