python / python/cpython

Multi-threaded circular import fails with _DeadlockError when using importlib

Open
#82,276 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

3.7 (EOL) 3.8 (EOL) 3.9 (EOL) stdlib topic-importlib type-bug
Dominant language
Python
Stars
77.2k
Forks
36k
Avg merge
1d 9h
Merged PRs (30d)
558

Description

BPO 38095
Nosy @rlamy

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 2019-09-10.19:10:54.811>
labels = ['3.7', '3.8', 'type-bug', 'library', '3.9']
title = 'Multi-threaded circular import fails with _DeadlockError when using importlib'
updated_at = <Date 2019-09-10.19:10:54.811>
user = 'https://github.com/rlamy'

bugs.python.org fields:

activity = <Date 2019-09-10.19:10:54.811>
actor = 'Ronan.Lamy'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2019-09-10.19:10:54.811>
creator = 'Ronan.Lamy'
dependencies = []
files = []
hgrepos = []
issue_num = 38095
keywords = []
message_count = 1.0
messages = ['351738']
nosy_count = 1.0
nosy_names = ['Ronan.Lamy']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue38095'
versions = ['Python 3.6', 'Python 3.7', 'Python 3.8', '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 multi-threaded circular import described in the issue using importlib, then inspect the relevant importlib behavior and thread interaction. Done means the circular import no longer incorrectly fails with _DeadlockError; no specific files or tests are identified in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.