You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Dewey Dunnington (Jira)" <ji...@apache.org> on 2022/04/08 12:20:00 UTC
[jira] [Created] (ARROW-16152) [C++] Typo that causes segfault with unknown functions in Substrait
Dewey Dunnington created ARROW-16152:
----------------------------------------
Summary: [C++] Typo that causes segfault with unknown functions in Substrait
Key: ARROW-16152
URL: https://issues.apache.org/jira/browse/ARROW-16152
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Dewey Dunnington
There is a typo in {{ExtensionSet::Make()}} that causes a crash whenever somebody provides an unsupported function into the Substrait consumer. It looks like this was a copy/paste error here where {{type_ids}} should be {{function_ids}}.
https://github.com/apache/arrow/blob/a935c81b595d24179e115d64cda944efa93aa0e0/cpp/src/arrow/engine/substrait/extension_set.cc#L167-L168
To reproduce via the R bindings:
{noformat}
arrow:::do_exec_plan_substrait('
{
"extensionUris": [
{
"extensionUriAnchor": 1
}
],
"extensions": [
{
"extensionFunction": {
"extensionUriReference": 1,
"functionAnchor": 2,
"name": "abs_checked"
}
}
],
"relations": [
{
"rel": {
"project": {
"input": {
"read": {
"baseSchema": {
"names": [
"letter",
"number"
],
"struct": {
"types": [
{
"string": {
}
},
{
"i32": {
}
}
]
}
},
"namedTable": {
"names": [
"named_table_1"
]
}
}
},
"expressions": [
{
"scalarFunction": {
"functionReference": 2,
"args": [
{
"selection": {
"directReference": {
"structField": {
"field": 1
}
}
}
}
],
"outputType": {
}
}
}
]
}
}
}
]
}
')
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)