Nested interrupt groups can deadlock during connection interruption
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38.1k
- Forks
- 4.6k
- Avg merge
- 19d 15h
- Merged PRs (30d)
- 1
Description
When a connection is wrapped by nested interrupt groups, concurrent interruption can deadlock. A group closes connections while holding its mutex, allowing nested groups to acquire their mutexes in the opposite order.
After selector or urltest switches, affected connections remain blocked in common/interrupt, causing file descriptor and memory usage to keep growing.
Contributor guide
No contributing guide indexed for this repository
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 by tracing the nested interrupt-group behavior in common/interrupt, focusing on mutex acquisition while connections are closed. Reproduce the problem around selector or urltest switches and observe blocked connections and resource growth. Done means concurrent interruption no longer deadlocks and affected connections are released.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100