envbuilder causes OOM when pushing large image layers to cache
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- docker, go
- Bereich
- build-system
Rechercherichtung
Reproduziere den Fehler mit dem bereitgestellten docker run-Befehl, einer Ollama-Schicht und gesetztem ENVBUILDER_CACHE_REPO. Beginne bei kaniko's pkg/executor/build.go#L441, wo das cache-key-Log erscheint, und verfolge den Cache-Push-Pfad. Die Aufgabe ist abgeschlossen, wenn die große Schicht gecacht werden kann, ohne dass envbuilder durch OOM beendet wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I have a .devcontainer with a Dockerfile:
FROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu
# Install Ollama
RUN curl -fsSL https://ollama.com/install.sh | TERM=xterm sh
Ollama is about 3GB.
If I run envbuilder with ENVBUILDER_CACHE_REPO set, then the envbuilder process will cause an OOM (without CACHE_REPO, it completes):
docker run -it --rm \
-v $PWD:/workspace \
-e ENVBUILDER_WORKSPACE_FOLDER=/workspace \
-e ENVBUILDER_INIT_SCRIPT=bash \
-e ENVBUILDER_VERBOSE=1 \
-e ENVBUILDER_CACHE_REPO="<aws-acct-id>.dkr.ecr.us-west-2.amazonaws.com/envbuilder-cache" \
ghcr.io/coder/envbuilder
envbuilder v1.1.0+a3a6a83 - Build development environments from repositories in a container
No Dockerfile specified, looking for a devcontainer.json...
Building in Devcontainer mode using /.devcontainer/devcontainer.json
<...>
#1: RUN curl -fsSL https://ollama.com/install.sh | TERM=xterm sh
#1: Using new RunMarker command
#1: Cmd: /bin/sh
#1: Args: [-c curl -fsSL https://ollama.com/install.sh | TERM=xterm sh]
#1: Util.Lookup returned: &{Uid:0 Gid:0 Username:root Name:root HomeDir:/root}
#1: Performing slow lookup of group ids for root
#1: Running: [/bin/sh -c curl -fsSL https://ollama.com/install.sh | TERM=xterm sh]
>>> Installing ollama to /usr/local
>>> Downloading Linux arm64 bundle
######################################################################## 100.0%
<...>
>>> Install complete. Run "ollama" from the command line.
#1: Files changed [/etc <...> /var/log/lastlog]
#1: Taking snapshot of files...
#1: Adding to layer: [/ /etc <...> /var/log/lastlog]
#1: Hash components for file: /, mode: drwxr-xr-x, mtime: 2025-04-25 21:54:31.26944614 +0000 UTC, size: 1000, user-id: 0, group-id: 0
<...>
#1: Hash components for file: /var/log/lastlog, mode: -rw-rw-r--, mtime: 2025-04-25 21:55:28.376418937 +0000 UTC, size: 48568, user-id: 0, group-id: 17
#1: Deleting in layer: map[]
#1: Build: composite key for command RUN curl -fsSL https://ollama.com/install.sh | TERM=xterm sh &{[sha256:67d45b84f79ba63114ea97192913a59fff14c262ed2b83d15c357ac1b910b453 |1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin RUN curl -fsSL https://ollama.com/install.sh | TERM=xterm sh]}
#1: Build: cache key for command RUN curl -fsSL https://ollama.com/install.sh | TERM=xterm sh f4c8cf5ad4c513d32c23f27b704b5f4dcea782b9d5b3b7c96ce96867e8de03d3
The docker container exits after this. Checking dmesg shows that envbuilder was selected for oom-kill.
That last line ("Build: cache key for command") comes from kaniko, indicating something after that point is causing the excess memory use.
Possibly related issue on Kaniko github: https://github.com/GoogleContainerTools/kaniko/issues/909
- Vorherrschende Sprache
- Go
- Sterne
- 300
- Forks
- 64
- Ø Merge
- 20 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus coder/envbuilder
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
coder/envbuilder#506 ·
-
bug envbuilder needs-investigation
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
coder/envbuilder#495 ·
-
envbuilder Feature
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 56/100
coder/envbuilder#492 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
coder/envbuilder#484 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
coder/envbuilder#483 ·
Alle Issues in coder/envbuilder
Ähnliche Issues
-
enhancement low priority
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
eugenioenko/ttt#674 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
GoogleCloudPlatform/k8s-config-connector#13462 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
vavallee/bindery#2793 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag