rustyconover commented on issue #3796:
URL: https://github.com/apache/arrow-adbc/issues/3796#issuecomment-3647677778
The full AddressSanitizer report:
```
=================================================================
==12729==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x604000108778 at pc 0x00011fb1ebf4 bp 0x0001701c8f90 sp 0x0001701c8750
READ of size 41 at 0x604000108778 thread T7
#0 0x00011fb1ebf0 in strlen+0x1b0
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x7abf0)
#1 0x000195b68fbc in std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>::append(char
const*)+0x1c (libc++.1.dylib:arm64e+0x16fbc)
#2 0x00010002afd0 in std::__1::basic_string<char,
std::__1::char_traits<char>,
std::__1::allocator<char>>::operator+=[abi:ne190102](char const*) string:1362
#3 0x000100344a20 in duckdb::adbc::CheckAdbc(unsigned char, AdbcError*,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>> const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const&)
adbc_utils.hpp:37
#4 0x0001003370e0 in duckdb::adbc::AdbcDatabaseWrapper::Initialize()
adbc_connection.hpp:71
#5 0x0001003343f8 in
duckdb::adbc::CreateConnectionFromOptions(duckdb::vector<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>, true,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>> const&) adbc_connection.cpp:87
#6 0x00010056afec in
duckdb::AdbcAttach(duckdb::optional_ptr<duckdb::StorageExtensionInfo, true>,
duckdb::ClientContext&, duckdb::AttachedDatabase&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const&,
duckdb::AttachInfo&, duckdb::AttachOptions&) adbc_storage.cpp:71
#7 0x00010af392f8 in
duckdb::AttachedDatabase::AttachedDatabase(duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, duckdb::AttachInfo&, duckdb::AttachOptions&)
attached_database.cpp:136
#8 0x00010af3ac84 in
duckdb::AttachedDatabase::AttachedDatabase(duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, duckdb::AttachInfo&, duckdb::AttachOptions&)
attached_database.cpp:126
#9 0x00010b31cabc in void
std::__1::allocator<duckdb::AttachedDatabase>::construct[abi:ne190102]<duckdb::AttachedDatabase,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&>(duckdb::AttachedDatabase*, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&)
allocator.h:165
#10 0x00010b31c768 in void
std::__1::allocator_traits<std::__1::allocator<duckdb::AttachedDatabase>>::construct[abi:ne190102]<duckdb::AttachedDatabase,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&, 0>(std::__1::allocator<duckdb::AttachedDatabase>&,
duckdb::AttachedDatabase*, duckdb::DatabaseInstance&, duckdb::Catalog&,
duckdb::StorageExtension&, duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) allocator_traits.h:319
#11 0x00010b31c420 in
std::__1::__shared_ptr_emplace<duckdb::AttachedDatabase,
std::__1::allocator<duckdb::AttachedDatabase>>::__shared_ptr_emplace[abi:ne190102]<duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&,
std::__1::allocator<duckdb::AttachedDatabase>,
0>(std::__1::allocator<duckdb::AttachedDatabase>, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&)
shared_ptr.h:266
#12 0x00010b31bf64 in
std::__1::__shared_ptr_emplace<duckdb::AttachedDatabase,
std::__1::allocator<duckdb::AttachedDatabase>>::__shared_ptr_emplace[abi:ne190102]<duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&,
std::__1::allocator<duckdb::AttachedDatabase>,
0>(std::__1::allocator<duckdb::AttachedDatabase>, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&)
shared_ptr.h:263
#13 0x00010b31bc94 in std::__1::shared_ptr<duckdb::AttachedDatabase>
std::__1::allocate_shared[abi:ne190102]<duckdb::AttachedDatabase,
std::__1::allocator<duckdb::AttachedDatabase>, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&,
0>(std::__1::allocator<duckdb::AttachedDatabase> const&,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) shared_ptr.h:845
#14 0x00010b31b8c8 in std::__1::shared_ptr<duckdb::AttachedDatabase>
std::__1::make_shared[abi:ne190102]<duckdb::AttachedDatabase,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&, 0>(duckdb::DatabaseInstance&, duckdb::Catalog&,
duckdb::StorageExtension&, duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) shared_ptr.h:853
#15 0x00010afbd6c4 in duckdb::shared_ptr<duckdb::AttachedDatabase, true>
duckdb::make_shared_ptr<duckdb::AttachedDatabase, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&>(duckdb::DatabaseInstance&, duckdb::Catalog&,
duckdb::StorageExtension&, duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) helper.hpp:73
#16 0x00010afbc758 in
duckdb::DatabaseInstance::CreateAttachedDatabase(duckdb::ClientContext&,
duckdb::AttachInfo&, duckdb::AttachOptions&) database.cpp:182
#17 0x00010afbfa80 in
duckdb::DatabaseManager::AttachDatabase(duckdb::ClientContext&,
duckdb::AttachInfo&, duckdb::AttachOptions&) database_manager.cpp:143
#18 0x00010a52a88c in
duckdb::PhysicalAttach::GetDataInternal(duckdb::ExecutionContext&,
duckdb::DataChunk&, duckdb::OperatorSourceInput&) const physical_attach.cpp:63
#19 0x00010a90cce4 in
duckdb::PhysicalOperator::GetData(duckdb::ExecutionContext&,
duckdb::DataChunk&, duckdb::OperatorSourceInput&) const
physical_operator.cpp:128
#20 0x00010b4a6cdc in
duckdb::PipelineExecutor::GetData(duckdb::DataChunk&,
duckdb::OperatorSourceInput&) pipeline_executor.cpp:506
#21 0x00010b4a39e4 in
duckdb::PipelineExecutor::FetchFromSource(duckdb::DataChunk&)
pipeline_executor.cpp:532
#22 0x00010b48f2a4 in duckdb::PipelineExecutor::Execute(unsigned long
long) pipeline_executor.cpp:232
#23 0x00010b48fbbc in duckdb::PipelineExecutor::Execute()
pipeline_executor.cpp:282
#24 0x00010b48d814 in
duckdb::PipelineTask::ExecuteTask(duckdb::TaskExecutionMode) pipeline.cpp:52
#25 0x00010b468cd4 in
duckdb::ExecutorTask::Execute(duckdb::TaskExecutionMode) executor_task.cpp:52
#26 0x00010b4b4534 in
duckdb::TaskScheduler::ExecuteForever(std::__1::atomic<bool>*)
task_scheduler.cpp:304
#27 0x00010b4b7528 in duckdb::ThreadExecuteTasks(duckdb::TaskScheduler*,
std::__1::atomic<bool>*) task_scheduler.cpp:401
#28 0x00010b5ab390 in decltype(std::declval<void
(*)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*)>()(std::declval<duckdb::TaskScheduler*>(),
std::declval<std::__1::atomic<bool>*>())) std::__1::__invoke[abi:ne190102]<void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>(void (*&&)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*), duckdb::TaskScheduler*&&, std::__1::atomic<bool>*&&)
invoke.h:149
#29 0x00010b5ab274 in void
std::__1::__thread_execute[abi:ne190102]<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct>>, void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*, 2ul,
3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct>>, void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>&, std::__1::__tuple_indices<2ul, 3ul>) thread.h:198
#30 0x00010b5aa060 in void*
std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct>>, void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>>(void*) thread.h:207
#31 0x00011fade4a4 in asan_thread_start(void*)+0x4c
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3a4a4)
#32 0x000195c3fc08 in _pthread_start+0x84
(libsystem_pthread.dylib:arm64e+0x6c08)
#33 0x000195c3ab7c in thread_start+0x4
(libsystem_pthread.dylib:arm64e+0x1b7c)
0x604000108778 is located 0 bytes after 40-byte region
[0x604000108750,0x604000108778)
allocated by thread T7 here:
#0 0x00011faef804 in _Znam+0x74
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x4b804)
#1 0x000103a3871c in AdbcDatabaseInit adbc_driver_manager.cc:1856
#2 0x00010033703c in duckdb::adbc::AdbcDatabaseWrapper::Initialize()
adbc_connection.hpp:70
#3 0x0001003343f8 in
duckdb::adbc::CreateConnectionFromOptions(duckdb::vector<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>, true,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>>>> const&) adbc_connection.cpp:87
#4 0x00010056afec in
duckdb::AdbcAttach(duckdb::optional_ptr<duckdb::StorageExtensionInfo, true>,
duckdb::ClientContext&, duckdb::AttachedDatabase&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>> const&,
duckdb::AttachInfo&, duckdb::AttachOptions&) adbc_storage.cpp:71
#5 0x00010af392f8 in
duckdb::AttachedDatabase::AttachedDatabase(duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, duckdb::AttachInfo&, duckdb::AttachOptions&)
attached_database.cpp:136
#6 0x00010af3ac84 in
duckdb::AttachedDatabase::AttachedDatabase(duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>, duckdb::AttachInfo&, duckdb::AttachOptions&)
attached_database.cpp:126
#7 0x00010b31cabc in void
std::__1::allocator<duckdb::AttachedDatabase>::construct[abi:ne190102]<duckdb::AttachedDatabase,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&>(duckdb::AttachedDatabase*, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&)
allocator.h:165
#8 0x00010b31c768 in void
std::__1::allocator_traits<std::__1::allocator<duckdb::AttachedDatabase>>::construct[abi:ne190102]<duckdb::AttachedDatabase,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&, 0>(std::__1::allocator<duckdb::AttachedDatabase>&,
duckdb::AttachedDatabase*, duckdb::DatabaseInstance&, duckdb::Catalog&,
duckdb::StorageExtension&, duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) allocator_traits.h:319
#9 0x00010b31c420 in
std::__1::__shared_ptr_emplace<duckdb::AttachedDatabase,
std::__1::allocator<duckdb::AttachedDatabase>>::__shared_ptr_emplace[abi:ne190102]<duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&,
std::__1::allocator<duckdb::AttachedDatabase>,
0>(std::__1::allocator<duckdb::AttachedDatabase>, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&)
shared_ptr.h:266
#10 0x00010b31bf64 in
std::__1::__shared_ptr_emplace<duckdb::AttachedDatabase,
std::__1::allocator<duckdb::AttachedDatabase>>::__shared_ptr_emplace[abi:ne190102]<duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&,
std::__1::allocator<duckdb::AttachedDatabase>,
0>(std::__1::allocator<duckdb::AttachedDatabase>, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&)
shared_ptr.h:263
#11 0x00010b31bc94 in std::__1::shared_ptr<duckdb::AttachedDatabase>
std::__1::allocate_shared[abi:ne190102]<duckdb::AttachedDatabase,
std::__1::allocator<duckdb::AttachedDatabase>, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&, duckdb::AttachOptions&,
0>(std::__1::allocator<duckdb::AttachedDatabase> const&,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) shared_ptr.h:845
#12 0x00010b31b8c8 in std::__1::shared_ptr<duckdb::AttachedDatabase>
std::__1::make_shared[abi:ne190102]<duckdb::AttachedDatabase,
duckdb::DatabaseInstance&, duckdb::Catalog&, duckdb::StorageExtension&,
duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&, 0>(duckdb::DatabaseInstance&, duckdb::Catalog&,
duckdb::StorageExtension&, duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) shared_ptr.h:853
#13 0x00010afbd6c4 in duckdb::shared_ptr<duckdb::AttachedDatabase, true>
duckdb::make_shared_ptr<duckdb::AttachedDatabase, duckdb::DatabaseInstance&,
duckdb::Catalog&, duckdb::StorageExtension&, duckdb::ClientContext&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&>(duckdb::DatabaseInstance&, duckdb::Catalog&,
duckdb::StorageExtension&, duckdb::ClientContext&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>&, duckdb::AttachInfo&,
duckdb::AttachOptions&) helper.hpp:73
#14 0x00010afbc758 in
duckdb::DatabaseInstance::CreateAttachedDatabase(duckdb::ClientContext&,
duckdb::AttachInfo&, duckdb::AttachOptions&) database.cpp:182
#15 0x00010afbfa80 in
duckdb::DatabaseManager::AttachDatabase(duckdb::ClientContext&,
duckdb::AttachInfo&, duckdb::AttachOptions&) database_manager.cpp:143
#16 0x00010a52a88c in
duckdb::PhysicalAttach::GetDataInternal(duckdb::ExecutionContext&,
duckdb::DataChunk&, duckdb::OperatorSourceInput&) const physical_attach.cpp:63
#17 0x00010a90cce4 in
duckdb::PhysicalOperator::GetData(duckdb::ExecutionContext&,
duckdb::DataChunk&, duckdb::OperatorSourceInput&) const
physical_operator.cpp:128
#18 0x00010b4a6cdc in
duckdb::PipelineExecutor::GetData(duckdb::DataChunk&,
duckdb::OperatorSourceInput&) pipeline_executor.cpp:506
#19 0x00010b4a39e4 in
duckdb::PipelineExecutor::FetchFromSource(duckdb::DataChunk&)
pipeline_executor.cpp:532
#20 0x00010b48f2a4 in duckdb::PipelineExecutor::Execute(unsigned long
long) pipeline_executor.cpp:232
#21 0x00010b48fbbc in duckdb::PipelineExecutor::Execute()
pipeline_executor.cpp:282
#22 0x00010b48d814 in
duckdb::PipelineTask::ExecuteTask(duckdb::TaskExecutionMode) pipeline.cpp:52
#23 0x00010b468cd4 in
duckdb::ExecutorTask::Execute(duckdb::TaskExecutionMode) executor_task.cpp:52
#24 0x00010b4b4534 in
duckdb::TaskScheduler::ExecuteForever(std::__1::atomic<bool>*)
task_scheduler.cpp:304
#25 0x00010b4b7528 in duckdb::ThreadExecuteTasks(duckdb::TaskScheduler*,
std::__1::atomic<bool>*) task_scheduler.cpp:401
#26 0x00010b5ab390 in decltype(std::declval<void
(*)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*)>()(std::declval<duckdb::TaskScheduler*>(),
std::declval<std::__1::atomic<bool>*>())) std::__1::__invoke[abi:ne190102]<void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>(void (*&&)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*), duckdb::TaskScheduler*&&, std::__1::atomic<bool>*&&)
invoke.h:149
#27 0x00010b5ab274 in void
std::__1::__thread_execute[abi:ne190102]<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct>>, void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*, 2ul,
3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct>>, void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>&, std::__1::__tuple_indices<2ul, 3ul>) thread.h:198
#28 0x00010b5aa060 in void*
std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct>>, void
(*)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>>(void*) thread.h:207
#29 0x00011fade4a4 in asan_thread_start(void*)+0x4c
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3a4a4)
Thread T7 created by T0 here:
#0 0x00011fad9b04 in pthread_create+0x5c
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x35b04)
#1 0x0001004fadc0 in
std::__1::__libcpp_thread_create[abi:ne190102](_opaque_pthread_t**, void*
(*)(void*), void*) pthread.h:182
#2 0x00010b5a9b2c in std::__1::thread::thread<void
(&)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*, 0>(void (&)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*), duckdb::TaskScheduler*&&, std::__1::atomic<bool>*&&)
thread.h:217
#3 0x00010b5a97dc in std::__1::thread::thread<void
(&)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*, 0>(void (&)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*), duckdb::TaskScheduler*&&, std::__1::atomic<bool>*&&)
thread.h:212
#4 0x00010b4b7464 in duckdb::TemplatedUniqueIf<std::__1::thread,
true>::templated_unique_single_t duckdb::make_uniq<std::__1::thread, void
(&)(duckdb::TaskScheduler*, std::__1::atomic<bool>*), duckdb::TaskScheduler*,
std::__1::atomic<bool>*>(void (&)(duckdb::TaskScheduler*,
std::__1::atomic<bool>*), duckdb::TaskScheduler*&&, std::__1::atomic<bool>*&&)
helper.hpp:65
#5 0x00010b4b2b3c in duckdb::TaskScheduler::RelaunchThreadsInternal(int)
task_scheduler.cpp:553
#6 0x00010b4b6dd4 in duckdb::TaskScheduler::RelaunchThreads()
task_scheduler.cpp:500
#7 0x00010afc3cb4 in duckdb::DatabaseInstance::Initialize(char const*,
duckdb::DBConfig*) database.cpp:327
#8 0x00010afc89f4 in duckdb::DuckDB::DuckDB(char const*,
duckdb::DBConfig*) database.cpp:331
#9 0x00010afc9604 in duckdb::DuckDB::DuckDB(char const*,
duckdb::DBConfig*) database.cpp:330
#10 0x0001001025e0 in duckdb::TemplatedUniqueIf<duckdb::DuckDB,
true>::templated_unique_single_t duckdb::make_uniq<duckdb::DuckDB, char const*,
duckdb::DBConfig*>(char const*&&, duckdb::DBConfig*&&) helper.hpp:65
#11 0x0001001013c8 in
duckdb_shell::ShellState::OpenDB(duckdb_shell::ShellOpenFlags) shell.cpp:1164
#12 0x0001001297f0 in main shell.cpp:3136
#13 0x00019589eb94 in start+0x17b8 (dyld:arm64e+0xfffffffffff3ab94)
SUMMARY: AddressSanitizer: heap-buffer-overflow
(libc++.1.dylib:arm64e+0x16fbc) in std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>::append(char
const*)+0x1c
Shadow bytes around the buggy address:
0x604000108480: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x604000108500: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x604000108580: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x604000108600: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
0x604000108680: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
=>0x604000108700: fa fa fd fd fd fd fd fa fa fa 00 00 00 00 00[fa]
0x604000108780: fa fa 00 00 00 00 00 fa fa fa fd fd fd fd fd fa
0x604000108800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x604000108880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x604000108900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x604000108980: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
```
--
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]