Skip to content

Instantly share code, notes, and snippets.

@aajisaka
Created March 23, 2020 05:17
Show Gist options
  • Save aajisaka/f2982c01c2dccb0d8b679d1a0ece6827 to your computer and use it in GitHub Desktop.
Save aajisaka/f2982c01c2dccb0d8b679d1a0ece6827 to your computer and use it in GitHub Desktop.
SEGV in hdfs-native-client tests
[exec] Start 8: memcheck_remote_block_reader
[exec] 8/40 Test #8: memcheck_remote_block_reader ...............................***Exception: SegFault 1.96 sec
[exec] ==31666== Memcheck, a memory error detector
[exec] ==31666== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
[exec] ==31666== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
[exec] ==31666== Command: ./remote_block_reader_test
[exec] ==31666==
[exec] [==========] Running 9 tests from 1 test case.
[exec] [----------] Global test environment set-up.
[exec] [----------] 9 tests from RemoteBlockReaderTest
[exec] [ RUN ] RemoteBlockReaderTest.TestReadSingleTrunk
[exec] ==31666== Invalid read of size 8
[exec] ==31666== at 0x1DF70B: GetValueAndDelete (gmock.h:9933)
[exec] ==31666== by 0x1DF70B: InvokeWith (gmock.h:10090)
[exec] ==31666== by 0x1DF70B: Invoke (gmock.h:10425)
[exec] ==31666== by 0x1DF70B: hdfs::PartialMockReader::AsyncReadPacket(asio::mutable_buffers_1 const&, std::function<void (hdfs::Status const&, unsigned long)> const&) (remote_block_reader_test.cc:97)
[exec] ==31666== by 0x1FB00A: OnReadData (block_reader.cc:534)
[exec] ==31666== by 0x1FB00A: hdfs::BlockReaderImpl::ReadBlockContinuation::Run(std::function<void (hdfs::Status const&)> const&) (block_reader.cc:515)
[exec] ==31666== by 0x1FBAE8: hdfs::continuation::Pipeline<unsigned long>::Schedule(hdfs::Status const&) (continuation.h:125)
[exec] ==31666== by 0x1D326D: operator() (std_function.h:706)
[exec] ==31666== by 0x1D326D: Call<std::function<void(hdfs::Status)>, hdfs::Status> (gmock.h:2442)
[exec] ==31666== by 0x1D326D: void testing::InvokeArgumentActionP<4, hdfs::Status>::gmock_Impl<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&)>::gmock_PerformImpl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg) const [clone .isra.499] (gmock.h:4397)
[exec] ==31666== by 0x1E6C3A: Perform<const std::__cxx11::basic_string<char>&, const hadoop::hdfs::ExtendedBlockProto*, long unsigned int, long unsigned int, const std::function<void(hdfs::Status)>&> (gmock.h:2819)
[exec] ==31666== by 0x1E6C3A: Perform (gmock.h:4394)
[exec] ==31666== by 0x1E6C3A: Perform (gmock.h:1225)
[exec] ==31666== by 0x1E6C3A: PerformAction<void(const std::__cxx11::basic_string<char>&, const hadoop::hdfs::ExtendedBlockProto*, long unsigned int, long unsigned int, const std::function<void(hdfs::Status)>&)> (gmock.h:9952)
[exec] ==31666== by 0x1E6C3A: testing::internal::FunctionMockerBase<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&)>::UntypedPerformAction(void const*, void const*) const (gmock.h:10047)
[exec] ==31666== by 0x2A4AD1: testing::internal::UntypedFunctionMockerBase::UntypedInvokeWith(void const*) (gmock-gtest-all.cc:10851)
[exec] ==31666== by 0x1DF7A8: InvokeWith (gmock.h:10089)
[exec] ==31666== by 0x1DF7A8: Invoke (gmock.h:10493)
[exec] ==31666== by 0x1DF7A8: hdfs::PartialMockReader::AsyncRequestBlock(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&) (remote_block_reader_test.cc:102)
[exec] ==31666== by 0x1FB31B: hdfs::BlockReaderImpl::RequestBlockContinuation::Run(std::function<void (hdfs::Status const&)> const&) (block_reader.cc:494)
[exec] ==31666== by 0x1FBAE8: hdfs::continuation::Pipeline<unsigned long>::Schedule(hdfs::Status const&) (continuation.h:125)
[exec] ==31666== by 0x1F7DF1: Run (continuation.h:131)
[exec] ==31666== by 0x1F7DF1: hdfs::BlockReaderImpl::AsyncReadBlock(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::LocatedBlockProto const&, unsigned long, asio::mutable_buffers_1 const&, std::function<void (hdfs::Status const&, unsigned long)>) (block_reader.cc:559)
[exec] ==31666== by 0x1D77B0: RemoteBlockReaderTest_TestReadSingleTrunk_Test::TestBody() (remote_block_reader_test.cc:165)
[exec] ==31666== by 0x2AE9C9: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gmock-gtest-all.cc:3562)
[exec] ==31666== by 0x2AE9C9: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gmock-gtest-all.cc:3598)
[exec] ==31666== Address 0x0 is not stack'd, malloc'd or (recently) free'd
[exec] ==31666==
[exec] ==31666==
[exec] ==31666== Process terminating with default action of signal 11 (SIGSEGV): dumping core
[exec] ==31666== Access not within mapped region at address 0x0
[exec] ==31666== at 0x1DF70B: GetValueAndDelete (gmock.h:9933)
[exec] ==31666== by 0x1DF70B: InvokeWith (gmock.h:10090)
[exec] ==31666== by 0x1DF70B: Invoke (gmock.h:10425)
[exec] ==31666== by 0x1DF70B: hdfs::PartialMockReader::AsyncReadPacket(asio::mutable_buffers_1 const&, std::function<void (hdfs::Status const&, unsigned long)> const&) (remote_block_reader_test.cc:97)
[exec] ==31666== by 0x1FB00A: OnReadData (block_reader.cc:534)
[exec] ==31666== by 0x1FB00A: hdfs::BlockReaderImpl::ReadBlockContinuation::Run(std::function<void (hdfs::Status const&)> const&) (block_reader.cc:515)
[exec] ==31666== by 0x1FBAE8: hdfs::continuation::Pipeline<unsigned long>::Schedule(hdfs::Status const&) (continuation.h:125)
[exec] ==31666== by 0x1D326D: operator() (std_function.h:706)
[exec] ==31666== by 0x1D326D: Call<std::function<void(hdfs::Status)>, hdfs::Status> (gmock.h:2442)
[exec] ==31666== by 0x1D326D: void testing::InvokeArgumentActionP<4, hdfs::Status>::gmock_Impl<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&)>::gmock_PerformImpl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg, testing::internal::ExcessiveArg) const [clone .isra.499] (gmock.h:4397)
[exec] ==31666== by 0x1E6C3A: Perform<const std::__cxx11::basic_string<char>&, const hadoop::hdfs::ExtendedBlockProto*, long unsigned int, long unsigned int, const std::function<void(hdfs::Status)>&> (gmock.h:2819)
[exec] ==31666== by 0x1E6C3A: Perform (gmock.h:4394)
[exec] ==31666== by 0x1E6C3A: Perform (gmock.h:1225)
[exec] ==31666== by 0x1E6C3A: PerformAction<void(const std::__cxx11::basic_string<char>&, const hadoop::hdfs::ExtendedBlockProto*, long unsigned int, long unsigned int, const std::function<void(hdfs::Status)>&)> (gmock.h:9952)
[exec] ==31666== by 0x1E6C3A: testing::internal::FunctionMockerBase<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&)>::UntypedPerformAction(void const*, void const*) const (gmock.h:10047)
[exec] ==31666== by 0x2A4AD1: testing::internal::UntypedFunctionMockerBase::UntypedInvokeWith(void const*) (gmock-gtest-all.cc:10851)
[exec] ==31666== by 0x1DF7A8: InvokeWith (gmock.h:10089)
[exec] ==31666== by 0x1DF7A8: Invoke (gmock.h:10493)
[exec] ==31666== by 0x1DF7A8: hdfs::PartialMockReader::AsyncRequestBlock(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::ExtendedBlockProto const*, unsigned long, unsigned long, std::function<void (hdfs::Status)> const&) (remote_block_reader_test.cc:102)
[exec] ==31666== by 0x1FB31B: hdfs::BlockReaderImpl::RequestBlockContinuation::Run(std::function<void (hdfs::Status const&)> const&) (block_reader.cc:494)
[exec] ==31666== by 0x1FBAE8: hdfs::continuation::Pipeline<unsigned long>::Schedule(hdfs::Status const&) (continuation.h:125)
[exec] ==31666== by 0x1F7DF1: Run (continuation.h:131)
[exec] ==31666== by 0x1F7DF1: hdfs::BlockReaderImpl::AsyncReadBlock(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hadoop::hdfs::LocatedBlockProto const&, unsigned long, asio::mutable_buffers_1 const&, std::function<void (hdfs::Status const&, unsigned long)>) (block_reader.cc:559)
[exec] ==31666== by 0x1D77B0: RemoteBlockReaderTest_TestReadSingleTrunk_Test::TestBody() (remote_block_reader_test.cc:165)
[exec] ==31666== by 0x2AE9C9: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gmock-gtest-all.cc:3562)
[exec] ==31666== by 0x2AE9C9: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gmock-gtest-all.cc:3598)
[exec] ==31666== If you believe this happened as a result of a stack
[exec] ==31666== overflow in your program's main thread (unlikely but
[exec] ==31666== possible), you can try to increase the size of the
[exec] ==31666== main thread stack using the --main-stacksize= flag.
[exec] ==31666== The main thread stack size used in this run was 8388608.
[exec] ==31666==
[exec] ==31666== HEAP SUMMARY:
[exec] ==31666== in use at exit: 40,574 bytes in 523 blocks
[exec] ==31666== total heap usage: 4,172 allocs, 3,649 frees, 362,271 bytes allocated
[exec] ==31666==
[exec] ==31666== LEAK SUMMARY:
[exec] ==31666== definitely lost: 0 bytes in 0 blocks
[exec] ==31666== indirectly lost: 0 bytes in 0 blocks
[exec] ==31666== possibly lost: 0 bytes in 0 blocks
[exec] ==31666== still reachable: 40,574 bytes in 523 blocks
[exec] ==31666== suppressed: 0 bytes in 0 blocks
[exec] ==31666== Reachable blocks (those to which a pointer was found) are not shown.
[exec] ==31666== To see them, rerun with: --leak-check=full --show-leak-kinds=all
[exec] ==31666==
[exec] ==31666== For counts of detected and suppressed errors, rerun with: -v
[exec] ==31666== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
[exec]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment