[
https://issues.apache.org/jira/browse/ARROW-11963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17304513#comment-17304513
]
Ahmed Riza commented on ARROW-11963:
------------------------------------
[~apitrou], even though I've got a debug build of arrow C++ libraries, the
issue is that the core dump is not meaningful since R itself needs to be
compiled with debug symbols. I can do this, but then I won't be able to
reproduce the segfault, since my local builds do not crash and work fine as
mentioned earlier in this thread.
[~jonkeane], I tried setting the `EXTRA_CMAKE_FLAGS` but dd not get used during
the C++ arrow library build. I set all the following flags:
{code:java}
$ echo $EXTRA_CMAKE_FLAGS
-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe
-Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=
/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection {code}
However, I can't see any used. Here's the compilation of a file showing all the
flags that are being used
{code:java}
cd /work/apache-arrow-3.0.0/cpp/build/src/arrow/dataset && /usr/bin/c++
-DARROW_DS_EXPORTING -DARROW_EXTRA_ERROR_CONTEXT -DARROW_HAVE_RUNTIME_AVX2
-DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2
-DARROW_HAVE_RUNTIME_SSE4_2 -DARROW
_HAVE_SSE4_2 -DARROW_HDFS -DARROW_JEMALLOC -DARROW_JEMALLOC_INCLUDE_DIR=""
-DARROW_WITH_RE2 -DARROW_WITH_SNAPPY -DARROW_WITH_TIMING_TESTS
-DARROW_WITH_UTF8PROC -DARROW_WITH_ZLIB -DURI_STATIC_BUILD -DUTF8PROC_STATIC
-I/work/apache-arrow-
3.0.0/cpp/build/src -I/work/apache-arrow-3.0.0/cpp/src
-I/work/apache-arrow-3.0.0/cpp/src/generated
-I/work/apache-arrow-3.0.0/cpp/src/parquet -isystem
/work/apache-arrow-3.0.0/cpp/thirdparty/flatbuffers/include -isystem
/work/apache-ar
row-3.0.0/cpp/build/jemalloc_ep-prefix/src -isystem
/work/apache-arrow-3.0.0/cpp/build/src/rapidjson_ep/include -isystem
/work/apache-arrow-3.0.0/cpp/build/re2_ep-install/include -isystem
/work/apache-arrow-3.0.0/cpp/build/utf8proc_ep-i
nstall/include -isystem /home/ahmed/software/hadoop-3.3.0/include -isystem
/work/apache-arrow-3.0.0/cpp/build/awssdk_ep-install/include -Wno-noexcept-type
-fdiagnostics-color=always -O3 -DNDEBUG -Wall -fno-semantic-interposition
-msse
4.2 -O2 -DNDEBUG -fPIC -std=c++11 -o
CMakeFiles/arrow_dataset_objlib.dir/file_parquet.cc.o -c
/work/apache-arrow-3.0.0/cpp/src/arrow/dataset/file_parquet.cc
{code}
> Arrow installation issue with R 4.0.4 on Fedora 33
> --------------------------------------------------
>
> Key: ARROW-11963
> URL: https://issues.apache.org/jira/browse/ARROW-11963
> Project: Apache Arrow
> Issue Type: Bug
> Components: R
> Affects Versions: 3.0.0
> Environment: Linux, Fedora 33
> Reporter: Ahmed Riza
> Priority: Major
> Attachments: R_arrow_install.log.gz, R_arrow_install_clean.log.gz,
> R_install_20210317204844.log.gz, R_install_with_debug.log.gz, cmake.log,
> jemalloc_ep_config.log, make.log.gz
>
>
> I have been trying to install "arrow" package, using R 4.0.4 on Linux (Fedora
> 33). I have built and installed the C++ arrow libraries (using release
> version 3.0.0) following the instructions at
> [https://arrow.apache.org/docs/r/.|https://arrow.apache.org/docs/r/]
> Then, from R, I tried to install "arrow":
> {code:java}
> install.packages("arrow"){code}
> This fails during the verification stage:
> {code:java}
> ** testing if installed package can be loaded from temporary location
> sh: line 1: 8386 Segmentation fault (core dumped) R_TESTS=
> '/usr/lib64/R/bin/R' --no-save --no-restore --no-echo 2>&1 <
> '/tmp/RtmpWtq6vV/file1f4b570a7335'
> caught segfault ***
> address (nil), cause 'memory not mapped'
> Traceback:
> 1: dyn.load(file, DLLpath = DLLpath, ...)
> 2: library.dynam(lib, package, package.lib)
> 3: loadNamespace(package, lib.loc)
> 4: doTryCatch(return(expr), name, parentenv, handler)
> 5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 6: tryCatchList(expr, classes, parentenv, handlers)
> 7: tryCatch({ attr(package, "LibPath") <- which.lib.loc ns <-
> loadNamespace(package, lib.loc) env <- attachNamespace(ns, pos = pos,
> deps, exclude, include.only)}, error = function(e) { P <- if (!is.null(cc
> <- conditionCall(
> e))) paste(" in", deparse(cc)[1L]) else "" msg <-
> gettextf("package or namespace load failed for %s%s:\n %s",
> sQuote(package), P, conditionMessage(e)) if (logical.return)
> message(paste("Error:", msg), do
> main = NA) else stop(msg, call. = FALSE, domain = NA)})
> 8: library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return =
> TRUE)
> 9: withCallingHandlers(expr, packageStartupMessage = function(c)
> tryInvokeRestart("muffleMessage"))
> 10: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE))
> 11: doTryCatch(return(expr), name, parentenv, handler)
> 12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 13: tryCatchList(expr, classes, parentenv, handlers)
> 14: tryCatch(expr, error = function(e) { call <- conditionCall(e) if
> (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch)))
> call <- sys.call(-4L) dcall <- deparse(call)[1L] prefix
> <- past
> e("Error in", dcall, ": ") LONG <- 75L sm <-
> strsplit(conditionMessage(e), "\n")[[1L]] w <- 14L + nchar(dcall, type
> = "w") + nchar(sm[1L], type = "w") if (is.na(w)) w <- 14L
> + nchar(dcall, type =
> "b") + nchar(sm[1L], type = "b") if (w > LONG)
> prefix <- paste0(prefix, "\n ") } else prefix <- "Error : " msg
> <- paste0(prefix, conditionMessage(e), "\n")
> .Internal(seterrmessage(msg[1L])
> ) if (!silent && isTRUE(getOption("show.error.messages"))) {
> cat(msg, file = outFile) .Internal(printDeferredWarnings()) }
> invisible(structure(msg, class = "try-error", condition = e))})
> 15: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE)))
> 16: tools:::.test_load_package("arrow",
> "/work/R/x86_64-redhat-linux-gnu-library/4.0/00LOCK-arrow/00new")
> An irrecoverable exception occurred. R is aborting now ...
> ERROR: loading failed
> {code}
> R version info:
> {code:java}
> R version 4.0.4 (2021-02-15) -- "Lost Library Book"
> Copyright (C) 2021 The R Foundation for Statistical Computing
> Platform: x86_64-redhat-linux-gnu (64-bit)
> {code}
> Any thoughts on where to look? (I can only get arrow to work with the latest
> development version of R and not the release version of 4.0.4). Thanks.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)