You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Yaron Gvili (Jira)" <ji...@apache.org> on 2022/06/07 12:49:00 UTC

[jira] [Created] (ARROW-16770) Arrow Substrait test fails with SIGSEGV, possibly due to gtest 1.11.0

Yaron Gvili created ARROW-16770:
-----------------------------------

             Summary: Arrow Substrait test fails with SIGSEGV, possibly due to gtest 1.11.0
                 Key: ARROW-16770
                 URL: https://issues.apache.org/jira/browse/ARROW-16770
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Yaron Gvili


I built Arrow using the instructions in the Python development page, under the pyarrow-dev environment, and found that `arrow-substrait-substrait-test` fails with SIGSEGV - see gdb session below. The same Arrow build and runs correctly on my system, outside of pyarrow-dev. I suspect this is due to something different about gtest 1.11.0 as compared to gtest 1.10.0 based on the following observations:
 # The backtrace in the gdb session shows gtest 1.11.0 is used.
 # The backtrace also shows the error is deep inside gtest, working on an `UnorderedElementsAre` expectation.
 # My system, outside pyarrow-dev, uses gtest 1.10.0.

 
{noformat}
$ gdb --args ./release/arrow-substrait-substrait-test 
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./release/arrow-substrait-substrait-test...
(gdb) run
Starting program: /mnt/user1/tscontract/github/rtpsw/arrow/cpp/build/debug/release/arrow-substrait-substrait-test 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff41ff700 (LWP 115128)]
Running main() from /home/conda/feedstock_root/build_artifacts/gtest_1647154636757/work/googletest/src/gtest_main.cc
[==========] Running 33 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 4 tests from ExtensionIdRegistryTest
[ RUN      ] ExtensionIdRegistryTest.RegisterTempTypes
[       OK ] ExtensionIdRegistryTest.RegisterTempTypes (0 ms)
[ RUN      ] ExtensionIdRegistryTest.RegisterTempFunctions
[       OK ] ExtensionIdRegistryTest.RegisterTempFunctions (0 ms)
[ RUN      ] ExtensionIdRegistryTest.RegisterNestedTypes
[       OK ] ExtensionIdRegistryTest.RegisterNestedTypes (0 ms)
[ RUN      ] ExtensionIdRegistryTest.RegisterNestedFunctions
[       OK ] ExtensionIdRegistryTest.RegisterNestedFunctions (0 ms)
[----------] 4 tests from ExtensionIdRegistryTest (0 ms total)
[----------] 21 tests from Substrait
[ RUN      ] Substrait.SupportedTypes
[       OK ] Substrait.SupportedTypes (0 ms)
[ RUN      ] Substrait.SupportedExtensionTypes
[       OK ] Substrait.SupportedExtensionTypes (0 ms)
[ RUN      ] Substrait.NamedStruct
[       OK ] Substrait.NamedStruct (0 ms)
[ RUN      ] Substrait.NoEquivalentArrowType
[       OK ] Substrait.NoEquivalentArrowType (0 ms)
[ RUN      ] Substrait.NoEquivalentSubstraitType
[       OK ] Substrait.NoEquivalentSubstraitType (0 ms)
[ RUN      ] Substrait.SupportedLiterals
[       OK ] Substrait.SupportedLiterals (1 ms)
[ RUN      ] Substrait.CannotDeserializeLiteral
[       OK ] Substrait.CannotDeserializeLiteral (0 ms)
[ RUN      ] Substrait.FieldRefRoundTrip
[       OK ] Substrait.FieldRefRoundTrip (1 ms)
[ RUN      ] Substrait.RecursiveFieldRef
[       OK ] Substrait.RecursiveFieldRef (0 ms)
[ RUN      ] Substrait.FieldRefsInExpressions
[       OK ] Substrait.FieldRefsInExpressions (0 ms)
[ RUN      ] Substrait.CallSpecialCaseRoundTrip
[       OK ] Substrait.CallSpecialCaseRoundTrip (0 ms)
[ RUN      ] Substrait.CallExtensionFunction
[       OK ] Substrait.CallExtensionFunction (0 ms)
[ RUN      ] Substrait.ReadRel
Thread 1 "arrow-substrait" received signal SIGSEGV, Segmentation fault.
0x00005555555b02e6 in testing::internal::MatcherBase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::MatchAndExplain (listener=0x7fffffffb3a0, x=..., 
    this=<optimized out>) at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/shared_ptr_base.h:1324
1324          get() const noexcept
(gdb) bt
#0  0x00005555555b02e6 in testing::internal::MatcherBase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::MatchAndExplain (listener=0x7fffffffb3a0, x=..., 
    this=<optimized out>) at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/shared_ptr_base.h:1324
#1  testing::internal::UnorderedElementsAreMatcherImpl<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&>::AnalyzeElements<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > (listener=0x7fffffffb640, 
    element_printouts=0x7fffffffb3b0, elem_last=..., elem_first=..., this=0x555555765610) at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/include/gmock/gmock-matchers.h:3504
#2  testing::internal::UnorderedElementsAreMatcherImpl<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&>::MatchAndExplain (this=0x555555765610, container=..., listener=0x7fffffffb640)
    at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/include/gmock/gmock-matchers.h:3464
#3  0x00005555555af714 in testing::internal::MatcherBase<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&>::MatchAndExplain (listener=0x7fffffffb640, x=..., this=0x7fffffffb620)
    at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/x86_64-conda-linux-gnu/include/c++/10.3.0/bits/shared_ptr_base.h:1324
#4  testing::internal::MatcherBase<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&>::Matches (x=..., this=0x7fffffffb620) at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/include/gtest/gtest-matchers.h:270
#5  testing::internal::PredicateFormatterFromMatcher<testing::internal::UnorderedElementsAreMatcher<std::tuple<char const*, char const*> > >::operator()<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > (this=this@entry=0x7fffffffbae0, 
    value_text=value_text@entry=0x5555555b79f1 "dataset.files()", x=...) at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/include/gmock/gmock-matchers.h:1544
#6  0x0000555555598a2b in arrow::engine::Substrait_ReadRel_Test::TestBody (this=<optimized out>) at /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/include/gmock/gmock-matchers.h:3533
#7  0x00007ffff7c20d3e in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
   from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest.so.1.11.0
#8  0x00007ffff7c21011 in testing::Test::Run() () from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest.so.1.11.0
#9  0x00007ffff7c213a7 in testing::TestInfo::Run() () from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest.so.1.11.0
#10 0x00007ffff7c21abc in testing::TestSuite::Run() () from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest.so.1.11.0
#11 0x00007ffff7c2228e in testing::internal::UnitTestImpl::RunAllTests() () from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest.so.1.11.0
#12 0x00007ffff7c216ae in testing::UnitTest::Run() () from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest.so.1.11.0
#13 0x00007ffff7c3f06f in main () from /mnt/soft1/tscontract/pkg/miniconda3/envs/pyarrow-dev/lib/libgtest_main.so.1.11.0
#14 0x00007ffff5b840b3 in __libc_start_main (main=0x7ffff7c3f030 <main>, argc=1, argv=0x7fffffffc0d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffc0c8)
    at ../csu/libc-start.c:308
#15 0x00005555555780f1 in _start () at /mnt/user1/tscontract/github/rtpsw/arrow/cpp/sr
{noformat}
 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)