Skip to content
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

docker buildx hang on node:22-alpine (armv6/armv7) #2077

Closed
pheiduck opened this issue May 4, 2024 · 17 comments
Closed

docker buildx hang on node:22-alpine (armv6/armv7) #2077

pheiduck opened this issue May 4, 2024 · 17 comments

Comments

@pheiduck
Copy link

pheiduck commented May 4, 2024

Environment

  • Platform: GitHub CI
  • Docker Version: 24.0.9
  • Node.js Version: 22
  • Image Tag: node:22-alpine

Expected Behavior

No hanging build on armv6/armv7

Current Behavior

build is hanging on npm ci --omit=dev

Possible Solution

none

Steps to Reproduce

run docker deployment on github ci

Additional Information

Logs:
https://productionresultssa4.blob.core.windows.net/actions-results/c81c7c78-0f17-4d1b-bb6e-eedc5023c285/workflow-job-run-e07742bd-189a-5079-918b-43f8b2f94b89/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-05-04T18%3A34%3A48Z&sig=kywF%2F31fsM6a0PFRA%2BGMwEYu9RkOcGzkAq1EUZumrx8%3D&sp=r&spr=https&sr=b&st=2024-05-04T18%3A24%3A43Z&sv=2021-12-02

@pheiduck pheiduck changed the title docker buildx hang on node:22-alpine docker buildx hang on node:22-alpine (armv6/armv7) May 4, 2024
@LaurentGoderre
Copy link
Member

This is a known issue with the armv6 armv7. No solution has been found yet

@nschonni
Copy link
Member

I believe the Alpine builds, except ppcle are working again

@pheiduck
Copy link
Author

Glade to hear will try it.

@pheiduck
Copy link
Author

I believe the Alpine builds, except ppcle are working again

armv6/7 still not working

@LaurentGoderre
Copy link
Member

Yeah, I don't think the root cause of this has been found yet.

@pabra
Copy link

pabra commented Jun 13, 2024

I had the same issue with node:20.14.0-alpine for arm/v7 (cannot say anything about arm/v6).
Adding --platform=$BUILDPLATFORM to FROM solved it for me. Read about it in the docs.
This is what my multistage Dockerfile now looks like:

ARG BASE_IMAGE=node:20.14.0-alpine

FROM --platform=$BUILDPLATFORM ${BASE_IMAGE} AS builder
RUN /build/stuff
...

FROM --platform=$BUILDPLATFORM ${BASE_IMAGE}
COPY --from=builder /stuff ./
...

@LaurentGoderre
Copy link
Member

LaurentGoderre commented Jun 13, 2024

@pabra I might be simpler to specify the platform in the command instead of in the Dockerfile like docker build --platform linux/arm/v7 and docker run --platform linux/arm/v7

@pheiduck
Copy link
Author

pheiduck commented Jun 13, 2024

@pabra on github CI this will use the host arch, which does not solve my issue here.
build npm pkgs on an older nodejs is the way to go until now...

@pabra
Copy link

pabra commented Jun 14, 2024

@LaurentGoderre @pheiduck I use this Dockerfile with this github action. And it now builds images for platforms: linux/amd64,linux/arm64,linux/arm/v7. Without --platform=$BUILDPLATFORM in the Dockerfile, it hang for arm v7.

Not sure what you are doing, @pheiduck. I use docker buildx with qemu in CI, so $BUILDPLATFORM is not the host arch but the arch emulated by qemu. Maybe $TARGETPLATFORM is for you?

@pheiduck
Copy link
Author

Maybe $TARGETPLATFORM is for you?

Will try it

@pheiduck
Copy link
Author

pheiduck commented Jun 15, 2024

$TARGETPLATFORM does not work either...

@n0rt0nthec4t
Copy link

I cannot believe this has gone on so long without a resolution since 18.x builds. Appears so many issues raised across multiple issues

@LaurentGoderre
Copy link
Member

LaurentGoderre commented Jun 17, 2024

It seems the error is that it runs out of memory:

docker run --cap-add=SYS_PTRACE -e QEMU_STRACE=1 --rm -it --platform linux/arm/v7 node:22-alpine
1 mremap(1082126336,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082122240,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082118144,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082114048,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082109952,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082105856,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082101760,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)
1 mremap(1082097664,4096,8192,0,0,1082133536) = -1 errno=12 (Out of memory)

@LaurentGoderre
Copy link
Member

nodejs/node#53489

@shamoon
Copy link

shamoon commented Jul 8, 2024

Unfortunately for us going back to older node isnt an option as the platform we use is now dependent on the newer node version, but of course this issue prevents us from being able to deploy—stuck between a rock and a hard place!

Wish I had a way to help try and solve, thanks for everyone's time.

@pheiduck
Copy link
Author

pheiduck commented Jul 8, 2024

Unfortunately for us going back to older node isnt an option as the platform we use is now dependent on the newer node version, but of course this issue prevents us from being able to deploy—stuck between a rock and a hard place!

Wish I had a way to help try and solve, thanks for everyone's time.

A Workaround we found out is to copy ofter build result to the newer image

@shamoon
Copy link

shamoon commented Jul 8, 2024

Thanks so much for the suggestion, unfortunately I dont think that works for us as we cant run the build on an older version with the updated package we want to use (next.js v14).

Fingers crossed this one gets solved 🤞

n0rt0nthec4t added a commit to n0rt0nthec4t/homebridge-nest-accfactory that referenced this issue Oct 2, 2024
commented out arm v6/v7 builds due to on going issues

nodejs/docker-node#2077
pranavxc added a commit to nocodb/nocodb that referenced this issue Dec 31, 2024
… working for arm/v7

ref: nodejs/docker-node#2077
Signed-off-by: Pranav C <pranavxc@gmail.com>
pranavxc added a commit to nocodb/nocodb that referenced this issue Dec 31, 2024
… working for arm/v7

ref: nodejs/docker-node#2077
Signed-off-by: Pranav C <pranavxc@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants