You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Rares Vernica (JIRA)" <ji...@apache.org> on 2018/02/20 03:54:00 UTC

[jira] [Created] (ARROW-2189) [C++] Seg. fault on make_shared

Rares Vernica created ARROW-2189:
------------------------------------

             Summary: [C++] Seg. fault on make_shared<PoolBuffer>
                 Key: ARROW-2189
                 URL: https://issues.apache.org/jira/browse/ARROW-2189
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
    Affects Versions: 0.8.0
         Environment: Debian jessie in a Docker container
libarrow-dev 0.8.0-2 (Ubuntu trusty)

            Reporter: Rares Vernica


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:
{code:java}
#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);
}
{code}
{code:java}
> g++-4.9 -std=c++11 -larrow foo.cpp && ./a.out
Segmentation fault (core dumped)
{code}
The example works fine with {{#1}} or {{#2}} options. It also works if the builder is commented out.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)