This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 9454bcca12 [fix](memory) Fix USE_JEMALLOC=true UBSAN compilation error #13398 9454bcca12 is described below commit 9454bcca12f870c02b028778a1d18a2e632ef260 Author: Xinyi Zou <zouxiny...@gmail.com> AuthorDate: Mon Oct 17 08:52:14 2022 +0800 [fix](memory) Fix USE_JEMALLOC=true UBSAN compilation error #13398 --- be/CMakeLists.txt | 18 +++++++++--------- be/src/common/daemon.cpp | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt index 0674bc7922..6767d09dde 100644 --- a/be/CMakeLists.txt +++ b/be/CMakeLists.txt @@ -756,22 +756,22 @@ set(DORIS_LINK_LIBS ${DORIS_LINK_LIBS} -lresolv ) +if (USE_JEMALLOC) + set(MALLOCLIB jemalloc) +else () + set(MALLOCLIB tcmalloc) +endif() + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(ASAN_LIBS -static-libasan) set(LSAN_LIBS -static-liblsan) - set(UBSAN_LIBS -static-libubsan tcmalloc) + set(UBSAN_LIBS -static-libubsan ${MALLOCLIB}) set(TSAN_LIBS -static-libtsan) else () - set(UBSAN_LIBS -rtlib=compiler-rt tcmalloc) + set(UBSAN_LIBS -rtlib=compiler-rt ${MALLOCLIB}) endif () -if (USE_JEMALLOC) - set(MALLOCLIB jemalloc) -else () - set(MALLOCLIB tcmalloc) -endif() - -# Add sanitize static link flags or tcmalloc +# Add sanitize static link flags if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RELEASE") set(DORIS_LINK_LIBS ${DORIS_LINK_LIBS} ${MALLOCLIB}) elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "ASAN") diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp index 0492400e21..d3ac786c8b 100644 --- a/be/src/common/daemon.cpp +++ b/be/src/common/daemon.cpp @@ -69,6 +69,8 @@ bool k_doris_exit = false; void Daemon::tcmalloc_gc_thread() { // TODO All cache GC wish to be supported +#if !defined(ADDRESS_SANITIZER) && !defined(LEAK_SANITIZER) && !defined(THREAD_SANITIZER) && \ + !defined(USE_JEMALLOC) while (!_stop_background_threads_latch.wait_for(std::chrono::seconds(10))) { size_t used_size = 0; size_t free_size = 0; @@ -87,6 +89,7 @@ void Daemon::tcmalloc_gc_thread() { } } } +#endif } void Daemon::memory_maintenance_thread() { @@ -264,13 +267,10 @@ void Daemon::init(int argc, char** argv, const std::vector<StorePath>& paths) { void Daemon::start() { Status st; -#if !defined(ADDRESS_SANITIZER) && !defined(LEAK_SANITIZER) && !defined(THREAD_SANITIZER) && \ - !defined(USE_JEMALLOC) st = Thread::create( "Daemon", "tcmalloc_gc_thread", [this]() { this->tcmalloc_gc_thread(); }, &_tcmalloc_gc_thread); CHECK(st.ok()) << st.to_string(); -#endif st = Thread::create( "Daemon", "memory_maintenance_thread", [this]() { this->memory_maintenance_thread(); }, &_memory_maintenance_thread); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org