You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Yaron Gvili (Jira)" <ji...@apache.org> on 2022/06/09 15:21:00 UTC
[jira] [Updated] (ARROW-16770) [C++] Arrow Substrait test fails with SIGSEGV, possibly due to gtest 1.11.0
[ https://issues.apache.org/jira/browse/ARROW-16770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yaron Gvili updated ARROW-16770:
--------------------------------
Summary: [C++] Arrow Substrait test fails with SIGSEGV, possibly due to gtest 1.11.0 (was: Arrow Substrait test fails with SIGSEGV, possibly due to gtest 1.11.0)
> [C++] 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
> Priority: Major
>
> 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 builds 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)