Created
May 24, 2023 16:31
gdb backtrace (bt, stack trace) of prevector dynamically allocating memory during -reindex-chainstate, master commit 3a93957a5dc97cb2fd0656d1e2451ebef57204df
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
prevector<28u, unsigned char, unsigned int, int>::change_capacity (this=0x555561065eb8, new_capacity=67) at ./prevector.h:191 | |
prevector<28u, unsigned char, unsigned int, int>::resize_uninitialized (this=0x555561065eb8, new_size=67) at ./prevector.h:392 | |
Unserialize_impl<CAutoFile, 28u, unsigned char> (is=..., v=...) at ./serialize.h:782 | |
Unserialize<CAutoFile, 28u, unsigned char> (is=..., v=...) at ./serialize.h:797 | |
UnserializeMany<CAutoFile, prevector<28u, unsigned char, unsigned int, int>&> (s=..., arg=...) at ./serialize.h:1059 | |
SerReadWriteMany<CAutoFile, prevector<28u, unsigned char, unsigned int, int>&> (s=..., ser_action=...) at ./serialize.h:1072 | |
CScript::SerializationOps<CAutoFile, CScript, CSerActionUnserialize> (obj=..., s=..., ser_action=...) at ./script/script.h:435 | |
CScript::Unser<CAutoFile> (s=..., obj=...) at ./script/script.h:435 | |
CScript::Unserialize<CAutoFile> (this=0x555561065eb8, s=...) at ./script/script.h:435 | |
Unserialize<CAutoFile, CScript&> (is=..., a=...) at ./serialize.h:705 | |
UnserializeMany<CAutoFile, CScript&> (s=..., arg=...) at ./serialize.h:1059 | |
UnserializeMany<CAutoFile, long&, CScript&> (s=..., arg=@0x555561065eb0: 5000000000) at ./serialize.h:1060 | |
SerReadWriteMany<CAutoFile, long&, CScript&> (s=..., ser_action=...) at ./serialize.h:1072 | |
CTxOut::SerializationOps<CAutoFile, CTxOut, CSerActionUnserialize> (obj=..., s=..., ser_action=...) at ./primitives/transaction.h:170 | |
CTxOut::Unser<CAutoFile> (s=..., obj=...) at ./primitives/transaction.h:170 | |
CTxOut::Unserialize<CAutoFile> (this=0x555561065eb0, s=...) at ./primitives/transaction.h:170 | |
Unserialize<CAutoFile, CTxOut&> (is=..., a=...) at ./serialize.h:705 | |
DefaultFormatter::Unser<CAutoFile, CTxOut> (s=..., t=...) at ./serialize.h:719 | |
VectorFormatter<DefaultFormatter>::Unser<CAutoFile, std::vector<CTxOut, std::allocator<CTxOut> > > (this=0x7fff881fd017, s=..., v=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:622 | |
Wrapper<VectorFormatter<DefaultFormatter>, std::vector<CTxOut, std::allocator<CTxOut> >&>::Unserialize<CAutoFile> (this=0x7fff881fd080, s=...) at ./serialize.h:419 | |
Unserialize<CAutoFile, Wrapper<VectorFormatter<DefaultFormatter>, std::vector<CTxOut, std::allocator<CTxOut> >&> > (is=..., a=...) at ./serialize.h:705 | |
Unserialize_impl<CAutoFile, CTxOut, std::allocator<CTxOut>, CTxOut> (is=..., v=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:857 | |
Unserialize<CAutoFile, CTxOut, std::allocator<CTxOut> > (is=..., v=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:863 | |
CAutoFile::operator>><std::vector<CTxOut, std::allocator<CTxOut> >&> (this=0x7fff881fd910, obj=std::vector of length 1, capacity 1 = {...}) at ./streams.h:605 | |
UnserializeTransaction<CAutoFile, CMutableTransaction> (tx=..., s=...) at ./primitives/transaction.h:235 | |
CMutableTransaction::Unserialize<CAutoFile> (this=0x7fff881fd250, s=...) at ./primitives/transaction.h:397 | |
CMutableTransaction::CMutableTransaction<CAutoFile> (this=0x7fff881fd250, s=...) at ./primitives/transaction.h:402 | |
CTransaction::CTransaction<CAutoFile> (this=0x7fff80008b90, s=...) at ./primitives/transaction.h:331 | |
__gnu_cxx::new_allocator<CTransaction>::construct<CTransaction const, deserialize_type const&, CAutoFile&> (this=0x7fff881fd3ef, __p=0x7fff80008b90) at /usr/include/c++/11/ext/new_allocator.h:162 | |
std::allocator_traits<std::allocator<CTransaction> >::construct<CTransaction const, deserialize_type const&, CAutoFile&> (__a=..., __p=0x7fff80008b90) at /usr/include/c++/11/bits/alloc_traits.h:516 | |
std::_Sp_counted_ptr_inplace<CTransaction const, std::allocator<CTransaction>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<deserialize_type const&, CAutoFile&> (this=0x7fff80008b80, __a=...) at /usr/include/c++/11/bits/shared_ptr_base.h:519 | |
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<CTransaction const, std::allocator<CTransaction>, deserialize_type const&, CAutoFile&> (this=0x7fff881fd5b8, __p=@0x7fff881fd5b0: 0x0, __a=...) at /usr/include/c++/11/bits/shared_ptr_base.h:650 | |
std::__shared_ptr<CTransaction const, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<CTransaction>, deserialize_type const&, CAutoFile&> (this=0x7fff881fd5b0, __tag=...) at /usr/include/c++/11/bits/shared_ptr_base.h:1342 | |
std::shared_ptr<CTransaction const>::shared_ptr<std::allocator<CTransaction>, deserialize_type const&, CAutoFile&> (this=0x7fff881fd5b0, __tag=...) at /usr/include/c++/11/bits/shared_ptr.h:409 | |
std::allocate_shared<CTransaction const, std::allocator<CTransaction>, deserialize_type const&, CAutoFile&> (__a=...) at /usr/include/c++/11/bits/shared_ptr.h:863 | |
std::make_shared<CTransaction const, deserialize_type const&, CAutoFile&> () at /usr/include/c++/11/bits/shared_ptr.h:879 | |
Unserialize<CAutoFile, CTransaction> (is=..., p=std::shared_ptr<const CTransaction> (empty) = {...}) at ./serialize.h:970 | |
DefaultFormatter::Unser<CAutoFile, std::shared_ptr<CTransaction const> > (s=..., t=std::shared_ptr<const CTransaction> (empty) = {...}) at ./serialize.h:719 | |
VectorFormatter<DefaultFormatter>::Unser<CAutoFile, std::vector<std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> > > > (this=0x7fff881fd677, s=..., v=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:622 | |
Wrapper<VectorFormatter<DefaultFormatter>, std::vector<std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> > >&>::Unserialize<CAutoFile> (this=0x7fff881fd6e0, s=...) at ./serialize.h:419 | |
Unserialize<CAutoFile, Wrapper<VectorFormatter<DefaultFormatter>, std::vector<std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> > >&> > (is=..., a=...) at ./serialize.h:705 | |
Unserialize_impl<CAutoFile, std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> >, std::shared_ptr<CTransaction const> > (is=..., v=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:857 | |
Unserialize<CAutoFile, std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> > > (is=..., v=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:863 | |
UnserializeMany<CAutoFile, std::vector<std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> > >&> (s=..., arg=std::vector of length 1, capacity 1 = {...}) at ./serialize.h:1059 | |
SerReadWriteMany<CAutoFile, std::vector<std::shared_ptr<CTransaction const>, std::allocator<std::shared_ptr<CTransaction const> > >&> (s=..., ser_action=...) at ./serialize.h:1072 | |
CBlock::SerializationOps<CAutoFile, CBlock, CSerActionUnserialize> (obj=..., s=..., ser_action=...) at ./primitives/block.h:91 | |
CBlock::Unser<CAutoFile> (s=..., obj=...) at ./primitives/block.h:88 | |
CBlock::Unserialize<CAutoFile> (this=0x7fff800079e0, s=...) at ./primitives/block.h:88 | |
Unserialize<CAutoFile, CBlock&> (is=..., a=...) at ./serialize.h:705 | |
CAutoFile::operator>><CBlock&> (this=0x7fff881fd910, obj=...) at ./streams.h:605 | |
node::ReadBlockFromDisk (block=..., pos=..., consensusParams=...) at node/blockstorage.cpp:753 | |
node::ReadBlockFromDisk (block=..., pindex=0x55555c03c198, consensusParams=...) at node/blockstorage.cpp:775 | |
Chainstate::ConnectTip (this=0x555556488f70, state=..., pindexNew=0x55555c03c198, pblock=std::shared_ptr<const CBlock> (empty) = {...}, connectTrace=..., disconnectpool=...) at ./src/validation.cpp:2818 | |
Chainstate::ActivateBestChainStep (this=0x555556488f70, state=..., pindexMostWork=0x55555f801038, pblock=std::shared_ptr<const CBlock> (empty) = {...}, fInvalidFound=@0x7fff881fe238: false, connectTrace=...) at ./src/validation.cpp:3028 | |
Chainstate::ActivateBestChain (this=0x555556488f70, state=..., pblock=std::shared_ptr<const CBlock> (empty) = {...}) at ./src/validation.cpp:3163 | |
node::ThreadImport (chainman=..., vImportFiles=std::vector of length 0, capacity 0, args=..., mempool_path=...) at node/blockstorage.cpp:923 | |
operator() (__closure=0x7fff80000b70) at ./src/init.cpp:1670 | |
std::__invoke_impl<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/11/bits/invoke.h:61 | |
std::__invoke_r<void, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/11/bits/invoke.h:111 | |
std::_Function_handler<void(), AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/11/bits/std_function.h:290 | |
std::function<void ()>::operator()() const (this=0x7fff881fea80) at /usr/include/c++/11/bits/std_function.h:590 | |
util::TraceThread(std::basic_string_view<char, std::char_traits<char> >, std::function<void ()>) (thread_name=\"loadblk\", thread_func=...) at util/thread.cpp:21 | |
std::__invoke_impl<void, void (*)(std::basic_string_view<char>, std::function<void()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> >(std::__invoke_other, void (*&&)(std::basic_string_view<char, std::char_traits<char> >, std::function<void()>)) (__f=@0x555561066738: 0x555555e2912b <util::TraceThread(std::basic_string_view<char, std::char_traits<char> >, std::function<void ()>)>) at /usr/include/c++/11/bits/invoke.h:61 | |
std::__invoke<void (*)(std::basic_string_view<char>, std::function<void()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> >(void (*&&)(std::basic_string_view<char, std::char_traits<char> >, std::function<void()>)) (__fn=@0x555561066738: 0x555555e2912b <util::TraceThread(std::basic_string_view<char, std::char_traits<char> >, std::function<void ()>)>) at /usr/include/c++/11/bits/invoke.h:96 | |
std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char> >, std::function<void()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> > >::_M_invoke<0, 1, 2>(std::_Index_tuple<0, 1, 2>) (this=0x555561066708) at /usr/include/c++/11/bits/std_thread.h:253 | |
std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char> >, std::function<void()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> > >::operator()(void) (this=0x555561066708) at /usr/include/c++/11/bits/std_thread.h:260 | |
std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::basic_string_view<char, std::char_traits<char> >, std::function<void()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> > > >::_M_run(void) (this=0x555561066700) at /usr/include/c++/11/bits/std_thread.h:211 | |
?? () from /lib/x86_64-linux-gnu/libstdc++.so.6 | |
start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 | |
clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment