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/04/01 00:25:00 UTC
[jira] [Commented] (ARROW-2189) [C++] Seg. fault on
make_shared
[ https://issues.apache.org/jira/browse/ARROW-2189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16421531#comment-16421531 ]
Rares Vernica commented on ARROW-2189:
--------------------------------------
I did some tests and it does not look like these differences help with the issue.
On the other hand, I compiled Arrow using {{g++-4.9}} and the issue is gone.
> [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
> Priority: Major
> 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
(v7.6.3#76005)