sfu-dis/bztree

Descriptor Pool Allocation Failure in bztree_pmdk_test

warsier opened this issue · 1 comments

Hi, I have been trying out the PMDK version using real PM. However, I got an allocation error when allocating the pointer to DescriptorPool the second time (Line 69). Then the subsequent newing of DescriptorPool causes a segfault.
https://github.com/wangtzh/bztree/blob/b31c82380405dc8fdc097f4b75103bb5b7cb74a7/tests/bztree_pmdk_tests.cc#L69

The error message is shown below:

~/Documents/bztree/PMDK-Debug(master*) » ./bztree_pmdk_tests                                                                                                        
[==========] Running 5 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 2 tests from BzTreePMEMTest
[ RUN      ] BzTreePMEMTest.InsertTest
[       OK ] BzTreePMEMTest.InsertTest (658 ms)
[ RUN      ] BzTreePMEMTest.ReadTest
Allocate: TXN Allocation Error: 72
[1]    276595 segmentation fault (core dumped)  ./bztree_pmdk_tests

Any suggestion on this would be very helpful.

Hi, @warsier can you switch to the new_pmwcas branch and try again?

Also, note that the pmdk tests are designed such that you need to run the insert test first, then run the read test.

You can use the --gtest_filter arg to control this behavor, for example:
./bztree_pmdk_tests --gtest_filter=BzTreePMEMTest.InsertTest
then
./bztree_pmdk_tests --gtest_filter=BzTreePMEMTest.ReadTest