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

David Li commented on ARROW-14027:
----------------------------------

Here's the back of the traceback, which confirms it is an issue with a hash 
aggregate kernel not accounting for scalar inputs:
{noformat}
/home/lidavidm/Code/upstream/arrow-14027/cpp/src/arrow/util/variant.h:383:10: 
runtime error: reference binding to null pointer of type 'const struct 
shared_ptr'
    #0 0x7f37f2a3a792 in std::shared_ptr<arrow::ArrayData> const& 
arrow::util::get<std::shared_ptr<arrow::ArrayData>, arrow::Datum::Empty, 
std::shared_ptr<arrow::Scalar>, std::shared_ptr<arrow::ArrayData>, 
std::shared_ptr<arrow::ChunkedArray>, std::shared_ptr<arrow::RecordBatch>, 
std::shared_ptr<arrow::Table>, std::vector<arrow::Datum, 
std::allocator<arrow::Datum> > >(arrow::util::Variant<arrow::Datum::Empty, 
std::shared_ptr<arrow::Scalar>, std::shared_ptr<arrow::ArrayData>, 
std::shared_ptr<arrow::ChunkedArray>, std::shared_ptr<arrow::RecordBatch>, 
std::shared_ptr<arrow::Table>, std::vector<arrow::Datum, 
std::allocator<arrow::Datum> > > const&) 
(/home/lidavidm/Code/upstream/arrow-14027/install/lib/libarrow.so.600+0x45b0792)
    #1 0x7f37f2eea8cd in arrow::Datum::array() const 
/home/lidavidm/Code/upstream/arrow-14027/cpp/src/arrow/datum.h:191
    #2 0x7f37f369d2d3 in Consume 
/home/lidavidm/Code/upstream/arrow-14027/cpp/src/arrow/compute/kernels/hash_aggregate.cc:570
    #3 0x7f37f3381c35 in Consume 
/home/lidavidm/Code/upstream/arrow-14027/cpp/src/arrow/compute/exec/aggregate_node.cc:406
    #4 0x7f37f338517a in InputReceived 
/home/lidavidm/Code/upstream/arrow-14027/cpp/src/arrow/compute/exec/aggregate_node.cc:518
 {noformat}

> [R] Allow me to group_by + summarise() with partitioning fields 
> ----------------------------------------------------------------
>
>                 Key: ARROW-14027
>                 URL: https://issues.apache.org/jira/browse/ARROW-14027
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: R
>            Reporter: Jonathan Keane
>            Priority: Blocker
>             Fix For: 6.0.0
>
>
> If one puts a field that is one of the partitioning variables in 
> {{group_by()}} and then summarises, we get a segfault:
> {code:r}
> library(arrow)
> library(dplyr)
> temp <- tempfile()
> write_dataset(mtcars, path = temp, partitioning = "cyl")
> ds <- open_dataset(temp)
> # this works just fine
> ds %>% 
>   group_by(gear) %>% 
>   summarise(
>     sum(mpg)
>   ) %>% 
>   collect()
> # however this segfaults (regardless of the aggregation, even simply n()) 
> #  *** caught segfault ***
> # address 0x0, cause 'memory not mapped'
> ds %>% 
>   group_by(cyl) %>% 
>   summarise(
>     sum(mpg)
>   ) %>% 
>   collect()
> {code}



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

Reply via email to