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)

Reply via email to