You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Matt Pollock (Jira)" <ji...@apache.org> on 2020/08/03 15:23:00 UTC

[jira] [Comment Edited] (ARROW-9602) [R] segfault on Table$create(iris)

    [ https://issues.apache.org/jira/browse/ARROW-9602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17170094#comment-17170094 ] 

Matt Pollock edited comment on ARROW-9602 at 8/3/20, 3:22 PM:
--------------------------------------------------------------

Another potentially useful tidbit: after {{sudo yum remove arrow-devel}} to force {{install.packages("arrow")}} to compile arrow from source I get the following message (or note) about needing to run {{install_arrow()}} later on.
{code:java}
> install.packages("arrow")
Installing package into ‘/my/package/repo/R/centos7/4.0’
(as ‘lib’ is unspecified)
trying URL 'https://artifacts.our.mirror.org/cran/src/contrib/arrow_1.0.0.tar.gz'
Content type 'application/x-gzip' length 274139 bytes (267 KB)
==================================================
downloaded 267 KB


* installing *source* package ‘arrow’ ...
** package ‘arrow’ successfully unpacked and MD5 sums checked
** using staged installation
*** Successfully retrieved C++ source
*** Building C++ libraries
**** arrow 
------------------------- NOTE ---------------------------
After installation, please run arrow::install_arrow()
for help installing required runtime libraries
---------------------------------------------------------
{code}
However, immediately after this note I see that the C++ source is being compiled, e.g.,
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11 -I"/opt/R/4.0.0/lib/R/include" -DNDEBUG  -I'/opt/R/4.0.0/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c array.cpp -o array.o
{code}
After an apparent successful compilation and installation (of the R package) {{arrow_available()}} returns false. If I follow the advice of the note I see more compilation messages of the same flavor as above with the main difference (so far as I can tell) being the presence of {{-DARROW_R_WITH_ARROW}} 
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11 -I"/opt/R/4.0.0/lib/R/include" -DNDEBUG -I/tmp/Rtmpq1bAon/R.INSTALL57335ab235d1/arrow/libarrow/arrow-1.0.0/include  -DARROW_R_WITH_ARROW -I'/opt/R/4.0.0/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c array.cpp -o array.o{code}
After this {{arrow_available()}} returns true but {{write_parquet(iris, tempfile())}} still causes a segfault


was (Author: mpollock):
Another potentially useful tidbit: after {{sudo yum remove arrow-devel}} to force {{install.packages("arrow")}} to compile arrow from source I get the following message (or note) about needing to run {{install_arrow()}} later on.
{code:java}
> install.packages("arrow")
Installing package into ‘/devel/r-user-packages/mpollock/R/centos7/4.0’
(as ‘lib’ is unspecified)
trying URL 'https://artifacts.mitre.org/artifactory/cran/src/contrib/arrow_1.0.0.tar.gz'
Content type 'application/x-gzip' length 274139 bytes (267 KB)
==================================================
downloaded 267 KB


* installing *source* package ‘arrow’ ...
** package ‘arrow’ successfully unpacked and MD5 sums checked
** using staged installation
*** Successfully retrieved C++ source
*** Building C++ libraries
**** arrow 
------------------------- NOTE ---------------------------
After installation, please run arrow::install_arrow()
for help installing required runtime libraries
---------------------------------------------------------
{code}
However, immediately after this note I see that the C++ source is being compiled, e.g.,
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11 -I"/opt/R/4.0.0/lib/R/include" -DNDEBUG  -I'/opt/R/4.0.0/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c array.cpp -o array.o
{code}
After an apparent successful compilation and installation (of the R package) {{arrow_available()}} returns false. If I follow the advice of the note I see more compilation messages of the same flavor as above with the main difference (so far as I can tell) being the presence of {{-DARROW_R_WITH_ARROW}} 
{code:java}
** libs /opt/rh/devtoolset-8/root/bin/g++ -std=gnu++11 -I"/opt/R/4.0.0/lib/R/include" -DNDEBUG -I/tmp/Rtmpq1bAon/R.INSTALL57335ab235d1/arrow/libarrow/arrow-1.0.0/include  -DARROW_R_WITH_ARROW -I'/opt/R/4.0.0/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c array.cpp -o array.o{code}
After this {{arrow_available()}} returns true but {{write_parquet(iris, tempfile())}} still causes a segfault

> [R] segfault on Table$create(iris)
> ----------------------------------
>
>                 Key: ARROW-9602
>                 URL: https://issues.apache.org/jira/browse/ARROW-9602
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: R
>    Affects Versions: 1.0.0
>            Reporter: Matt Pollock
>            Priority: Major
>
>  
> {code:java}
> > arrow::write_parquet(iris, "~/iris") 
> *** caught segfault ***
> address (nil), cause 'memory not mapped' Traceback: 1: Table__from_dots(dots, schema) 2: shared_ptr_is_null(xp) 3: shared_ptr(Table, Table__from_dots(dots, schema)) 4: Table$create(x) 5: arrow::write_parquet(iris, "~/iris")
> {code}
> The segfault is easy to generate trying to write iris data to parquet. I have tried R 4.0.0 and R 4.0.2, I've installed the arrow (R) package from CRAN, source, nightly build, both with and without using the system arrow C++ installation. When using system arrow the installed version is:
> {noformat}
> Installed Packages 
> Name        : arrow-devel 
> Arch        : x86_64 
> Version     : 1.0.0 
> Release     : 1.el7 
> Size        : 32 M 
> Repo        : installed 
> From repo   : apache-arrow 
> Summary     : Libraries and header files for Apache Arrow C++ 
> URL         : https://arrow.apache.org/ 
> License     : Apache-2.0 
> Description : Libraries and header files for Apache Arrow C++.
> {noformat}
>  I realize that this is so basic that it seems improbable that your CI didn't catch something (i.e., that the issue has to do with my local environment) but would appreciate verification that version 1.0 works for others on centOS7



--
This message was sent by Atlassian Jira
(v8.3.4#803005)