duck-read-cache-fs
duck-read-cache-fs copied to clipboard
Segfault on duckdb global variable destruction
An issue likely related to duckdb logging, instead of extension usage.
Stacktrace:
0x0000fffff65421f0 in duckdb::ConstantVector::VerifyVectorType<unsigned long> (vector=...) at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/types/vector.hpp:331
331 if (!StorageTypeCompatible<T>(vector.GetType().InternalType())) {
(gdb) bt
#0 0x0000fffff65421f0 in duckdb::ConstantVector::VerifyVectorType<unsigned long> (vector=...) at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/types/vector.hpp:331
#1 0x0000fffff6e13e54 in duckdb::ConstantVector::GetData<unsigned long> (vector=...) at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/types/vector.hpp:362
#2 duckdb::FlatVector::GetData<unsigned long> (vector=...) at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/types/vector.hpp:451
#3 duckdb::WriteLoggingContextsToChunk (chunk=..., context=..., col=@0xffffffffd770: 1) at /home/vscode/duck-read-cache-fs/duckdb/src/logging/log_storage.cpp:605
#4 0x0000fffff6e18194 in duckdb::BufferingLogStorage::WriteLoggingContext (this=0xaaaaaac612c0, context=...) at /home/vscode/duck-read-cache-fs/duckdb/src/logging/log_storage.cpp:758
#5 duckdb::BufferingLogStorage::WriteLoggingContext (this=0xaaaaaac612c0, context=...) at /home/vscode/duck-read-cache-fs/duckdb/src/logging/log_storage.cpp:742
#6 0x0000fffff6e1874c in duckdb::BufferingLogStorage::WriteLogEntry (this=0xaaaaaac612c0, timestamp=..., level=duckdb::LogLevel::LOG_TRACE, log_type="FileSystem",
log_message="{\"fs\":\"HTTPFileSystem\",\"path\":\"https://raw.githubusercontent.com/dentiny/duck-read-cache-fs/refs/heads/main/test/data/stock-exchanges.csv\",\"op\":\"CLOSE\"}",
context=...) at /home/vscode/duck-read-cache-fs/duckdb/src/logging/log_storage.cpp:653
#7 0x0000fffff6e0727c in duckdb::LogManager::WriteLogEntry (this=0xaaaaaac8d5e0, timestamp=..., log_type=<optimized out>, log_level=duckdb::LogLevel::LOG_TRACE,
log_message=0xaaaaab30b6a0 "{\"fs\":\"HTTPFileSystem\",\"path\":\"https://raw.githubusercontent.com/dentiny/duck-read-cache-fs/refs/heads/main/test/data/stock-exchanges.csv\",\"op\":\"CLOSE\"}", context=...) at /home/vscode/duck-read-cache-fs/duckdb/src/logging/log_manager.cpp:99
#8 0x0000fffff747ac98 in duckdb::HTTPFileHandle::~HTTPFileHandle (this=0xaaaaaae7e5c0, __in_chrg=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb-httpfs/src/httpfs.cpp:852
--Type <RET> for more, q to quit, c to continue without paging--c
#9 0x0000fffff747acf4 in duckdb::HTTPFileHandle::~HTTPFileHandle (this=0xaaaaaae7e5c0, __in_chrg=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb-httpfs/src/httpfs.cpp:853
#10 0x0000fffff74297e0 in std::default_delete<duckdb::FileHandle>::operator() (this=<optimized out>, __ptr=0xaaaaaae7e5c0) at /usr/include/c++/14/bits/unique_ptr.h:93
#11 std::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle> >::~unique_ptr (this=0xaaaaab313dc0, __in_chrg=<optimized out>)
at /usr/include/c++/14/bits/unique_ptr.h:399
#12 duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true>::~unique_ptr (this=0xaaaaab313dc0, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/unique_ptr.hpp:13
#13 std::_Destroy<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true> > (__pointer=0xaaaaab313dc0) at /usr/include/c++/14/bits/stl_construct.h:151
#14 std::_Destroy_aux<false>::__destroy<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true>*> (__first=0xaaaaab313dc0, __last=<optimized out>)
at /usr/include/c++/14/bits/stl_construct.h:163
#15 std::_Destroy<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true>*> (__first=<optimized out>, __last=<optimized out>)
at /usr/include/c++/14/bits/stl_construct.h:196
#16 std::_Destroy<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true>*, duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true> > (__first=<optimized out>, __last=<optimized out>) at /usr/include/c++/14/bits/alloc_traits.h:993
#17 std::vector<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true>, std::allocator<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true> > >::~vector (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/14/bits/stl_vector.h:735
#18 duckdb::vector<duckdb::unique_ptr<duckdb::FileHandle, std::default_delete<duckdb::FileHandle>, true>, true>::~vector (this=<optimized out>, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/vector.hpp:21
#19 duckdb::CacheFileSystem::ClearFileHandleCache (this=<optimized out>) at /home/vscode/duck-read-cache-fs/src/cache_filesystem.cpp:75
#20 0x0000fffff7429f4c in duckdb::CacheFileSystem::~CacheFileSystem (this=0xaaaaaae73c00, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/src/include/cache_filesystem.hpp:73
#21 0x0000fffff742a2d4 in duckdb::CacheFileSystem::~CacheFileSystem (this=0xaaaaaae73c00, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/src/include/cache_filesystem.hpp:74
#22 0x0000aaaaaab75820 in std::default_delete<duckdb::FileSystem>::operator() (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/14/bits/unique_ptr.h:93
#23 std::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem> >::~unique_ptr (this=0xaaaaaae6cd18, __in_chrg=<optimized out>)
at /usr/include/c++/14/bits/unique_ptr.h:399
#24 duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>::~unique_ptr (this=0xaaaaaae6cd18, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/unique_ptr.hpp:13
#25 std::_Destroy<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true> > (__pointer=0xaaaaaae6cd18) at /usr/include/c++/14/bits/stl_construct.h:151
#26 std::_Destroy_aux<false>::__destroy<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>*> (__first=0xaaaaaae6cd18, __last=0xaaaaaae6cd30)
at /usr/include/c++/14/bits/stl_construct.h:163
#27 std::_Destroy<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>*> (__first=<optimized out>, __last=0xaaaaaae6cd30)
at /usr/include/c++/14/bits/stl_construct.h:196
#28 std::_Destroy<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>*, duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true> > (__first=<optimized out>, __last=0xaaaaaae6cd30) at /usr/include/c++/14/bits/alloc_traits.h:993
#29 std::vector<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>, std::allocator<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true> > >::~vector (this=0xaaaaaac6ad98, __in_chrg=<optimized out>) at /usr/include/c++/14/bits/stl_vector.h:735
#30 duckdb::vector<duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>, true>::~vector (this=0xaaaaaac6ad98, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/vector.hpp:21
#31 duckdb::VirtualFileSystem::~VirtualFileSystem (this=0xaaaaaac6ad90, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/virtual_file_system.hpp:19
#32 duckdb::VirtualFileSystem::~VirtualFileSystem (this=0xaaaaaac6ad90, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/virtual_file_system.hpp:19
#33 0x0000fffff71e8968 in std::default_delete<duckdb::FileSystem>::operator() (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/14/bits/unique_ptr.h:87
#34 std::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem> >::~unique_ptr (this=0xaaaaaac75010, __in_chrg=<optimized out>)
at /usr/include/c++/14/bits/unique_ptr.h:399
#35 duckdb::unique_ptr<duckdb::FileSystem, std::default_delete<duckdb::FileSystem>, true>::~unique_ptr (this=0xaaaaaac75010, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/unique_ptr.hpp:13
#36 duckdb::DBConfig::~DBConfig (this=0xaaaaaac74f90, __in_chrg=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb/src/main/database.cpp:68
#37 0x0000fffff71e904c in duckdb::DatabaseInstance::~DatabaseInstance (this=0xaaaaaac74f80, __in_chrg=<optimized out>)
at /home/vscode/duck-read-cache-fs/duckdb/src/main/database.cpp:100
#38 0x0000aaaaaab2a1fc in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use (this=0xaaaaaac74f70) at /usr/include/c++/14/bits/shared_ptr_base.h:172
#39 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold (this=0xaaaaaac74f70) at /usr/include/c++/14/bits/shared_ptr_base.h:199
#40 0x0000aaaaaab766d4 in std::default_delete<duckdb::DuckDB>::operator() (this=<optimized out>, __ptr=0xaaaaaac778b0) at /usr/include/c++/14/bits/unique_ptr.h:87
#41 std::__uniq_ptr_impl<duckdb::DuckDB, std::default_delete<duckdb::DuckDB> >::reset (this=0xffffffffdea0, __p=0x0) at /usr/include/c++/14/bits/unique_ptr.h:205
#42 std::unique_ptr<duckdb::DuckDB, std::default_delete<duckdb::DuckDB> >::reset (this=0xffffffffdea0, __p=0x0) at /usr/include/c++/14/bits/unique_ptr.h:504
#43 duckdb::unique_ptr<duckdb::DuckDB, std::default_delete<duckdb::DuckDB>, true>::reset (this=0xffffffffdea0, ptr=0x0)
at /home/vscode/duck-read-cache-fs/duckdb/src/include/duckdb/common/unique_ptr.hpp:53
#44 duckdb::SQLLogicTestRunner::~SQLLogicTestRunner (this=0xffffffffde40, __in_chrg=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb/test/sqlite/sqllogic_test_runner.cpp:66
#45 0x0000aaaaaab95cf8 in testRunner<false> () at /usr/include/c++/14/bits/new_allocator.h:104
#46 0x0000aaaaaab24acc in Catch::TestInvokerAsFunction::invoke (this=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:14482
#47 Catch::TestCase::invoke (this=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:14317
#48 Catch::RunContext::invokeActiveTestCase (this=0xffffffffe810) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13136
#49 0x0000aaaaaab48b5c in Catch::RunContext::runCurrentTest (this=this@entry=0xffffffffe810, redirectedCout="", redirectedCerr="")
at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13109
#50 0x0000aaaaaab5420c in Catch::RunContext::runTest (this=this@entry=0xffffffffe810, testCase=...) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:12854
#51 0x0000aaaaaab612a8 in Catch::(anonymous namespace)::TestGroup::execute (this=0xffffffffe800) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13498
#52 Catch::Session::runInternal (this=this@entry=0xffffffffeba0) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13710
#53 0x0000aaaaaab61aa0 in Catch::Session::run (this=this@entry=0xffffffffeba0) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13666
#54 0x0000aaaaaab62020 in Catch::Session::run<char> (this=0xffffffffeba0, argc=2, argv=0xaaaaaac622a0)
at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13347
#55 Catch::Session::run<char> (this=0xffffffffeba0, argc=2, argv=0xaaaaaac622a0) at /home/vscode/duck-read-cache-fs/duckdb/test/../third_party/catch/catch.hpp:13342
#56 main (argc_in=<optimized out>, argv=<optimized out>) at /home/vscode/duck-read-cache-fs/duckdb/test/unittest.cpp:59