dockerzhang opened a new issue #963:
URL: https://github.com/apache/incubator-inlong/issues/963


   <p>When tubemq::TubeMQConsumer shutdown() is called, there is a small 
probability that it will be cored directly. The following is the stack 
information:</p>
   
   <p> </p>
   <blockquote><p>#0 0x00002b939d73cc8e in __memcmp_sse4_1 () from 
/lib64/libc.so.6<br/>
    #1 0x00002b939ce788b3 in std::string::compare(std::string const&) const () 
from /lib64/libstdc++.so.6<br/>
    #2 0x0000000000528c2e in operator< <char, std::char_traits<char>, 
std::allocator<char> > (__rhs="", __lhs="")<br/>
    at /usr/include/c++/4.8.2/bits/basic_string.h:2571<br/>
    #3 operator() (this=<optimized out>, __y="", __x="") at 
/usr/include/c++/4.8.2/bits/stl_function.h:235<br/>
    #4 std::_Rb_tree<std::string, std::pair<std::string const, 
tubemq::PartitionExt>, std::_Select1st<std::pair<std::string const, 
tubemq::PartitionExt> >, std::less<std::string>, 
std::allocator<std::pair<std::string const, tubemq::PartitionExt> > 
>::_M_lower_bound (<br/>
    __x=0x2b93f00250f0, __y=0x2b93f0011f90, __y@entry=0x4a9d148, __k="", 
this=0x4a9d140) at /usr/include/c++/4.8.2/bits/stl_tree.h:1141<br/>
    #5 0x000000000052d65a in std::_Rb_tree<std::string, std::pair<std::string 
const, tubemq::PartitionExt>, std::_Select1st<std::pair<std::string const, 
tubemq::PartitionExt> >, std::less<std::string>, 
std::allocator<std::pair<std::string const, tubemq::PartitionExt> > >::find 
(this=this@entry=0x4a9d140, __k="") at 
/usr/include/c++/4.8.2/bits/stl_tree.h:1792<br/>
    #6 0x0000000000529a4d in find (__x="", this=0x4a9d140) at 
/usr/include/c++/4.8.2/bits/stl_map.h:822<br/>
    Python Exception <type 'exceptions.IndexError'> list index out of range: 
<br/>
    #7 tubemq::RmtDataCacheCsm::GetPartitionByBroker 
(this=this@entry=0x4a9cf90, broker_info=..., partition_list=empty 
std::list)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/rmt_data_cache.cc:334<br/>
    #8 0x000000000050b57d in tubemq::BaseConsumer::reSetBrokerHBTimer 
(this=0x4a9cd90, broker=...)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/baseconsumer.cc:1500<br/>
    #9 0x000000000050b900 in tubemq::BaseConsumer::_<em>lambda14::operator() 
(</em>_closure=0x2b93dc030070, error=..., response_context=...)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/baseconsumer.cc:801<br/>
    #10 0x000000000050be10 in std::<em>Function_handler<void(tubemq::ErrorCode, 
const tubemq::ResponseContext&), 
tubemq::BaseConsumer::processHeartBeat2Broker(tubemq::NodeInfo)::</em>_lambda14>::_M_invoke(const
 std::_Any_data &, tubemq::ErrorCode, const tubemq::ResponseContext &) (<br/>
    __functor=..., __args#0=..., __args#1=...) at 
/usr/include/c++/4.8.2/functional:2071<br/>
    #11 0x0000000000538318 in operator() (__args#1=..., <br/>
    __args#0=<error reading variable: access outside bounds of object 
referenced via synthetic pointer>, this=0x2b93a7133810)<br/>
    at /usr/include/c++/4.8.2/functional:2471<br/>
    #12 tubemq::Promise<tubemq::ResponseContext>::callbackAndNotify 
(this=this@entry=0x2b93d4001670)<br/>
    at /root/access_platform_group/TubeMQ-Client-Cpp/src/future.h:130<br/>
    #13 0x000000000053201d in SetValue (value=..., this=0x2b93d4001670) at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/future.h:102<br/>
    #14 tubemq::ClientConnection::requestCallback 
(this=this@entry=0x2b93d0915898, request_id=46829, err=err@entry=0x0, <br/>
    check_out=check_out@entry=0x2b93a7133930) at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:248<br/>
    #15 0x0000000000532531 in tubemq::ClientConnection::checkPackageDone 
(this=0x2b93d0915898)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:221<br/>
    #16 0x0000000000532c05 in tubemq::ClientConnection::__lambda7::operator() 
