geblue opened a new issue #1369:
URL: https://github.com/apache/incubator-brpc/issues/1369


   coredump的具体位置在 `error_code 
==0`的分支里`static_cast<google::protobuf::Closure*>(data)->Run();` 这句。有个疑问是 
`ResetNonPods`里为什么一定要调用 `RunOnCancel`呢?如果之前已经满足了cancel的条件,`RunOnCancel` 
以及`data` 代表的回调函数已经被调用过了,这时候`data` 对应的closure已经被删除了吧, 这时候`ResetNonPods`再调用 
`RunOnCancel`,是不是有问题?
   
   
   相关coredump信息
   `#7  0x00007f87e8203b30 in ?? ()
   #8  0x00007f98a91827ae in brpc::Controller::RunOnCancel (id=..., 
data=0x7f87e8120f70, error_code=<optimized out>)
       at external/brpc/src/brpc/controller.cpp:489
   #9  0x00007f98a929ce54 in bthread_id_error2_verbose (id=..., 
error_code=<optimized out>, error_text="", 
       location=0x7f98a9b696f0 "external/brpc/src/brpc/controller.cpp:168") at 
external/brpc/src/bthread/id.cpp:727
   #10 0x00007f98a929d037 in bthread_id_error_verbose (id=..., 
error_code=<optimized out>, location=<optimized out>)
       at external/brpc/src/bthread/id.cpp:458
   #11 0x00007f98a9182f2a in brpc::Controller::ResetNonPods 
(this=this@entry=0x7f87e8120b10) at external/brpc/src/brpc/controller.cpp:168
   #12 0x00007f98a9183177 in brpc::Controller::~Controller 
(this=0x7f87e8120b10, __in_chrg=<optimized out>)
       at external/brpc/src/brpc/controller.cpp:131
   #13 0x00007f98a9183331 in brpc::Controller::~Controller 
(this=0x7f87e8120b10, __in_chrg=<optimized out>)
       at external/brpc/src/brpc/controller.cpp:132
   #14 0x00007f98a92377ad in brpc::LogErrorTextAndDelete::operator() 
(this=this@entry=0x7f8b7c4f5990, c=0x7f87e8120b10)
       at external/brpc/src/brpc/protocol.cpp:247
   #15 0x00007f98a91ce9ec in brpc::policy::SendRpcResponse 
(correlation_id=25451976196098, cntl=0x7f87e8120b10, req=0x7f87e8120d70, 
       res=0x7f87e8120e40, server=<optimized out>, method_status=<optimized 
out>, received_us=11910838960301)
       at /usr/include/c++/4.8/bits/unique_ptr.h:184
   #16 0x00007f98a91d0686 in brpc::internal::FunctionClosure7<long, 
brpc::Controller*, google::protobuf::Message const*, google::protobuf::Message 
const*, brpc::Server const*, brpc::MethodStatus*, long>::Run 
(this=0x7f87e8120e80) at external/brpc/src/brpc/callback.h:485
   #17 0x00007f98a90f8d03 in brpc::ClosureGuard::~ClosureGuard (this=<synthetic 
pointer>, __in_chrg=<optimized out>)
       at external/brpc/src/brpc/closure_guard.h:39`


-- 
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.

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