[multiprocessing] Calling pool.terminate() from an error_callback causes deadlock
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Métriques de merge des PR
- Métriques de PR en attente
Description
| BPO | 42963 |
|---|---|
| Nosy | @sjelin |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = None
created_at = <Date 2021-01-19.01:08:51.183>
labels = ['3.7', 'type-bug', 'library']
title = '[multiprocessing] Calling pool.terminate() from an error_callback causes deadlock'
updated_at = <Date 2021-01-19.01:10:42.325>
user = 'https://github.com/sjelin'
bugs.python.org fields:
activity = <Date 2021-01-19.01:10:42.325>
actor = 'sjelin'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2021-01-19.01:08:51.183>
creator = 'sjelin'
dependencies = []
files = []
hgrepos = []
issue_num = 42963
keywords = []
message_count = 1.0
messages = ['385240']
nosy_count = 1.0
nosy_names = ['sjelin']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue42963'
versions = ['Python 3.6', 'Python 3.7']
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par lire le comportement de multiprocessing Pool autour de terminate() et error_callback, puis reproduisez le deadlock décrit dans le titre de l’issue. Le payload ne nomme aucun fichier source ni aucun test ; localiser l’implémentation concernée et le point d’entrée du test de régression nécessitera donc une recherche dans le dépôt. Le travail est terminé lorsque pool.terminate(), appelé depuis un error_callback, ne provoque plus de deadlock.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend, operating-systems
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100