nodejs / nodejs/node

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

Aperta
#50,339 26 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

arm s390x
Lingua principale
JavaScript
Stelle
122k
Fork
37.3k
Merge medio
4g 2h
PR unite (30g)
283

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il comando fornito docker run --platform linux/s390x ... npm install node-red@3.1.0 e analizza l’output di strace di QEMU in nodejs/docker-node#1973, concentrandoti sul ciclo recvfrom() segnalato. Il lavoro è completato quando l’installazione termina senza il blocco di npm e senza un utilizzo della CPU al 100% durante l’esecuzione tramite emulazione s390x.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, linux, nodejs
Ambito
networking, operating-systems
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.