Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

The unexpected exit of `jsonfile.Encode` is blocking the container's stdout and stderr.

Abierto
#4,591 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
52/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
go

Línea de trabajo

Empieza leyendo pkg/logging/jsonfile/jsonfile.go alrededor de las líneas 62-65 y, después, ejecuta la reproducción de nerdctl indicada con el controlador de logs json-file y un archivo de log lleno o inmutable. Se considera terminado cuando un error de escritura de archivo ya no detiene la copia de logs y el contenedor ping no se queda bloqueado; verifica el comportamiento frente al resultado esperado indicado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

kind/unconfirmed-bug-claim
Description

Any file write error will cause jsonfile.Encode to exit, stopping the copying of container logs. When buffer is full, container log writes will then block and hang.

Due to a full file system in our environment, a container hung on write logs. Despite our prompt cleanup, the issue persisted and was resolved by restarting the container finally.

relate https://github.com/containerd/containerd/issues/12462

Container use json-file log driver have this issue.

https://github.com/containerd/nerdctl/blob/3c376a817e6b825df192a4d3fdb65404e1276f81/pkg/logging/jsonfile/jsonfile.go#L62-L65

Steps to reproduce the issue
  1. nerdctl run -d --name logging-test docker.io/library/busybox:latest ping 127.0.0.1 -i 0.1 -c 3000
  2. chattr +i $(nerdctl inspect logging-test -f {{.LogPath}}); sleep 1; chattr -i $(nerdctl inspect logging-test -f {{.LogPath}})
  3. The ping commands hangs forever.
Describe the results you received and expected

Received: container hang
Expected: container not hang

What version of nerdctl are you using?
Client:
 Version:       1.7.7
 OS/Arch:       linux/amd64
 Git commit:    23d838b457213765095992ddd2c1b26a0c402632.m
 buildctl:
  Version:

Server:
 containerd:
  Version:      1.6.32
  GitCommit:    8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89
 runc:
  Version:      1.1.12
  GitCommit:    v1.1.12-0-g51d5e94
Are you using a variant of nerdctl? (e.g., Rancher Desktop)

None

Host information
Client:
 Namespace:     default
 Debug Mode:    false

Server:
 Server Version: 1.6.32
 Storage Driver: overlayfs
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Log: fluentd journald json-file syslog
  Storage: native overlayfs
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 4.18.0-513.24.1.el8_9.v1.x86_64
 Operating System: Rocky Linux 8.9 (Green Obsidian)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.718GiB
 Name: osbuild
 ID: ef318042-eff5-4f1c-9609-b726bd1e0a19

WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Lenguaje dominante
Go
Estrellas
10.4k
Forks
834
Merge medio
1 d 19 h
PR fusionados (30 d)
45

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de containerd/nerdctl

Todos los issues de containerd/nerdctl

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.