mkctr panics when a path passed to --files does not exist
Nadie ha tomado este issue todavía.
- #36 de @RaphaelFakhri — cerrado sin fusionar
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
Línea de trabajo
Comienza en el punto de entrada layerFromFiles e inspecciona su callback de filepath.WalkDir, incluido cómo se manejan los errores de writeDir. Reproduce el problema con el ejemplo proporcionado mkctr --files=./missing:/app/missing. Se considera terminado cuando el comando informa de un error que nombra la ruta que falta, termina con un estado distinto de cero y no entra en panic.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Running mkctr with a --files source that does not exist crashes with a nil pointer dereference instead of reporting an error.
For example, mkctr --files=./missing:/app/missing ... reaches layerFromFiles, which calls filepath.WalkDir on the source. When the source cannot be read, WalkDir calls the callback once with a nil fs.DirEntry and a non-nil error. The callback ignores the error and calls d.IsDir(), which panics:
panic: runtime error: invalid memory address or nil pointer dereference
The expected behavior is an error that names the missing path, and a non-zero exit status.
The callback also drops the error returned by writeDir for the parent directory, so a failing tar write is not reported at that point.
- Lenguaje dominante
- Go
- Estrellas
- 101
- Forks
- 10
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tailscale/mkctr
-
mkctr produces a different files layer on every buildQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Todos los issues de tailscale/mkctr
Issues similares
-
area: interop area: sip-core v3
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
fonoster/routr#705 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
kind/bug require/reproduce require/severity
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
oxc-project/tsgolint#1362 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hashicorp/terraform-provider-google#30703 ·
Los mantenedores suelen responder en 1 día