python / python/cpython

Weakref callbacks running before finalizers in GC collection

Ouverte
#84,492 17 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

3.7 (EOL) 3.8 (EOL) 3.9 (EOL) interpreter-core type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Merge moyen
1 j 9 h
PR mergées (30 j)
558

Description

BPO 40312
Nosy @tim-one, @pablogsal, @a-feld
Files
  • 0001-Run-finalizers-before-invoking-weakref-callbacks.patch
  • 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-04-17.19:52:40.901>
    labels = ['interpreter-core', '3.8', 'type-bug', '3.7', '3.9']
    title = 'Weakref callbacks running before finalizers in GC collection'
    updated_at = <Date 2020-04-20.21:54:30.265>
    user = 'https://github.com/a-feld'
    

    bugs.python.org fields:

    activity = <Date 2020-04-20.21:54:30.265>
    actor = 'tim.peters'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Interpreter Core']
    creation = <Date 2020-04-17.19:52:40.901>
    creator = 'a-feld'
    dependencies = []
    files = ['49076']
    hgrepos = []
    issue_num = 40312
    keywords = ['patch']
    message_count = 17.0
    messages = ['366675', '366750', '366751', '366753', '366754', '366797', '366844', '366845', '366848', '366850', '366853', '366857', '366859', '366862', '366864', '366873', '366895']
    nosy_count = 4.0
    nosy_names = ['tim.peters', 'pablogsal', 'a-feld', 'deekay']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = None
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue40312'
    versions = ['Python 2.7', 'Python 3.5', 'Python 3.6', 'Python 3.7', 'Python 3.8', 'Python 3.9']
    

    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 la discussion de l’issue liée et par le fichier 0001-Run-finalizers-before-invoking-weakref-callbacks.patch téléversé. Lisez la modification proposée et le comportement environnant de CPython en matière de garbage collection avant de déterminer l’implémentation requise et la couverture de non-régression. Le travail est terminé lorsque weakref callbacks sont systématiquement exécutés après finalizers lors de la collecte de GC et que les tests concernés passent.

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

    Évaluation

    Stack technique
    python
    Domaine
    compilers
    Type d'issue
    Bug
    Difficulté
    5/5
    Temps estimé
    Plus d'une semaine
    Activité
    À l'abandon
    Clarté
    Plutôt claire
    Accessibilité débutants
    20/100

    Recevez les nouvelles issues par e-mail

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