python / python/cpython

Reference cycles from a WeakKeyDictionary value to its key aren’t collected

Open
#88,846 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

3.12 stdlib type-bug
Dominant language
Python
Stars
77.2k
Forks
36k
PR merge metrics
PR metrics pending

Description

BPO 44680
Nosy @andersk

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-07-19.21:23:17.423>
labels = ['library', '3.9', 'performance']
title = 'Reference cycles from a WeakKeyDictionary value to its key aren\xe2\x80\x99t collected'
updated_at = <Date 2021-07-19.23:06:04.944>
user = 'https://github.com/andersk'

bugs.python.org fields:

activity = <Date 2021-07-19.23:06:04.944>
actor = 'andersk'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2021-07-19.21:23:17.423>
creator = 'andersk'
dependencies = []
files = []
hgrepos = []
issue_num = 44680
keywords = []
message_count = 2.0
messages = ['397841', '397845']
nosy_count = 1.0
nosy_names = ['andersk']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'resource usage'
url = 'https://bugs.python.org/issue44680'
versions = ['Python 3.9']

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reference-cycle behavior described for WeakKeyDictionary, then inspect its standard-library implementation and existing tests. A complete fix should ensure cycles from a value back to its key are collected without regressing WeakKeyDictionary behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.