docker-library / docker-library/python
"debug build" for at least one image
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Dockerfile
- Estrellas
- 2.8k
- Forks
- 1.1k
- Merge medio
- 3 d 1 h
- PR fusionados (30 d)
- 1
Descripción
Recently we had a C extension for python failing in production in an environment that we do not own ourselves. The data in that environment was causing the issues. Because for that reason, it was complicated to reproduce it in different environments, we looked into running a debug version of python in that environment to understand where it was crashing, but that turned out quite complicated to do.
In the end I managed to home in on the data issues, set up data locally to reproduce it and build a debug version of the slim-bullseye image that I could use as a source for our application image. This allowed us to dump a core and investigate the back traces.
Would it be helpful to have at least one image that contains a debug build of python in this stack, so that it's easier for developers to switch to that image and do this analysis?
An image that adds these lines to .,/configure
--with-pydebug \
CFLAGS="-g -O0" \
and sets LDFLAGS="" instead of LDFLAGS="-Wl,--strip-all"; \ ,
installs gdb and gdb extensions (# enable GDB to load debugging data: https://github.com/docker-library/python/pull/701)
If that's not a good idea, could you let me know what you'd recommend otherwise as a better process?
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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.
Línea de trabajo
Empieza revisando cómo se construye la imagen slim-bullseye y dónde se establecen sus opciones de ./configure y LDFLAGS. Comprueba las flags propuestas para la compilación de depuración de Python, la instalación de GDB y las extensiones de GDB frente al proceso de imagen existente. Se considera completado cuando el proyecto tenga una imagen de depuración documentada o una alternativa clara y aprobada por un maintainer para producir core dumps y backtraces.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- docker, python
- Área
- build-system, devops
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100