Open JaySon-Huang opened 2 years ago
After disable "DatabaseTiFlashTest.RenameTable", it appears in another test dbms.2.log.zip:
[ RUN ] DTToolTest.MigrationAllFileRecognizableOnDefault
=================================================================
==126361==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd6736e960 at pc 0x00001acf913d bp 0x7ffd6736c2d0 sp 0x7ffd6736c2c8
WRITE of size 8 at 0x7ffd6736e960 thread T0
#0 0x1acf913c in long std::__1::__cxx_atomic_fetch_add<long>(std::__1::__cxx_atomic_base_impl<long>*, long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1060:12
#1 0x1acf913c in std::__1::__atomic_base<long, true>::fetch_add(long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1730:17
#2 0x1acf913c in MemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:56:35
#3 0x1acf97bb in CurrentMemoryTracker::checkSubmitAndUpdateLocalDelta(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:168:37
#4 0x1acf97bb in CurrentMemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:190:5
#5 0x1aca1f55 in Allocator<false>::alloc(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/Allocator.cpp:54:5
#6 0x1ae07972 in DB::Memory::alloc() /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:112:49
#7 0x1ae07972 in DB::Memory::Memory(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:41:9
#8 0x1ae07972 in DB::BufferWithOwnMemory<DB::WriteBuffer>::BufferWithOwnMemory(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:141:11
#9 0x1ae07972 in DB::WriteBufferFromFileBase::WriteBufferFromFileBase(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileBase.cpp:6:7
#10 0x1ae086fa in DB::WriteBufferFromFileDescriptor::WriteBufferFromFileDescriptor(int, unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileDescriptor.cpp:70:7
#11 0x9846866 in DB::WriteBufferFromFileProvider::WriteBufferFromFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/WriteBufferFromFileProvider.cpp:38:7
#12 0x984bd9d in std::__1::__unique_if<DB::WriteBufferFromFileProvider>::__unique_single std::__1::make_unique<DB::WriteBufferFromFileProvider, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&>(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#13 0x984bd9d in DB::createWriteBufferFromFileBaseByFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, unsigned long, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.cpp:39:16
#14 0xc2b4540 in DB::WriteBufferByFileProviderBuilder::build() /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.h:106:20
#15 0xc2b4540 in DB::DM::DMFileWriter::Stream::Stream(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const> const&, DB::CompressionSettings, unsigned long, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter> const&, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.h:54:22
#16 0xc2a49e9 in std::__1::__unique_if<DB::DM::DMFileWriter::Stream>::__unique_single std::__1::make_unique<DB::DM::DMFileWriter::Stream, std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool>(std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool&&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#17 0xc2a49e9 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) const /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:92:23
#18 0xc2a49e9 in decltype(static_cast<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&>(fp)(static_cast<std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(fp0))) std::__1::__invoke<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/type_traits:3918:1
#19 0xc2a49e9 in void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/invoke.h:61:9
#20 0xc2a49e9 in std::__1::__function::__alloc_func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:171:16
#21 0xc2a49e9 in std::__1::__function::__func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:345:12
#22 0xc2a01b4 in DB::IDataType::enumerateStreams(std::__1::function<void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)> const&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> >&&) const /DATA/disk1/jaysonhuang/tics/dbms/src/DataTypes/IDataType.h:102:91
#23 0xc2a01b4 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:104:11
#24 0xc29e5f6 in DB::DM::DMFileWriter::DMFileWriter(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::shared_ptr<DB::WriteLimiter> const&, DB::DM::DMFileWriter::Options const&) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:82:13
#25 0x872d657 in DB::DM::DMFileBlockOutputStream::DMFileBlockOutputStream(DB::Context const&, std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, DB::DM::DMFileWriter::Flags, DB::CompressionSettings) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileBlockOutputStream.h:28:11
#26 0x871c2bc in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:76:31
#27 0x1914d1f0 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#28 0x1914d1f0 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#29 0x190fd399 in testing::Test::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2469:3
#30 0x19100897 in testing::TestInfo::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2655:11
#31 0x19101dff in testing::TestCase::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2773:28
#32 0x1911cff8 in testing::internal::UnitTestImpl::RunAllTests() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4673:43
#33 0x1914f220 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#34 0x1914f220 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#35 0x1911bc1a in testing::UnitTest::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4281:10
#36 0x93ec9ba in RUN_ALL_TESTS() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/include/gtest/gtest.h:2237:46
#37 0x93ec9ba in main /DATA/disk1/jaysonhuang/tics/dbms/src/TestUtils/gtests_dbms_main.cpp:22:16
#38 0x7f594dc22554 in __libc_start_main (/lib64/libc.so.6+0x22554)
#39 0x578a068 in _start (/DATA/disk1/jaysonhuang/tics/cmake-build-asan/dbms/gtests_dbms+0x578a068)
Address 0x7ffd6736e960 is located in stack of thread T0 at offset 2688 in frame
#0 0x871addf in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:38
This frame has 24 object(s):
[32, 56) 'ref.tmp.i231'
[96, 120) 'ref.tmp.i'
[160, 164) 'dev' (line 42)
[176, 2680) 'engine' (line 44) <== Memory access at offset 2688 overflows this variable
[2816, 2832) 'defines' (line 45)
[2848, 2872) 'blocks' (line 46)
[2912, 2936) 'properties' (line 47)
[2976, 2984) 'effective_size' (line 48)
[3008, 3064) 'ref.tmp' (line 52)
[3104, 3128) 'property' (line 54)
[3168, 3392) 'ref.tmp20' (line 59)
[3456, 3480) 'ref.tmp25' (line 59)
[3520, 3544) 'ref.tmp28' (line 59)
[3584, 3592) 'storage_pool' (line 60)
[3616, 3656) 'dm_settings' (line 61)
[3696, 3704) 'dm_context' (line 62)
[3728, 3732) 'ref.tmp60' (line 62)
[3744, 3748) 'ref.tmp61' (line 62)
[3760, 3761) 'ref.tmp63' (line 62)
[3776, 3780) 'ref.tmp64' (line 62)
[3792, 3808) 'ref.tmp75' (line 74)
[3824, 3848) 'ref.tmp76' (line 74)
[3888, 3960) 'agg.tmp'
[4000, 4152) 'stream' (line 76)
[ RUN ] DTToolTest.MigrationSuccess
=================================================================
==167961==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd26947640 at pc 0x00001acf913d bp 0x7ffd26944fb0 sp 0x7ffd26944fa8
WRITE of size 8 at 0x7ffd26947640 thread T0
#0 0x1acf913c in long std::__1::__cxx_atomic_fetch_add<long>(std::__1::__cxx_atomic_base_impl<long>*, long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1060:12
#1 0x1acf913c in std::__1::__atomic_base<long, true>::fetch_add(long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1730:17
#2 0x1acf913c in MemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:56:35
#3 0x1acf97bb in CurrentMemoryTracker::checkSubmitAndUpdateLocalDelta(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:168:37
#4 0x1acf97bb in CurrentMemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:190:5
#5 0x1aca1f55 in Allocator<false>::alloc(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/Allocator.cpp:54:5
#6 0x1ae07972 in DB::Memory::alloc() /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:112:49
#7 0x1ae07972 in DB::Memory::Memory(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:41:9
#8 0x1ae07972 in DB::BufferWithOwnMemory<DB::WriteBuffer>::BufferWithOwnMemory(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:141:11
#9 0x1ae07972 in DB::WriteBufferFromFileBase::WriteBufferFromFileBase(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileBase.cpp:6:7
#10 0x1ae086fa in DB::WriteBufferFromFileDescriptor::WriteBufferFromFileDescriptor(int, unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileDescriptor.cpp:70:7
#11 0x9846866 in DB::WriteBufferFromFileProvider::WriteBufferFromFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/WriteBufferFromFileProvider.cpp:38:7
#12 0x984bd9d in std::__1::__unique_if<DB::WriteBufferFromFileProvider>::__unique_single std::__1::make_unique<DB::WriteBufferFromFileProvider, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&>(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#13 0x984bd9d in DB::createWriteBufferFromFileBaseByFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, unsigned long, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.cpp:39:16
#14 0xc2b4540 in DB::WriteBufferByFileProviderBuilder::build() /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.h:106:20
#15 0xc2b4540 in DB::DM::DMFileWriter::Stream::Stream(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const> const&, DB::CompressionSettings, unsigned long, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter> const&, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.h:54:22
#16 0xc2a49e9 in std::__1::__unique_if<DB::DM::DMFileWriter::Stream>::__unique_single std::__1::make_unique<DB::DM::DMFileWriter::Stream, std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool>(std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool&&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#17 0xc2a49e9 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) const /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:92:23
#18 0xc2a49e9 in decltype(static_cast<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&>(fp)(static_cast<std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(fp0))) std::__1::__invoke<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/type_traits:3918:1
#19 0xc2a49e9 in void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/invoke.h:61:9
#20 0xc2a49e9 in std::__1::__function::__alloc_func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:171:16
#21 0xc2a49e9 in std::__1::__function::__func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:345:12
#22 0xc2a01b4 in DB::IDataType::enumerateStreams(std::__1::function<void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)> const&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> >&&) const /DATA/disk1/jaysonhuang/tics/dbms/src/DataTypes/IDataType.h:102:91
#23 0xc2a01b4 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:104:11
#24 0xc29e5f6 in DB::DM::DMFileWriter::DMFileWriter(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::shared_ptr<DB::WriteLimiter> const&, DB::DM::DMFileWriter::Options const&) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:82:13
#25 0x872d657 in DB::DM::DMFileBlockOutputStream::DMFileBlockOutputStream(DB::Context const&, std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, DB::DM::DMFileWriter::Flags, DB::CompressionSettings) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileBlockOutputStream.h:28:11
#26 0x871c16c in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:76:31
#27 0x1914d1f0 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#28 0x1914d1f0 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#29 0x190fd399 in testing::Test::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2469:3
#30 0x19100897 in testing::TestInfo::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2655:11
#31 0x19101dff in testing::TestCase::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2773:28
#32 0x1911cff8 in testing::internal::UnitTestImpl::RunAllTests() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4673:43
#33 0x1914f220 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#34 0x1914f220 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#35 0x1911bc1a in testing::UnitTest::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4281:10
#36 0x93ec9ba in RUN_ALL_TESTS() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/include/gtest/gtest.h:2237:46
#37 0x93ec9ba in main /DATA/disk1/jaysonhuang/tics/dbms/src/TestUtils/gtests_dbms_main.cpp:22:16
#38 0x7fdc6cc41554 in __libc_start_main (/lib64/libc.so.6+0x22554)
#39 0x578a068 in _start (/DATA/disk1/jaysonhuang/tics/cmake-build-asan/dbms/gtests_dbms+0x578a068)
Address 0x7ffd26947640 is located in stack of thread T0 at offset 2688 in frame
#0 0x871ac8f in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:38
This frame has 24 object(s):
[32, 56) 'ref.tmp.i231'
[96, 120) 'ref.tmp.i'
[160, 164) 'dev' (line 42)
[176, 2680) 'engine' (line 44) <== Memory access at offset 2688 overflows this variable
[2816, 2832) 'defines' (line 45)
[2848, 2872) 'blocks' (line 46)
[2912, 2936) 'properties' (line 47)
[2976, 2984) 'effective_size' (line 48)
[3008, 3064) 'ref.tmp' (line 52)
[3104, 3128) 'property' (line 54)
[3168, 3392) 'ref.tmp20' (line 59)
[3456, 3480) 'ref.tmp25' (line 59)
[3520, 3544) 'ref.tmp28' (line 59)
[3584, 3592) 'storage_pool' (line 60)
[3616, 3656) 'dm_settings' (line 61)
[3696, 3704) 'dm_context' (line 62)
[3728, 3732) 'ref.tmp60' (line 62)
[3744, 3748) 'ref.tmp61' (line 62)
[3760, 3761) 'ref.tmp63' (line 62)
[3776, 3780) 'ref.tmp64' (line 62)
[3792, 3808) 'ref.tmp75' (line 74)
[3824, 3848) 'ref.tmp76' (line 74)
[3888, 3960) 'agg.tmp'
[4000, 4152) 'stream' (line 76)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
[ RUN ] DTToolTest.ConsecutiveMigration
=================================================================
==215165==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffeff8d62a0 at pc 0x00001acf913d bp 0x7ffeff8d3c10 sp 0x7ffeff8d3c08
WRITE of size 8 at 0x7ffeff8d62a0 thread T0
#0 0x1acf913c in long std::__1::__cxx_atomic_fetch_add<long>(std::__1::__cxx_atomic_base_impl<long>*, long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1060:12
#1 0x1acf913c in std::__1::__atomic_base<long, true>::fetch_add(long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1730:17
#2 0x1acf913c in MemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:56:35
#3 0x1acf97bb in CurrentMemoryTracker::checkSubmitAndUpdateLocalDelta(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:168:37
#4 0x1acf97bb in CurrentMemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:190:5
#5 0x1aca1f55 in Allocator<false>::alloc(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/Allocator.cpp:54:5
#6 0x1ae07972 in DB::Memory::alloc() /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:112:49
#7 0x1ae07972 in DB::Memory::Memory(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:41:9
#8 0x1ae07972 in DB::BufferWithOwnMemory<DB::WriteBuffer>::BufferWithOwnMemory(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:141:11
#9 0x1ae07972 in DB::WriteBufferFromFileBase::WriteBufferFromFileBase(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileBase.cpp:6:7
#10 0x1ae086fa in DB::WriteBufferFromFileDescriptor::WriteBufferFromFileDescriptor(int, unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileDescriptor.cpp:70:7
#11 0x9846866 in DB::WriteBufferFromFileProvider::WriteBufferFromFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/WriteBufferFromFileProvider.cpp:38:7
#12 0x984bd9d in std::__1::__unique_if<DB::WriteBufferFromFileProvider>::__unique_single std::__1::make_unique<DB::WriteBufferFromFileProvider, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&>(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#13 0x984bd9d in DB::createWriteBufferFromFileBaseByFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, unsigned long, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.cpp:39:16
#14 0xc2b49b7 in DB::WriteBufferByFileProviderBuilder::build() /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.h:106:20
#15 0xc2b49b7 in DB::DM::DMFileWriter::Stream::Stream(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const> const&, DB::CompressionSettings, unsigned long, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter> const&, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.h:68:30
#16 0xc2a49e9 in std::__1::__unique_if<DB::DM::DMFileWriter::Stream>::__unique_single std::__1::make_unique<DB::DM::DMFileWriter::Stream, std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool>(std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool&&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#17 0xc2a49e9 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) const /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:92:23
#18 0xc2a49e9 in decltype(static_cast<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&>(fp)(static_cast<std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(fp0))) std::__1::__invoke<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/type_traits:3918:1
#19 0xc2a49e9 in void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/invoke.h:61:9
#20 0xc2a49e9 in std::__1::__function::__alloc_func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:171:16
#21 0xc2a49e9 in std::__1::__function::__func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:345:12
#22 0xc2a01b4 in DB::IDataType::enumerateStreams(std::__1::function<void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)> const&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> >&&) const /DATA/disk1/jaysonhuang/tics/dbms/src/DataTypes/IDataType.h:102:91
#23 0xc2a01b4 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:104:11
#24 0xc29e5f6 in DB::DM::DMFileWriter::DMFileWriter(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::shared_ptr<DB::WriteLimiter> const&, DB::DM::DMFileWriter::Options const&) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:82:13
#25 0x872d657 in DB::DM::DMFileBlockOutputStream::DMFileBlockOutputStream(DB::Context const&, std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, DB::DM::DMFileWriter::Flags, DB::CompressionSettings) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileBlockOutputStream.h:28:11
#26 0x871c16c in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:76:31
#27 0x1914d1f0 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#28 0x1914d1f0 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#29 0x190fd399 in testing::Test::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2469:3
#30 0x19100897 in testing::TestInfo::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2655:11
#31 0x19101dff in testing::TestCase::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2773:28
#32 0x1911cff8 in testing::internal::UnitTestImpl::RunAllTests() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4673:43
#33 0x1914f220 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#34 0x1914f220 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#35 0x1911bc1a in testing::UnitTest::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4281:10
#36 0x93ec9ba in RUN_ALL_TESTS() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/include/gtest/gtest.h:2237:46
#37 0x93ec9ba in main /DATA/disk1/jaysonhuang/tics/dbms/src/TestUtils/gtests_dbms_main.cpp:22:16
#38 0x7f5331ab5554 in __libc_start_main (/lib64/libc.so.6+0x22554)
#39 0x578a068 in _start (/DATA/disk1/jaysonhuang/tics/cmake-build-asan/dbms/gtests_dbms+0x578a068)
Address 0x7ffeff8d62a0 is located in stack of thread T0 at offset 2688 in frame
#0 0x871ac8f in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:38
This frame has 24 object(s):
[32, 56) 'ref.tmp.i231'
[96, 120) 'ref.tmp.i'
[160, 164) 'dev' (line 42)
[176, 2680) 'engine' (line 44) <== Memory access at offset 2688 overflows this variable
[2816, 2832) 'defines' (line 45)
[2848, 2872) 'blocks' (line 46)
[2912, 2936) 'properties' (line 47)
[2976, 2984) 'effective_size' (line 48)
[3008, 3064) 'ref.tmp' (line 52)
[3104, 3128) 'property' (line 54)
[3168, 3392) 'ref.tmp20' (line 59)
[3456, 3480) 'ref.tmp25' (line 59)
[3520, 3544) 'ref.tmp28' (line 59)
[3584, 3592) 'storage_pool' (line 60)
[3616, 3656) 'dm_settings' (line 61)
[3696, 3704) 'dm_context' (line 62)
[3728, 3732) 'ref.tmp60' (line 62)
[3744, 3748) 'ref.tmp61' (line 62)
[3760, 3761) 'ref.tmp63' (line 62)
[3776, 3780) 'ref.tmp64' (line 62)
[3792, 3808) 'ref.tmp75' (line 74)
[3824, 3848) 'ref.tmp76' (line 74)
[3888, 3960) 'agg.tmp'
[4000, 4152) 'stream' (line 76)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
[ RUN ] DTToolTest.BlockwiseInvariant
=================================================================
==9918==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffcbda494c0 at pc 0x00001acfa13d bp 0x7ffcbda46e30 sp 0x7ffcbda46e28
WRITE of size 8 at 0x7ffcbda494c0 thread T0
#0 0x1acfa13c in long std::__1::__cxx_atomic_fetch_add<long>(std::__1::__cxx_atomic_base_impl<long>*, long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1060:12
#1 0x1acfa13c in std::__1::__atomic_base<long, true>::fetch_add(long, std::__1::memory_order) /opt/tiflash-env/sysroot/bin/../include/c++/v1/atomic:1730:17
#2 0x1acfa13c in MemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:56:35
#3 0x1acfa7bb in CurrentMemoryTracker::checkSubmitAndUpdateLocalDelta(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:168:37
#4 0x1acfa7bb in CurrentMemoryTracker::alloc(long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/MemoryTracker.cpp:190:5
#5 0x1aca2f55 in Allocator<false>::alloc(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Common/Allocator.cpp:54:5
#6 0x1ae08972 in DB::Memory::alloc() /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:112:49
#7 0x1ae08972 in DB::Memory::Memory(unsigned long, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:41:9
#8 0x1ae08972 in DB::BufferWithOwnMemory<DB::WriteBuffer>::BufferWithOwnMemory(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/BufferWithOwnMemory.h:141:11
#9 0x1ae08972 in DB::WriteBufferFromFileBase::WriteBufferFromFileBase(unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileBase.cpp:6:7
#10 0x1ae096fa in DB::WriteBufferFromFileDescriptor::WriteBufferFromFileDescriptor(int, unsigned long, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/IO/WriteBufferFromFileDescriptor.cpp:70:7
#11 0x9847866 in DB::WriteBufferFromFileProvider::WriteBufferFromFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/WriteBufferFromFileProvider.cpp:38:7
#12 0x984cd9d in std::__1::__unique_if<DB::WriteBufferFromFileProvider>::__unique_single std::__1::make_unique<DB::WriteBufferFromFileProvider, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&>(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool&, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long&, int&, unsigned int&, char*&, unsigned long&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#13 0x984cd9d in DB::createWriteBufferFromFileBaseByFileProvider(std::__1::shared_ptr<DB::FileProvider> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::EncryptionPath const&, bool, std::__1::shared_ptr<DB::WriteLimiter> const&, unsigned long, unsigned long, unsigned long, int, unsigned int, char*, unsigned long) /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.cpp:39:16
#14 0xc2b59b7 in DB::WriteBufferByFileProviderBuilder::build() /DATA/disk1/jaysonhuang/tics/dbms/src/Encryption/createWriteBufferFromFileBaseByFileProvider.h:106:20
#15 0xc2b59b7 in DB::DM::DMFileWriter::Stream::Stream(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const> const&, DB::CompressionSettings, unsigned long, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter> const&, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.h:68:30
#16 0xc2a59e9 in std::__1::__unique_if<DB::DM::DMFileWriter::Stream>::__unique_single std::__1::make_unique<DB::DM::DMFileWriter::Stream, std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool>(std::__1::shared_ptr<DB::DM::DMFile>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IDataType const>&, DB::CompressionSettings&, unsigned long&, std::__1::shared_ptr<DB::FileProvider>&, std::__1::shared_ptr<DB::WriteLimiter>&, bool&&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__memory/unique_ptr.h:728:32
#17 0xc2a59e9 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) const /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:92:23
#18 0xc2a59e9 in decltype(static_cast<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&>(fp)(static_cast<std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(fp0))) std::__1::__invoke<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/type_traits:3918:1
#19 0xc2a59e9 in void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&>(DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/invoke.h:61:9
#20 0xc2a59e9 in std::__1::__function::__alloc_func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:171:16
#21 0xc2a59e9 in std::__1::__function::__func<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2, std::__1::allocator<DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool)::$_2>, void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)>::operator()(std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&) /opt/tiflash-env/sysroot/bin/../include/c++/v1/__functional/function.h:345:12
#22 0xc2a11b4 in DB::IDataType::enumerateStreams(std::__1::function<void (std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> > const&)> const&, std::__1::vector<DB::IDataType::Substream, std::__1::allocator<DB::IDataType::Substream> >&&) const /DATA/disk1/jaysonhuang/tics/dbms/src/DataTypes/IDataType.h:102:91
#23 0xc2a11b4 in DB::DM::DMFileWriter::addStreams(long, std::__1::shared_ptr<DB::IDataType const>, bool) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:104:11
#24 0xc29f5f6 in DB::DM::DMFileWriter::DMFileWriter(std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, std::__1::shared_ptr<DB::FileProvider> const&, std::__1::shared_ptr<DB::WriteLimiter> const&, DB::DM::DMFileWriter::Options const&) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileWriter.cpp:82:13
#25 0x872e657 in DB::DM::DMFileBlockOutputStream::DMFileBlockOutputStream(DB::Context const&, std::__1::shared_ptr<DB::DM::DMFile> const&, std::__1::vector<DB::DM::ColumnDefine, std::__1::allocator<DB::DM::ColumnDefine> > const&, DB::DM::DMFileWriter::Flags, DB::CompressionSettings) /DATA/disk1/jaysonhuang/tics/dbms/src/Storages/DeltaMerge/File/DMFileBlockOutputStream.h:28:11
#26 0x871d16c in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:76:31
#27 0x1914e1f0 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#28 0x1914e1f0 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#29 0x190fe399 in testing::Test::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2469:3
#30 0x19101897 in testing::TestInfo::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2655:11
#31 0x19102dff in testing::TestCase::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2773:28
#32 0x1911dff8 in testing::internal::UnitTestImpl::RunAllTests() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4673:43
#33 0x19150220 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2401:10
#34 0x19150220 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:2437:14
#35 0x1911cc1a in testing::UnitTest::Run() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/src/gtest.cc:4281:10
#36 0x93ed9ba in RUN_ALL_TESTS() /DATA/disk1/jaysonhuang/tics/contrib/googletest/googletest/include/gtest/gtest.h:2237:46
#37 0x93ed9ba in main /DATA/disk1/jaysonhuang/tics/dbms/src/TestUtils/gtests_dbms_main.cpp:22:16
#38 0x7f833b97b554 in __libc_start_main (/lib64/libc.so.6+0x22554)
#39 0x578b068 in _start (/DATA/disk1/jaysonhuang/tics/cmake-build-asan/dbms/gtests_dbms+0x578b068)
Address 0x7ffcbda494c0 is located in stack of thread T0 at offset 2688 in frame
#0 0x871bc8f in DTToolTest::SetUp() /DATA/disk1/jaysonhuang/tics/dbms/src/Server/tests/gtest_dttool.cpp:38
This frame has 24 object(s):
[32, 56) 'ref.tmp.i231'
[96, 120) 'ref.tmp.i'
[160, 164) 'dev' (line 42)
[176, 2680) 'engine' (line 44) <== Memory access at offset 2688 overflows this variable
[2816, 2832) 'defines' (line 45)
[2848, 2872) 'blocks' (line 46)
[2912, 2936) 'properties' (line 47)
[2976, 2984) 'effective_size' (line 48)
[3008, 3064) 'ref.tmp' (line 52)
[3104, 3128) 'property' (line 54)
[3168, 3392) 'ref.tmp20' (line 59)
[3456, 3480) 'ref.tmp25' (line 59)
[3520, 3544) 'ref.tmp28' (line 59)
[3584, 3592) 'storage_pool' (line 60)
[3616, 3656) 'dm_settings' (line 61)
[3696, 3704) 'dm_context' (line 62)
[3728, 3732) 'ref.tmp60' (line 62)
[3744, 3748) 'ref.tmp61' (line 62)
[3760, 3761) 'ref.tmp63' (line 62)
[3776, 3780) 'ref.tmp64' (line 62)
[3792, 3808) 'ref.tmp75' (line 74)
[3824, 3848) 'ref.tmp76' (line 74)
[3888, 3960) 'agg.tmp'
[4000, 4152) 'stream' (line 76)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
2. What did you expect to see? (Required)
3. What did you see instead (Required)
Full log: dbms.1.log.zip Another dbms.2.log.zip
4. What is your TiFlash version? (Required)