-
Notifications
You must be signed in to change notification settings - Fork 2k
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
npm hangs on linux/s390x containers #1973
Comments
I have similar issue (see Dockerfile). I wonder whether the problem of #1798 and #1829 finally snuck into 18 and earlier images. |
Interesting. I've just fired up the docker image (node:16-alpine and node:18-alpine) on a real s390x system and npm seems to install without any problems. Which would lead us to perhaps something specific to qemu or the docker version in use (Mine is |
Just tried with your dockerfile - went through without problems: |
Which does appear to point to this possibly being a qemu based problem. I know my laptop got a recent set of qemu packages, but not sure what would be needed to debug this. Any pointers would be helpful |
@hardillb |
|
no joy with |
OK, while this appears to be limited to when running builds using qemu, this is going to be the default way 99% of CI builds run that target s390x, so I think we still need to track this down, even if it's just to raise a sensible upstream issue against qemu.
|
@hardillb seems like after moby/buildkit#1516 we may omit using However, for my repository the result is still the same, no matter which version is used: 6.0.0, 6.1.0, 6.2.0, 7.0.0, 7.1.0 or |
@hardillb in my case, the problem seems to be related to Linux only, somehow. I was able to resolve the issue just by switching to I will try this workaround for #1798 too, and will report the results. |
@tyranron did you get any joy using the If it is the qemu but https://gitlab.com/qemu-project/qemu/-/issues/1729 then hopefully it gets fixed soon. |
This may not be the same as the other qemu bug as it's not calling I ran the following command:
and got the following strace:
|
This looks to be spinning trying to receive data from the network. How do we move this forward? |
Due to tonistiigi/binfmt#120 we have QEMU 8.0 in |
I started seeing this issue on September 19th, 2023. I created a repo to help diagnose the problem, or to detect when a fix is made upstream. It runs daily tests on two versions of node across six architectures on Debian and Alpine. It simply attempts On Nov 7: 4 of the 12 Alpine combinations are failing. Daily test status: See: |
report the similar in ticket #1946 |
I've been playing with this again (as it's still a problem). I've been using AWS EC2 machines to try out a few different options.
|
I tried to run it on ubuntu-20.04 s390x and it works fine, but arm/v6 and arm/v7 still don't work, only alpine3.18 and nodejs18. |
I tried to reproduce the problem on my macbook and it seems to be working for me:
FYI My macbook docker setup: 1/ I have installed lima (so I don't use docker desktop)
2/ I have installed Docker Buildx as follows:
Add binfmt_misc support for additional platforms as specified in https://docs.docker.com/build/building/multi-platform/
|
With tonistiigi/binfmt#144 (QEMU 8.1.4) and |
Also the important place to test this is in AMD64 hardware as this needs to run on GH actions with the Ubuntu runner |
Environment
Expected Behavior
npm install
runs and packages are installed.Current Behavior
Trying to build a container on the linux/s309x platform hangs running
npm install
with npm consuming 100% CPU.Previous builds complete in less than 5mins, current build has been running for over an hour
We are building the https://github.com/node-red/node-red-docker container with
docker buildx build --platform linux/s390x --file .docker/Dockerfile.alpine --build-arg NODE_VERSION=18 .
Possible Solution
Steps to Reproduce
cd node-red-docker
docker buildx build --platform linux/s390x --file .docker/Dockerfile.alpine --build-arg NODE_VERSION=18 .
Additional Information
Same thing is happening with 14-alpine and 16-alpine tags
I'm hitting this both locally and in a GH Action, both of which use Qemu to support building for alternate architectures.
The text was updated successfully, but these errors were encountered: