You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Rok Mihevc (Jira)" <ji...@apache.org> on 2023/01/11 07:20:03 UTC

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

     [ https://issues.apache.org/jira/browse/ARROW-2189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rok Mihevc updated ARROW-2189:
------------------------------
    External issue URL: https://github.com/apache/arrow/issues/18154

> [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
>            Assignee: Wes McKinney
>            Priority: Major
>             Fix For: 0.10.0
>
>         Attachments: Dockerfile, foo.cpp
>
>
> 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
(v8.20.10#820010)