xinyiZzz opened a new pull request, #21011:
URL: https://github.com/apache/doris/pull/21011

   ## Proposed changes
   
   The `bthread_setspecific` method of brpc 1.5 seems to have a bug. So far, 
two core dumps have appeared, as follows:
   
   Although I have bypassed the error for these two core dumps, in #20450 
#20999 , but I don't know the real cause of the error. And errors are very 
sporadic.
   
   Temporarily fall back to brpc 1.4 before the release of Doris 2.0, and try 
to return to brpc 1.5 for long-term observation after 2.0 is released
   
   ```
   F0618 13:36:54.697724 2114080 key.cpp:197] Check failed: false 
bthread_setspecific is called on invalid bthread_key_t{index=0 version=1}F0618 
13:36:54.697827 2114082 key.cpp:197] Check failed: false bthread_setspecific is 
called on invalid bthread_key_t{index=0 version=1}
   Check failure stack trace: ***
       @     0x55676a1f464d  google::LogMessage::Fail()
       @     0x55676a1f464d  google::LogMessage::Fail()
       @     0x55676a1f464d  google::LogMessage::Fail()
       @     0x55676a1f6b89  google::LogMessage::SendToLog()
       @     0x55676a1f6b89  google::LogMessage::SendToLog()
       @     0x55676a1f6b89  google::LogMessage::SendToLog()
       @     0x55676a1f41b6  google::LogMessage::Flush()
       @     0x55676a1f71f9  google::LogMessageFatal::~LogMessageFatal()
       @     0x55676a1f41b6  google::LogMessage::Flush()
       @     0x55676a1f41b6  google::LogMessage::Flush()
    
   0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, 
siginfo_t*, void*) at doris_master/doris/be/src/common/signal_handler.h:413
   1# 0x00007FF01F480090 in /lib/x86_64-linux-gnu/libc.so.6
   2# raise at ../sysdeps/unix/sysv/linux/raise.c:51
   3# abort at /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81
   4# 0x000055676A1FF039 in /mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   5# 0x000055676A1F464D in /mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   6# google::LogMessage::SendToLog() in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   7# google::LogMessage::Flush() in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   8# google::LogMessageFatal::~LogMessageFatal() in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   9# bthread_setspecific in /mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   10# doris::SwitchBthreadLocal::switch_to_bthread_local() at 
doris_master/doris/be/src/runtime/thread_context.h:226
   11# 
doris::SwitchThreadMemTrackerLimiter::SwitchThreadMemTrackerLimiter(std::shared_ptr<doris::MemTrackerLimiter>
 const&) at doris_master/doris/be/src/runtime/thread_context.h:299
   12# doris::RefCountClosure<doris::PTabletWriterCancelResult>::Run() at 
doris_master/doris/be/src/util/ref_count_closure.h:42
   13# brpc::Controller::EndRPC(brpc::Controller::CompletionInfo const&) in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   14# brpc::Controller::RunEndRPC(void*) in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   15# bthread::TaskGroup::task_runner(long) in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   16# bthread_make_fcontext in 
/mnt/ssd01/doris-master/VEC_UBSAN/be/lib/doris_be
   ```
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[[email protected]](mailto:[email protected]) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


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