(ec=..., len=<optimized out>, __closure=0x2b93a7133b10)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:178<br/>
    #17 0x00000000005351d8 in operator() (this=0x2b93a7133b10)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/bind_handler.hpp:181<br/>
    #18 
asio_handler_invoke<asio::detail::binder2<tubemq::ClientConnection::asyncRead()::__lambda7,
 std::error_code, long unsigned int> > (<br/>
    function=...) at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/handler_invoke_hook.hpp:87<br/>
    #19 
invoke<asio::detail::binder2<tubemq::ClientConnection::asyncRead()::_<em>lambda7,
 std::error_code, long unsigned int>, 
tubemq::ClientConnection::asyncRead()::</em>_lambda7> (context=..., 
function=...)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/handler_invoke_helpers.hpp:54<br/>
    #20 
complete<asio::detail::binder2<tubemq::ClientConnection::asyncRead()::__lambda7,
 std::error_code, long unsigned int> > (<br/>
    handler=..., function=..., this=0x2b93a7133ae0)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/handler_work.hpp:424<br/>
    #21 asio::detail::reactive_socket_recv_op<asio::mutable_buffers_1, 
tubemq::ClientConnection::asyncRead()::__lambda7, 
asio::execution::any_executor<asio::execution::context_as_t<asio::execution_context&>,
 asio::execution::detail::blocking::never_t<0>, 
asio::execution::prefer_only<asio::execution::detail::blocking::possibly_t<0> 
>, 
asio::execution::prefer_only<asio::execution::detail::outstanding_work::tracked_t<0>
 >, 
asio::execution::prefer_only<asio::execution::detail::outstanding_work::untracked_t<0>
 >, 
asio::execution::prefer_only<asio::execution::detail::relationship::fork_t<0> 
>, 
asio::execution::prefer_only<asio::execution::detail::relationship::continuation_t<0>
 > > >::do_complete(void *, asio::detail::operation *, const asio::error_code 
&, std::size_t) (owner=0x2b93d0026c30, base=<optimized out>)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/reactive_socket_recv_op.hpp:144<br/>
    #22 0x0000000000501c19 in complete (bytes_transferred=<optimized out>, 
ec=..., owner=0x2b93d0026c30, this=<optimized out>)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/scheduler_operation.hpp:39<br/>
    #23 asio::detail::scheduler::do_run_one (this=this@entry=0x2b93d0026c30, 
lock=..., this_thread=..., ec=...)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/impl/scheduler.ipp:480<br/>
    #24 0x0000000000502401 in asio::detail::scheduler::run 
(this=this@entry=0x2b93d0026c30, ec=...)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/impl/scheduler.ipp:203<br/>
    #25 0x000000000051f1c9 in run (this=<optimized out>)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/impl/io_context.ipp:62<br/>
    #26 tubemq::Executor::StartWorker (this=<optimized out>, 
io_context=...)<br/>
    at 
/root/access_platform_group/TubeMQ-Client-Cpp/src/executor_pool.cc:42<br/>
    #27 0x0000000000522b42 in operator()<std::shared_ptr<asio::io_context>&, 
void> (__object=<optimized out>, this=<optimized out>)<br/>
    at /usr/include/c++/4.8.2/functional:601<br/>
    #28 _<em>call<void, 0ul, 1ul> (</em>_args=<optimized out>, this=<optimized 
out>) at /usr/include/c++/4.8.2/functional:1296<br/>
    #29 operator()<, void> (this=<optimized out>) at 
/usr/include/c++/4.8.2/functional:1355<br/>
    #30 _M_invoke<> (this=<optimized out>) at 
/usr/include/c++/4.8.2/functional:1732<br/>
    #31 operator() (this=<optimized out>) at 
/usr/include/c++/4.8.2/functional:1720<br/>
    --<del>Type <return> to continue, or q <return> to quit</del>--<br/>
    #32 std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void 
(tubemq::Executor::<b>)(std::shared_ptr<asio::io_context>)> 
(tubemq::Executor</b>, std::shared_ptr<asio::io_context>)> ()> >::_M_run() 
(this=<optimized out>) at /usr/include/c++/4.8.2/thread:115<br/>
    #33 0x00002b939ce70220 in ?? () from /lib64/libstdc++.so.6<br/>
    #34 0x00002b939c0c6e25 in start_thread () from /lib64/libpthread.so.0<br/>
    #35 0x00002b939d6d435d in clone () from /lib64/libc.so.6</p></blockquote>
   <i>JIRA link - <a 
href="https://issues.apache.org/jira/browse/INLONG-368";>[INLONG-368]</a> 
created by h-j-13</i>


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


Reply via email to