Wrong exception is raised at keyboard interrupt and application never finishes
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza en src/devdocs2zim/entrypoint.py, en main, y luego sigue generator.py a través de run, generate_zim y add_zim_contents hasta la llamada a creator.add_item_for que aparece en el traceback. Reproduce la interrupción del teclado y determina si la excepción incorrecta o la limpieza de recursos se gestiona aquí o en la dependencia upstream sospechada pylibzim. Se considera terminado cuando la interrupción produce la excepción correcta y el scraper sale en lugar de quedarse bloqueado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When a keyboard interrupt is sent while the libzim creator has already been created and is procesing entries, wrong exception is raised and the scraper never finishes and stays stuck.
^C[devdocs2zim::2024-09-10 07:12:10,459] ERROR:Traceback (most recent call last):
File "libzim/libzim.pyx", line 98, in libzim.string_cy_call_fct
File "libzim/libzim.pyx", line 84, in libzim.call_method
AttributeError: 'StaticItem' object has no attribute 'get_mimetype'
Traceback (most recent call last):
File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/entrypoint.py", line 90, in main
).run()
^^^^^
File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/generator.py", line 366, in run
self.generate_zim(
File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/generator.py", line 423, in generate_zim
self.add_zim_contents(
File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/generator.py", line 499, in add_zim_contents
creator.add_item_for( # type: ignore
File "/home/benoit/Repos/openzim/devdocs/.hatch/devdocs2zim/lib/python3.12/site-packages/zimscraperlib/zim/creator.py", line 367, in add_item_for
self.add_item(
File "/home/benoit/Repos/openzim/devdocs/.hatch/devdocs2zim/lib/python3.12/site-packages/zimscraperlib/zim/creator.py", line 404, in add_item
raise exc
File "/home/benoit/Repos/openzim/devdocs/.hatch/devdocs2zim/lib/python3.12/site-packages/zimscraperlib/zim/creator.py", line 401, in add_item
super().add_item(item)
File "libzim/libzim.pyx", line 358, in libzim._Creator.add_item
RuntimeError: Traceback (most recent call last):
File "libzim/libzim.pyx", line 98, in libzim.string_cy_call_fct
File "libzim/libzim.pyx", line 84, in libzim.call_method
AttributeError: 'StaticItem' object has no attribute 'get_mimetype'
I strongly suspect this is linked to both wrong exception handling in pylibzim and/or a problem freeing C++ resources.
I'll open an issue in pylibzim, because I strongly suspect this is an upstream issue.
- Lenguaje dominante
- Python
- Estrellas
- 9
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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.
Más de openzim/devdocs
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Make zimcheck pass Abiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Todos los issues de openzim/devdocs
Issues similares
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
open-webui/open-webui#30750 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100