Skip to content

Instantly share code, notes, and snippets.

@aclamk
Created December 21, 2022 10:58
Show Gist options
  • Save aclamk/f350f118f33de447107743f7d62f21df to your computer and use it in GitHub Desktop.
Save aclamk/f350f118f33de447107743f7d62f21df to your computer and use it in GitHub Desktop.
~Buffer called
#0 0x00007ffff39aaa4f in raise () from /lib64/libc.so.6
#1 0x00007ffff397ddb5 in abort () from /lib64/libc.so.6
#2 0x00007ffff397dc89 in __assert_fail_base.cold.0 () from /lib64/libc.so.6
#3 0x00007ffff39a33a6 in __assert_fail () from /lib64/libc.so.6
#4 0x00005555561364d1 in boost::intrusive::detail::destructor_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::member_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)0> > (hook=...)
at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/node_handle.h:215
#5 boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::member_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)0>::~generic_hook (this=0x55557a63c9f0, __in_chrg=<optimized out>)
at boost/include/boost/intrusive/detail/generic_hook.hpp:193
#6 boost::intrusive::list_member_hook<>::~list_member_hook() (this=0x55557a63c9f0, __in_chrg=<optimized out>) at boost/include/boost/intrusive/list_hook.hpp:207
#7 BlueStore::Buffer::~Buffer (this=0x55557a63c9a0, __in_chrg=<optimized out>) at ../src/os/bluestore/BlueStore.h:260
#8 std::default_delete<BlueStore::Buffer>::operator() (__ptr=0x55557a63c9a0, this=<optimized out>)
at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/unique_ptr.h:85
#9 std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> >::~unique_ptr (this=0x5555856e8f28, __in_chrg=<optimized out>)
at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/unique_ptr.h:361
#10 std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >::~pair (this=0x5555856e8f20, __in_chrg=<optimized out>)
at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/stl_pair.h:211
#11 mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > >::destroy<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > (p=0x5555856e8f20,
this=<synthetic pointer>) at ../src/include/mempool.h:396
#12 std::allocator_traits<mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > > >::_S_destroy<mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > >, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > (__p=0x5555856e8f20, __a=<synthetic pointer>...) at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/alloc_traits.h:272
#13 std::allocator_traits<mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > > >::destroy<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > (
__p=0x5555856e8f20, __a=<synthetic pointer>...) at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/alloc_traits.h:378
#14 std::_Node_handle_common<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > > >::_M_reset (
this=0x7fffffffad60) at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/node_handle.h:166
#15 std::_Node_handle_common<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > > >::~_Node_handle_common (this=0x7fffffffad60, __in_chrg=<optimized out>) at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/node_handle.h:89
#16 std::_Node_handle<unsigned int, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > > >::~_Node_handle (this=0x7fffffffad60, __in_chrg=<optimized out>) at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/node_handle.h:243
#17 std::_Node_insert_return<std::_Rb_tree_iterator<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > >, std::_Node_handle<unsigned int, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, mempool::pool_allocator<(mempool::pool_index_t)4, std::_Rb_tree_node<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > > > >::~_Node_insert_return (this=0x7fffffffad50, __in_chrg=<optimized out>) at /opt/rh/gcc-toolset-11/root/usr/include/c++/11/bits/node_handle.h:381
#18 BlueStore::Blob::merge_blob (this=this@entry=0x555560ee4270, src=0x55557395cd00) at ../src/os/bluestore/BlueStore.cc:2751
#19 0x00005555561c73d6 in BlueStore::ExtentMap::make_range_shared (this=this@entry=0x555564676d80, store=store@entry=0x55555c28f200, txc=txc@entry=0x55555c1b0380,
c=..., oldo=..., srcoff=<optimized out>, length=184320) at boost/include/boost/smart_ptr/intrusive_ptr.hpp:179
#20 0x00005555561c82d4 in BlueStore::ExtentMap::dup (this=0x555564676d80, b=b@entry=0x55555c28f200, txc=txc@entry=0x55555c1b0380, c=..., oldo=..., newo=...,
srcoff=@0x7fffffffb0b8: 0, length=@0x7fffffffb140: 184320, dstoff=@0x7fffffffb148: 0) at ../src/os/bluestore/BlueStore.cc:3104
#21 0x00005555561c9f44 in BlueStore::_do_clone_range (this=this@entry=0x55555c28f200, txc=txc@entry=0x55555c1b0380, c=..., oldo=..., newo=..., srcoff=<optimized out>,
srcoff@entry=0, length=<optimized out>, dstoff=<optimized out>) at boost/include/boost/smart_ptr/intrusive_ptr.hpp:197
#22 0x00005555561ca745 in BlueStore::_clone (this=this@entry=0x55555c28f200, txc=txc@entry=0x55555c1b0380, c=..., oldo=..., newo=...)
at boost/include/boost/smart_ptr/intrusive_ptr.hpp:197
#23 0x00005555561da19f in BlueStore::_txc_add_transaction (this=this@entry=0x55555c28f200, txc=txc@entry=0x55555c1b0380, t=t@entry=0x55556474f200)
at ../src/os/bluestore/BlueStore.cc:15196
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) frame 18
#18 BlueStore::Blob::merge_blob (this=this@entry=0x555560ee4270, src=0x55557395cd00) at ../src/os/bluestore/BlueStore.cc:2751
2751 dst->bc.buffer_map.insert(std::move(buf));
while(!src->bc.buffer_map.empty()) {
auto buf = src->bc.buffer_map.extract(src->bc.buffer_map.cbegin());
buf.mapped()->space = &dst->bc;
dst->bc.buffer_map.insert(std::move(buf));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment