Hi there,
Recently I keep trying to write a rbtree using pmem c++ library. And this function works well until it adds the 307 element to the tree. It gives the below message: Can anyone help to give me some suggestion? I just recently start using the pmem library and the implementation is pretty standard. Thanks!
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bae7c8 in container_seglists_get_rm_block_bestfit ()
from /usr/local/lib/libpmemobj.so.1
(gdb) bt
#0 0x00007ffff7bae7c8 in container_seglists_get_rm_block_bestfit ()
from /usr/local/lib/libpmemobj.so.1
#1 0x00007ffff7bb1bce in heap_get_bestfit_block () from /usr/local/lib/libpmemobj.so.1
#2 0x00007ffff7bbb75d in palloc_reservation_create () from /usr/local/lib/libpmemobj.so.1
#3 0x00007ffff7bc2c65 in tx_alloc_common.isra.27.constprop ()
from /usr/local/lib/libpmemobj.so.1
#4 0x00007ffff7bc4086 in pmemobj_tx_alloc () from /usr/local/lib/libpmemobj.so.1
#5 0x000000000040472f in pmem::detail::pp_if_not_array<mytest::RBTree::RBnode>::type pmem::obj::make_persistent<mytest::RBTree::RBnode>() ()
#6 0x0000000000403f22 in mytest::RBTree::insertBST(pmem::obj::pool_base&, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>)::{lambda()#1}::operator()() const ()
#7 0x000000000040626a in std::_Function_handler<void (), mytest::RBTree::insertBST(pmem::obj::pool_base&, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) ()
#8 0x0000000000405a4e in std::function<void ()>::operator()() const ()
#9 0x0000000000404c42 in void pmem::obj::transaction::exec_tx<>(pmem::obj::pool_base&, std::function<void ()>) ()
#10 0x00000000004042fb in mytest::RBTree::insertBST(pmem::obj::pool_base&, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>) ()
#11 0x0000000000403fd8 in mytest::RBTree::insertBST(pmem::obj::pool_base&, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>, pmem::obj::persistent_ptr<mytest::RBTree::RBnode>)::{lambda()#1}::operator()() const ()