python / python/cpython

Items put on Queue in thread in child process sometimes not seen by parent process

Ouverte
#85,780 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

stdlib 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 41614
Nosy @alexmojaki
Files
  • queue_bug.py: A script you can run to observe this bug, with extensive comments
  • 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 2020-08-22.11:42:15.115>
    labels = ['3.7', '3.8', '3.10']
    title = 'Items put on Queue in thread in child process sometimes not seen by parent process'
    updated_at = <Date 2020-08-22.11:42:15.115>
    user = 'https://github.com/alexmojaki'
    

    bugs.python.org fields:

    activity = <Date 2020-08-22.11:42:15.115>
    actor = 'alexmojaki'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = []
    creation = <Date 2020-08-22.11:42:15.115>
    creator = 'alexmojaki'
    dependencies = []
    files = ['49422']
    hgrepos = []
    issue_num = 41614
    keywords = []
    message_count = 1.0
    messages = ['375795']
    nosy_count = 1.0
    nosy_names = ['alexmojaki']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = None
    status = 'open'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue41614'
    versions = ['Python 3.6', 'Python 3.7', 'Python 3.8', 'Python 3.10']
    

    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 queue_bug.py, le script de reproduction fourni, et suivez ses nombreux commentaires pour observer quand des éléments placés dans une Queue depuis un thread d’un processus enfant sont absents du processus parent. Suivez le comportement pertinent de la file d’attente de multiprocessing et mettez en place un test de régression pour le cas signalé ; le travail est considéré comme terminé lorsque le processus parent voit de manière fiable les éléments mis en file. Aucun fichier de test n’est nommé dans l’issue.

    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
    28/100

    Recevez les nouvelles issues par e-mail

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