Alpine template builds fail: glibc busybox in SyncChangesToDisk + missing /usr/bin/ionice and /usr/bin/nice
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 74/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go, linux
- Ambito
- build-system, infrastructure
Direzione di ricerca
Inizia da packages/orchestrator/pkg/template/build/sandboxtools/command.go e packages/orchestrator/pkg/template/build/phases/base/distro/init.go, quindi esamina l'wrapper OOM in handler.go. Riproduci i fallimenti del base layer Alpine e verifica che sync funzioni con il PATH previsto e che i comandi avviati da envd trovino ionice e nice. Il lavoro è completato quando le build dei template Alpine non terminano più con lo stato 127 per queste cause.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Alpine-based template builds fail at the base layer with two distinct exit status 127 errors.
Bug 1 — SyncChangesToDisk uses glibc-linked busybox
File: packages/orchestrator/pkg/template/build/sandboxtools/command.go
SyncChangesToDisk invokes rootfs.SandboxBusyBoxPath + " sync", which resolves to /usr/bin/busybox sync. The /usr/bin/busybox binary is compiled against glibc and cannot be executed on Alpine (musl libc) — it fails with exit status 127.
Bug 2 — /usr/bin/ionice and /usr/bin/nice missing on Alpine
File: packages/orchestrator/pkg/template/build/phases/base/distro/init.go (InitOpenRC)
envd's OOM wrapper hard-codes /usr/bin/ionice and /usr/bin/nice (handler.go):
exec /usr/bin/ionice -c 2 -n 4 /usr/bin/nice -n N ...
On Alpine, util-linux-misc installs ionice to /bin/ionice (not /usr/bin/ionice), and nice lives only at /bin/nice (busybox symlink). Verified:
$ docker run --rm alpine:3.22 sh -c 'apk add --no-cache util-linux-misc >/dev/null 2>&1; ls /usr/bin/ionice /usr/bin/nice 2>&1'
ls: /usr/bin/ionice: No such file or directory
ls: /usr/bin/nice: No such file or directory
Without symlinks at /usr/bin/ionice and /usr/bin/nice, every command envd spawns during the build step layer exits 127.
Fix
See linked PR: add /usr/bin/{ionice,nice} symlinks in the Alpine InitOpenRC provisioning step, and replace the glibc busybox path in SyncChangesToDisk with plain sync + explicit PATH.
- Lingua principale
- Go
- Stelle
- 1.7k
- Fork
- 458
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di e2b-dev/runtime
-
[Bug]: flock() on a mounted volume hangs forever (mount is missing `nolock`)Forse già presa @AdaAibaby l’ha presa 29 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 3 giorni
-
sandbox cache: StartRemoving state transition not broadcast, all allocations see stale Running stateForse già presa @AdaAibaby l’ha presa 45 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 3 giorni
-
kernel: ipv6.disable=0 with no IPv6 routing causes Happy Eyeballs latency on all outbound sandbox connectionsForse già presa @AdaAibaby l’ha presa 49 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 3 giorni
-
fix(envd): malformed error message %!w(<nil>) when watch path is not a directoryForse già presa @chill-czar l’ha presa 50 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 3 giorni
-
fix(api): POST /sandboxes/{id}/connect accepts non-positive timeout values causing immediate terminationForse già presa @chill-czar l’ha presa 50 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di e2b-dev/runtime
Issue simili
-
automation models
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug llm-stack needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Alert email subjects don't identify the host — same container on multiple hosts, identical subjectsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
P3 Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
grpc/grpc-go#9483 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
needs-area needs-kind needs-priority needs-status needs-triage
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 85/100
cncf/automation#736 ·
I maintainer di solito rispondono entro 1 giorno