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

[jira] [Updated] (ARROW-14519) [C++] joins segfault when data contains list column

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

Nicola Crane updated ARROW-14519:
---------------------------------
    Description: 
When I run the R code below, it results in a segfault if one of the tables contains a list column.
{code:r}
library(arrow)
library(dplyr)

basic_tbl <- arrow_table(
  tibble::tibble(
    x = 1:3,
    y = c("a", "b", "c")
  )
)

basic_tbl2 <- arrow_table(
  tibble::tibble(
    x = 1:3,
    z = c(T, F, T)
  )
)

list_tbl <- arrow_table(
  tibble::tibble(
    z = list(c("first", "list", "col", "row"), c("second row ", "here")),
    x = 1:2
  )
)

# works
left_join(basic_tbl, basic_tbl2) %>%
  collect()

# segfaults
left_join(basic_tbl, list_tbl) %>%
  collect()

{code}

  was:
 
{code:r}
library(arrow)
library(dplyr)

basic_tbl <- arrow_table(
  tibble::tibble(
    x = 1:3,
    y = c("a", "b", "c")
  )
)

basic_tbl2 <- arrow_table(
  tibble::tibble(
    x = 1:3,
    z = c(T, F, T)
  )
)

list_tbl <- arrow_table(
  tibble::tibble(
    z = list(c("first", "list", "col", "row"), c("second row ", "here")),
    x = 1:2
  )
)

# works
left_join(basic_tbl, basic_tbl2) %>%
  collect()

# segfaults
left_join(basic_tbl, list_tbl) %>%
  collect()

{code}


> [C++] joins segfault when data contains list column
> ---------------------------------------------------
>
>                 Key: ARROW-14519
>                 URL: https://issues.apache.org/jira/browse/ARROW-14519
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Nicola Crane
>            Priority: Major
>
> When I run the R code below, it results in a segfault if one of the tables contains a list column.
> {code:r}
> library(arrow)
> library(dplyr)
> basic_tbl <- arrow_table(
>   tibble::tibble(
>     x = 1:3,
>     y = c("a", "b", "c")
>   )
> )
> basic_tbl2 <- arrow_table(
>   tibble::tibble(
>     x = 1:3,
>     z = c(T, F, T)
>   )
> )
> list_tbl <- arrow_table(
>   tibble::tibble(
>     z = list(c("first", "list", "col", "row"), c("second row ", "here")),
>     x = 1:2
>   )
> )
> # works
> left_join(basic_tbl, basic_tbl2) %>%
>   collect()
> # segfaults
> left_join(basic_tbl, list_tbl) %>%
>   collect()
> {code}



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