python / python/cpython

multiprocessing.Condition.notify_all() blocks indefinitely if a process waiting on it has died

Ouverte
#75,158 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

3.7 (EOL) OS-windows topic-multiprocessing type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

BPO 30975
Nosy @pfmoore, @pitrou, @tjguk, @zware, @zooba, @applio, @mickp
Files
  • WaitersSleepers.py: A script to demonstrate to the issue.
  • WaitersSleepers.py
  • 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 2017-07-20.11:29:48.884>
    labels = ['type-bug', '3.7', 'OS-windows']
    title = 'multiprocessing.Condition.notify_all() blocks indefinitely if a process waiting on it has died'
    updated_at = <Date 2017-07-20.14:20:00.088>
    user = 'https://github.com/mickp'
    

    bugs.python.org fields:

    activity = <Date 2017-07-20.14:20:00.088>
    actor = 'pitrou'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Windows']
    creation = <Date 2017-07-20.11:29:48.884>
    creator = 'mickp'
    dependencies = []
    files = ['47025', '47027']
    hgrepos = []
    issue_num = 30975
    keywords = []
    message_count = 4.0
    messages = ['298713', '298719', '298720', '298722']
    nosy_count = 8.0
    nosy_names = ['paul.moore', 'pitrou', 'tim.golden', 'sbt', 'zach.ware', 'steve.dower', 'davin', 'mickp']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = 'needs patch'
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue30975'
    versions = ['Python 2.7', 'Python 3.5', 'Python 3.6', 'Python 3.7']
    

    Guide de contribution

    Ouvrir le guide de contribution

    Par où commencer

    1. Lisez l'issue en entier, puis le guide de contribution du projet.
    2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
    3. Forkez le dépôt et travaillez sur une branche.
    4. Ouvrez une pull request qui référence le numéro de l'issue.

    Piste de recherche

    Commencez par exécuter le reproducer joint WaitersSleepers.py et comparez les deux versions téléversées, les fichiers WaitersSleepers.py 47025 et 47027. Suivez le comportement de Windows multiprocessing.Condition lorsqu’un processus en attente se termine, puis vérifiez que notify_all() retourne au lieu de se bloquer indéfiniment dans ce scénario.

    Rédigé par le modèle d'indexation à partir du texte de l'issue.

    Évaluation

    Stack technique
    python
    Domaine
    operating-systems
    Type d'issue
    Bug
    Difficulté
    4/5
    Temps estimé
    3-5 jours
    Activité
    À l'abandon
    Clarté
    Plutôt claire
    Accessibilité débutants
    35/100

    Recevez les nouvelles issues par e-mail

    Un résumé court des issues GitHub adaptées aux débutants.