nodejs / nodejs/node

npm spining in recvfrom() when run on s390x via qemu

Open
#50,339 26 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

arm s390x
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

Version

v18.18.2

Platform

Linux c8fdac6bf542 6.4.15-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 7 00:25:01 UTC 2023 s390x Linux

Subsystem

No response

What steps will reproduce the bug?
docker run --platform linux/s390x -it --cap-add=SYS_PTRACE -e QEMU_STRACE=true -e QEMU_LOG_FILENAME=qemu.log -v ./qemu.log:/qemu.log --rm node:18-alpine npm install node-red@3.1.0
How often does it reproduce? Is there a required condition?

Every time

What is the expected behavior? Why is that the expected behavior?

npm to complete run on emulated s390x as this is the standard way to build s390x containers when no access to s390x hardware.

What do you see instead?

Hang and 100% cpu from the npm process

Additional information

See https://github.com/nodejs/docker-node/issues/1973 for qemu strace output

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the provided docker run --platform linux/s390x ... npm install node-red@3.1.0 command and review the QEMU strace output in nodejs/docker-node#1973, focusing on the reported recvfrom() loop. Done means the install completes without the npm hang and 100% CPU usage when run through s390x emulation.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, linux, nodejs
Domain
networking, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.