zhiqiang-hhhh opened a new issue, #24082: URL: https://github.com/apache/doris/issues/24082
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version 2.0 ### What's Wrong? ```txt t's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'. ================================================================= ==15848==ERROR: AddressSanitizer: heap-use-after-free on address 0x60e000084b28 at pc 0x5641b20e5196 bp 0x7f91f8973a70 sp 0x7f91f8973a68 READ of size 8 at 0x60e000084b28 thread T799 (memory_maintena) #0 0x5641b20e5195 in std::_shared_ptr<doris::MemTracker::MemCounter, (_gnu_cxx::_Lock_policy)2>::get() const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1291:16 #1 0x5641b20e5195 in std::_shared_ptr_access<doris::MemTracker::MemCounter, (_gnu_cxx::_Lock_policy)2, false, false>::_M_get() const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:990:66 #2 0x5641b20e5195 in std::_shared_ptr_access<doris::MemTracker::MemCounter, (_gnu_cxx::_Lock_policy)2, false, false>::operator->() const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:984:9 #3 0x5641b20e5195 in doris::MemTracker::consumption() const /root/doris/be/src/runtime/memory/mem_tracker.h:132:42 #4 0x5641b20e5195 in doris::MemTrackerLimiter::refresh_global_counter() /root/doris/be/src/runtime/memory/mem_tracker_limiter.cpp:121:55 #5 0x5641b005b7cb in doris::Daemon::memory_maintenance_thread() /root/doris/be/src/common/daemon.cpp:204:13 #6 0x5641b2704523 in std::function<void ()>::operator()() const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:560:9 #7 0x5641b2704523 in doris::Thread::supervise_thread(void*) /root/doris/be/src/util/thread.cpp:465:5 #8 0x7f961d3e3608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8 #9 0x7f961d672132 in __clone /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95 0x60e000084b28 is located 40 bytes inside of 152-byte region [0x60e000084b00,0x60e000084b98) freed by thread T27 here: #0 0x5641affe880d in operator delete(void*) (/mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be+0xe21c80d) (BuildId: f297d32e874f38f9) #1 0x5641b17077a6 in std::default_delete<doris::MemTrackerLimiter>::operator()(doris::MemTrackerLimiter*) const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:85:2 #2 0x5641b17077a6 in std::unique_ptr<doris::MemTrackerLimiter, std::default_delete<doris::MemTrackerLimiter> >::~unique_ptr() /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../i nclude/c++/11/bits/unique_ptr.h:361:4 #3 0x5641b17077a6 in doris::ShardedLRUCache::~ShardedLRUCache() /root/doris/be/src/olap/lru_cache.cpp:581:1 #4 0x5641b17079ed in doris::ShardedLRUCache::~ShardedLRUCache() /root/doris/be/src/olap/lru_cache.cpp:572:37 #5 0x5641b177701c in std::default_delete<doris::Cache>::operator()(doris::Cache*) const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:85:2 #6 0x5641b177701c in std::unique_ptr<doris::Cache, std::default_delete<doris::Cache> >::~unique_ptr() /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/uniqu e_ptr.h:361:4 #7 0x5641b177701c in doris::LRUCachePolicy::~LRUCachePolicy() /root/doris/be/src/runtime/memory/lru_cache_policy.h:49:40 #8 0x5641b177701c in doris::StoragePageCache::DataPageCache::~DataPageCache() /root/doris/be/src/olap/page_cache.h:103:11 #9 0x5641b1776582 in std::default_delete<doris::StoragePageCache::DataPageCache>::operator()(doris::StoragePageCache::DataPageCache*) const /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11 /../../../../include/c++/11/bits/unique_ptr.h:85:2 #10 0x5641b1776582 in std::unique_ptr<doris::StoragePageCache::DataPageCache, std::default_delete<doris::StoragePageCache::DataPageCache> >::~unique_ptr() /var/local/ldb-toolchain/bin/../lib/gcc/x86_ 64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:361:4 #11 0x5641b1776582 in doris::StoragePageCache::~StoragePageCache() /root/doris/be/src/olap/page_cache.h:79:7 #12 0x7f961d5998a6 in __run_exit_handlers /build/glibc-SzIz7B/glibc-2.31/stdlib/exit.c:108:8 ``` ### What You Expected? No core during be process exit. ### How to Reproduce? _No response_ ### Anything Else? Will be a long-term maintenance issue, aims to track all similar problems. Currently, signal handler function is not good as it should be, and we have many static variables in many .cpp files. It will be a long-term refactor process to cover all cases. ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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]
