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:
#include <arrow/builder.h>
int main()
{
arrow::MemoryPool* pool = arrow::default_memory_pool();
arrow::Int64Builder builder(pool);
builder.Append(1);
// #1
// std::shared_ptr<arrow::PoolBuffer> buffer(new arrow::PoolBuffer(pool));
// #2
// std::shared_ptr<arrow::PoolBuffer> buffer;
// buffer.reset(new arrow::PoolBuffer(pool));
// #3
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.
Environment: Debian jessie in a Docker container
libarrow-dev 0.8.0-2 (Ubuntu trusty)
Reporter: Rares Vernica / @rvernica
Assignee: Wes McKinney / @wesm
Original Issue Attachments:
Note: This issue was originally created as ARROW-2189. Please see the migration documentation for further details.
When creating a
PoolBuffer, I get aSegmentation faultwhen I usemake_shared. If I use theshared_ptrconstructor ofreset, it works fine. Here is an example:The example works fine with
#1or#2options. It also works if the builder is commented out.Environment: Debian jessie in a Docker container
libarrow-dev 0.8.0-2 (Ubuntu trusty)
Reporter: Rares Vernica / @rvernica
Assignee: Wes McKinney / @wesm
Original Issue Attachments:
Note: This issue was originally created as ARROW-2189. Please see the migration documentation for further details.