When creating a PoolBuffer, I get a Segmentation fault when I use make_shared. If I use the shared_ptr constructor of reset, it works fine. Here is an example:
arrow::MemoryPool* pool = arrow::default_memory_pool();
auto buffer = std::make_shared<arrow::PoolBuffer>(pool);
> g++-4.9 -std=c++11 -larrow foo.cpp && ./a.out
Segmentation fault (core dumped)
The example works fine with #1 or #2 options. It also works if the builder is commented out.