Antoine Pitrou created ARROW-5272:
-------------------------------------
Summary: [C++] [Gandiva] JIT code executed over uninitialized
values
Key: ARROW-5272
URL: https://issues.apache.org/jira/browse/ARROW-5272
Project: Apache Arrow
Issue Type: Bug
Components: C++ - Gandiva
Reporter: Antoine Pitrou
When running Gandiva tests with Valgrind, I get the following errors:
{code}
[==========] Running 4 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 4 tests from TestDecimal
[ RUN ] TestDecimal.TestSimple
==12052== Conditional jump or move depends on uninitialised value(s)
==12052== at 0x41110D5: ???
==12052==
{
<insert_a_suppression_name_here>
Memcheck:Cond
obj:*
}
==12052== Conditional jump or move depends on uninitialised value(s)
==12052== at 0x41110E8: ???
==12052==
{
<insert_a_suppression_name_here>
Memcheck:Cond
obj:*
}
==12052== Conditional jump or move depends on uninitialised value(s)
==12052== at 0x411114B: ???
==12052==
{
<insert_a_suppression_name_here>
Memcheck:Cond
obj:*
}
==12052== Conditional jump or move depends on uninitialised value(s)
==12052== at 0x411117B: ???
==12052==
{
<insert_a_suppression_name_here>
Memcheck:Cond
obj:*
}
[ OK ] TestDecimal.TestSimple (16625 ms)
[ RUN ] TestDecimal.TestLiteral
[ OK ] TestDecimal.TestLiteral (3480 ms)
[ RUN ] TestDecimal.TestIfElse
[ OK ] TestDecimal.TestIfElse (2408 ms)
[ RUN ] TestDecimal.TestCompare
[ OK ] TestDecimal.TestCompare (5303 ms)
{code}
I think this is legitimate. Gandiva runs computations over all values, even
when the bitmap indicates a null value. But decimal computations are complex
and involve conditional jumps, hence the error ("Conditional jump or move
depends on uninitialised value(s)").
[~pravindra]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)