zhaodongzhi opened a new issue, #1778:
URL: https://github.com/apache/incubator-brpc/issues/1778

   **Describe the bug (描述bug)**
   <img width="1549" alt="image" 
src="https://user-images.githubusercontent.com/6293650/172101231-f1fa36b4-5b45-428f-984f-df1d925e4f5d.png";>
   
   brpc对于h2的实现出现了deadlock
   
   死锁路径为:
   
   brpc::policy::ParseH2Message // Brpc handle response
   |-> brpc::policy::H2Context::ClearAbandonedStreamsImpl lock mutex 
_abandoned_streams_mutex
   |->|-> H2Context::RemoveStream // Remove adandoned stream
   |->|->|-> H2Context::DeferWindowUpdate // Update window
   |->|->|->|-> WriteAck // For update window
   |->|->|->|->|-> Socket::Write // Error happened
   |->|->|->|->|->|-> SetFailed -> ... (callback) ... -> DestroyStreamUserData
   |->|->|->|->|->|->|-> AddAbandonedStream // Try lock 
_abandoned_streams_mutex -> deadlock with ClearAbandonedStreamsImpl
   
   **To Reproduce (复现方法)**
   
   暂时还没有深入分析以及制造复现条件,先在这里记录一下这个问题
   
   **Expected behavior (期望行为)**
   
   
   **Versions (各种版本)**
   OS: 
   Compiler: gcc 4.8.5
   brpc: v1.0.0
   protobuf:
   
   **Additional context/screenshots (更多上下文/截图)**
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to