metall
metall copied to clipboard
metall manager capacity limit SEGFAULT
The following code causes a segfault:
std::string const path{std::format("/tmp/metall-test-capacity-{}", std::random_device{}())};
metall::manager manager{metall::create_only, path, 1};
std::vector<uint64_t, metall::manager::allocator_type<uint64_t>> vec{manager.get_allocator<uint64_t>()};
for (size_t cap = 0; cap < 100'000'000; cap += 1'000'000) {
vec.resize(cap);
}
Whereas it throws bad_alloc
(as expected) if you immediately .resize()
to 100'000'000.