[Windows] multiprocessing handle leak when child process is killed during startup/unpickling
Open
Nobody has claimed this yet.
3.10
3.8 (EOL)
3.9 (EOL)
OS-windows
stdlib
topic-multiprocessing
type-bug
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- PR merge metrics
- PR metrics pending
Description
| BPO | 42968 |
|---|---|
| Nosy | @pfmoore, @tjguk, @zware, @eryksun, @zooba, @dgrunwald |
| Files |
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.18:24:16.409>
labels = ['type-bug', '3.8', '3.9', '3.10', 'library', 'OS-windows']
title = '[Windows] multiprocessing handle leak when child process is killed during startup/unpickling'
updated_at = <Date 2021-03-30.18:31:06.717>
user = 'https://github.com/dgrunwald'
bugs.python.org fields:
activity = <Date 2021-03-30.18:31:06.717>
actor = 'eryksun'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)', 'Windows']
creation = <Date 2021-01-19.18:24:16.409>
creator = 'dgrunwald'
dependencies = []
files = ['49751']
hgrepos = []
issue_num = 42968
keywords = []
message_count = 3.0
messages = ['385283', '385284', '385380']
nosy_count = 6.0
nosy_names = ['paul.moore', 'tim.golden', 'zach.ware', 'eryksun', 'steve.dower', 'dgrunwald']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue42968'
versions = ['Python 3.8', 'Python 3.9', 'Python 3.10']
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached deadlock.py reproducer and the Windows multiprocessing startup/unpickling path. Reproduce the case where a child is killed during startup, then investigate whether the process handle remains open. Done means the reproducer no longer leaks a handle on supported Python versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100