You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Neal Richardson (Jira)" <ji...@apache.org> on 2021/06/10 17:26:00 UTC

[jira] [Commented] (ARROW-13037) [R] Incorrect param when creating Expression crashes R

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

Neal Richardson commented on ARROW-13037:
-----------------------------------------

Most crashes/segfaults like this from R are when you pass an externalptr of the wrong type to a function. A type mismatch involving normal R inputs is generally handled fine (e.g. you provide a character vector but the C++ function signature expects int), but this static type checking doesn't catch when (as in this example) you pass a Table to a function that expects an Expression.

I think you'll see where the missing validation should go, but LMK if you need a pointer.

> [R] Incorrect param when creating Expression crashes R
> ------------------------------------------------------
>
>                 Key: ARROW-13037
>                 URL: https://issues.apache.org/jira/browse/ARROW-13037
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: R
>            Reporter: Nic Crane
>            Priority: Minor
>
> *Setup*:
>  * Arrow Dev version from commit 0ef2080f6be27
>  * R version 4.1.0 (2021-05-18)
>  * Platform: x86_64-pc-linux-gnu (64-bit)
>  * Running under: Ubuntu 20.04.2 LTS
> *Steps to reproduce:*
> {code:java}
> devtools::load_all("./r")
> Expression$create("day_of_week", Table$create(iris))
> {code}
> *Expected behaviour:*
> Some kind of error message warning me that the second argument is wrong.
> *Actual behaviour:*
> Big long error message that entirely crashes R, which ends like this (RStudio won't let me copy and paste the rest once it's crashed!)
> {code:java}
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f48eb13a0b3]
> /usr/lib/rstudio/bin/rsession(+0xb167a)[0x559201a9067a]
> [372067:372067:20210610,174533.447567:ERROR process_memory_range.cc:86] read out of range
> [372067:372067:20210610,174533.447611:ERROR elf_image_reader.cc:558] missing nul-terminator
> [372067:372067:20210610,174533.447702:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.449694:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.449720:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.449743:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.449765:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.449788:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.449812:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450021:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450043:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450231:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450259:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450281:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450303:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450323:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450344:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450366:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450390:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450412:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450434:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450454:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450475:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450499:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450522:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450547:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450568:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450591:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450611:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450633:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450654:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450675:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372067:20210610,174533.450699:ERROR elf_dynamic_array_reader.h:61] tag not found
> [372067:372068:20210610,174533.452365:ERROR directory_reader_posix.cc:42] opendir: No such file or directory (2)   
> {code}
> There is also some stuff about `libR.so` higher up in the error message.



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