PMEMAllocator does not correctly populate PMEM space
tthebst opened this issue · comments
tim gretler commented
Populate space sometimes fails to initialize the pmem space. In PMEMAllocator::PopulateSpace
it is possible that pmem_memset
gets called on memory that is not part of the file. It happens if pu
(cpu count) is not a power of 2. In my case pu
was 12 and I used linux memmap. This caused a segmentation fault.
Reproduce:
- Setup linux memmap
- Run tutorial
- Check that
pu
is 12
Solutions:
- Always set
pu
to16
as done here and check file is the power of 2 - Handle edge case for cases where cpu count not power of two