This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new f5d0cdeeb45 [branch-2.1] avoid glog coredump when running with ASAN (#37134) f5d0cdeeb45 is described below commit f5d0cdeeb45344386d90cfe51692b302124de6fb Author: Mingyu Chen <morning...@163.com> AuthorDate: Tue Jul 2 17:45:04 2024 +0800 [branch-2.1] avoid glog coredump when running with ASAN (#37134) ## Proposed changes This is just a workround try avoid coredump like this: ``` #0 0x56414f0e8ed1 in __asan::CheckUnwind() crtstuff.c #1 0x56414f1009a2 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) crtstuff.c #2 0x56414f0ecbf3 in __asan::AsanThread::GetStackFrameAccessByAddr(unsigned long, __asan::AsanThread::StackFrameAccess*) crtstuff.c #3 0x56414f050d87 in __asan::AddressDescription::AddressDescription(unsigned long, unsigned long, bool) crtstuff.c #4 0x56414f052a73 in __asan::ErrorGeneric::ErrorGeneric(unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long) crtstuff.c #5 0x56414f0e6a9e in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool) crtstuff.c #6 0x56414f066885 in gmtime_r (/mnt/hdd01/ci/branch21-deploy/be/lib/doris_be+0x17ef3885) (BuildId: f58eb5e327529636) #7 0x564177940521 in google::LogMessage::Init(char const*, int, int, void (google::LogMessage::*)()) crtstuff.c #8 0x564151de36fc in doris::Status doris::ThriftRpcHelper::rpc(std::__cxx11::basic_string, std::allocator> const&, int, std::function&)>, int) /home/zcp/repo_center/doris_branch-2.1/doris/be/src/util/thrift_rpc_helper.cpp:76:13 #9 0x56417603cda7 in doris::vectorized::VRowDistribution::automatic_create_partition() /home/zcp/repo_center/doris_branch-2.1/doris/be/src/vec/sink/vrow_distribution.cpp:99:5 #10 0x56417614cffa in doris::vectorized::VTabletWriter::_send_new_partition_batch() /home/zcp/repo_center/doris_branch-2.1/doris/be/src/vec/sink/writer/vtablet_writer.cpp:1346:9 .... ``` --- be/src/util/thrift_rpc_helper.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/be/src/util/thrift_rpc_helper.cpp b/be/src/util/thrift_rpc_helper.cpp index 4410a27ee44..7904fc0b7b3 100644 --- a/be/src/util/thrift_rpc_helper.cpp +++ b/be/src/util/thrift_rpc_helper.cpp @@ -73,22 +73,38 @@ Status ThriftRpcHelper::rpc(const std::string& ip, const int32_t port, try { callback(client); } catch (apache::thrift::transport::TTransportException& e) { +#ifndef ADDRESS_SANITIZER LOG(WARNING) << "retrying call frontend service after " << config::thrift_client_retry_interval_ms << " ms, address=" << address << ", reason=" << e.what(); +#else + std::cerr << "retrying call frontend service after " + << config::thrift_client_retry_interval_ms << " ms, address=" << address + << ", reason=" << e.what() << std::endl; +#endif std::this_thread::sleep_for( std::chrono::milliseconds(config::thrift_client_retry_interval_ms)); status = client.reopen(timeout_ms); if (!status.ok()) { +#ifndef ADDRESS_SANITIZER LOG(WARNING) << "client reopen failed. address=" << address << ", status=" << status; +#else + std::cerr << "client reopen failed. address=" << address << ", status=" << status + << std::endl; +#endif return status; } callback(client); } } catch (apache::thrift::TException& e) { +#ifndef ADDRESS_SANITIZER LOG(WARNING) << "call frontend service failed, address=" << address << ", reason=" << e.what(); +#else + std::cerr << "call frontend service failed, address=" << address << ", reason=" << e.what() + << std::endl; +#endif std::this_thread::sleep_for( std::chrono::milliseconds(config::thrift_client_retry_interval_ms * 2)); // just reopen to disable this connection --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org