multiprocessing async .get() hangs if the pool is terminated
Abierto
Nadie ha tomado este issue todavía.
stdlib
topic-multiprocessing
type-bug
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
Bug description:
MWE
Steps to reproduce:
import multiprocessing
from time import sleep
with multiprocessing.Pool() as p:
result = p.apply_async(sleep, (1,))
result.get()
Expected behavior:
Either:
- result is returned. (
Pool().__exit__waits for every async task to finish); or - some kind of exception is raised when
.get()is called outsidewith Pool()
Comments
This is the same as #79659. That was marked as completed in 2021. However it seems the issue is still present.
CPython versions tested on:
3.12, 3.13, 3.14
Operating systems tested on:
Linux
Guía de contribución
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
Comienza ejecutando el MWE proporcionado y siguiendo la interacción entre Pool.exit y la llamada .get() del resultado asíncrono después de que el pool haya terminado. Compara el comportamiento con el issue #79659 y añade cobertura para el resultado esperado documentado: finalización o una excepción en lugar de un bloqueo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- operating-systems
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100