多线程死锁
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 184
- Avg merge
- 13h 4m
- Merged PRs (30d)
- 1
Description
在entry.h 162行,写log时使用了flowTag.tag_id查找waiting_to_notify_receiver,而真正新建的是flowTag.current_flow_id,会导致插入不存在的键值,在多线程或者某些情况下,可能导致waiting_to_notify_receiver成环,进而程序死锁。不知道对不对,请排查一下
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 at entry.h line 162 and trace how waiting_to_notify_receiver is written and how its keys are created from flowTag. Compare the use of tag_id with current_flow_id, then investigate whether concurrent execution can form a cycle and deadlock. Done means the suspected key mismatch and deadlock risk are confirmed or ruled out with the relevant behavior addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100