Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

envbuilder causes OOM when pushing large image layers to cache

Aberta
#459 0 comentários 1 reação 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
30/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
docker, go
Domínio
build-system

Direção de pesquisa

Reproduza a falha com o comando docker run fornecido, uma camada do Ollama e ENVBUILDER_CACHE_REPO definido. Comece em kaniko's pkg/executor/build.go#L441, onde o log de cache-key aparece, e rastreie o caminho de push do cache. O trabalho estará concluído quando a camada grande puder ser armazenada em cache sem que envbuilder seja encerrado por OOM.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
Go
Estrelas
302
Forks
65
Merge médio
1d 12h
PRs com merge (30d)
3

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

  • Sem Dockerfile nem arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de coder/envbuilder

Todas as issues de coder/envbuilder

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.