Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

session_test is blocked #72

Closed
caton-hpg opened this issue Dec 7, 2021 · 5 comments
Closed

session_test is blocked #72

caton-hpg opened this issue Dec 7, 2021 · 5 comments
Assignees
Labels
process/fixed Process of bug type/bug Type: something is unexpected

Comments

@caton-hpg
Copy link
Contributor

image

gdb:
It's blocked when ping()
image

nebula-graph version: nebula-graph-2021.12.05-nightly.el7.x86_64.tar.gz

The bin/nebula-console can execute YIELD 1 successfully.

@Shylock-Hg
Copy link
Contributor

What's the version or commit id of nebula-cpp?

@caton-hpg
Copy link
Contributor Author

caton-hpg commented Dec 14, 2021

What's the version or commit id of nebula-cpp?

The lastest version is fixed on fedora os where glibc is 2.29.
But There is blocked on centos 7.9 where glibc is 2.17. I have try to compile and test on two platforms.

λ ~/caton.hao/plato/.downloads/nebula-cpp/build2/ master* cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/vesoft/toolset/gcc/7.5.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/vesoft/toolset/gcc/7.5.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
>>>> Options of Nebula C++ Client <<<<
-- ENABLE_ASAN                     : OFF (Build with AddressSanitizer)
-- ENABLE_CCACHE                   : ON (Use ccache to speed up compiling)
-- ENABLE_CLANG_TIDY               : OFF (Enable clang-tidy if present)
-- ENABLE_COMPRESSED_DEBUG_INFO    : ON (Compress debug info to reduce binary size)
-- ENABLE_COVERAGE                 : OFF (Build with coverage report)
-- ENABLE_FRAME_POINTER            : OFF (Build with frame pointer)
-- ENABLE_FUZZY_TESTING            : OFF (Enable Fuzzy tests)
-- ENABLE_GDB_SCRIPT_SECTION       : OFF (Add .debug_gdb_scripts section)
-- ENABLE_JEMALLOC                 : ON (Use jemalloc as memory allocator)
-- ENABLE_MODULE_UPDATE            : OFF (Automatically update module)
-- ENABLE_PIC                      : OFF (Build with -fPIC)
-- ENABLE_STATIC_ASAN              : OFF (Statically link against libasan)
-- ENABLE_STATIC_UBSAN             : OFF (Statically link against libubsan)
-- ENABLE_STRICT_ALIASING          : OFF (Build with -fstrict-aliasing)
-- ENABLE_TESTING                  : ON (Build unit tests)
-- ENABLE_TSAN                     : OFF (Build with ThreadSanitizer)
-- ENABLE_UBSAN                    : OFF (Build with UndefinedBehaviourSanitizer)
-- ENABLE_WERROR                   : ON (Regard warnings as errors)
-- Set D_GLIBCXX_USE_CXX11_ABI to 1
-- CMAKE_BUILD_TYPE                : Debug (Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...)
-- CMAKE_INSTALL_PREFIX            : /usr/local/nebula (Install path prefix, prepended onto install directories.)
-- CMAKE_CXX_STANDARD              : 17
-- CMAKE_CXX_COMPILER              : /opt/vesoft/toolset/gcc/7.5.0/bin/g++ (CXX compiler)
-- CMAKE_CXX_COMPILER_ID           : GNU
-- NEBULA_USE_LINKER               : bfd
-- CCACHE_DIR                      : /home/darion/.ccache
>>>> Configuring third party for 'Nebula C++ Client' <<<<
-- Downloading prebuilt third party automatically...
-- cxx_cmd: /opt/vesoft/toolset/gcc/7.5.0/bin/g++ -D_GLIBCXX_USE_CXX11_ABI=1
Downloading vesoft-third-party-2.0-x86_64-libc-2.17-gcc-7.5.0-abi-11.sh...
Nebula Third Party has been installed to /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install
-- NEBULA_THIRDPARTY_ROOT          : /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install
-- Build info of nebula third party:
Package         : Nebula Third Party
Version         : 2.0
Date            : Mon Aug 23 09:19:13 UTC 2021
glibc           : 2.17
Arch            : x86_64
Compiler        : GCC 7.5.0
C++ ABI         : 11
Vendor          : VEsoft Inc.

-- CMAKE_INCLUDE_PATH              : /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/include
-- CMAKE_LIBRARY_PATH              : /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib64;/home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib
-- CMAKE_PROGRAM_PATH              : /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/bin
-- GLIBC_VERSION                   : 2.17

-- Found ZLIB: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libz.a (found version "1.2.11")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found OpenSSL: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib64/libcrypto.a (found version "1.1.1j")
-- found krb5-config here /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/bin/krb5-config
-- Found kerberos 5 headers: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/include
-- Found kerberos 5 libs:    /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libgssapi_krb5.a;/home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libkrb5.a;/home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libk5crypto.a;/home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libcom_err.a;/home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libkrb5support.a
-- Found Boost: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/include (found version "1.75.0")
-- Found Libunwind: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/libunwind.a
-- Found BISON: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/bin/bison (found suitable version "3.0.5", minimum required is "3.0.5")
-- Found FLEX: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/bin/flex (found version "2.6.4")
-- Looking for lzma_auto_decoder in /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a
-- Looking for lzma_auto_decoder in /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a - found
-- Looking for lzma_easy_encoder in /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a
-- Looking for lzma_easy_encoder in /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a - found
-- Looking for lzma_lzma_preset in /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a
-- Looking for lzma_lzma_preset in /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a - found
-- Found LibLZMA: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/lib/liblzma.a (found version "5.2.4")
-- BREAKPAD: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2/third-party/install/include
>>>> Configuring third party for 'Nebula C++ Client' done <<<<
-- Create the pre-commit hook
-- Creating pre-commit hook done
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- HOST_SYSTEM_NAME is el
-- HOST_SYSTEM_VER is el7
-- CPACK_GENERATOR is RPM
-- CMAKE_HOST_SYSTEM_PROCESSOR is x86_64
-- Configuring done
-- Generating done
-- Build files have been written to: /home/darion/caton.hao/plato/.downloads/nebula-cpp/build2
λ ~/caton.hao/plato/.downloads/nebula-cpp/build2/ master* make -j10
Scanning dependencies of target graph_thrift_obj
Scanning dependencies of target nebula_graph_client_obj
Scanning dependencies of target common_thrift_obj
Scanning dependencies of target nebula_common_obj
Scanning dependencies of target meta_thrift_obj
Scanning dependencies of target nebula_storage_client_obj
Scanning dependencies of target nebula_meta_client_obj
Scanning dependencies of target storage_thrift_obj
[  1%] Building CXX object src/CMakeFiles/nebula_common_obj.dir/datatypes/Edge.cpp.o

The server192.168.8.88 has responsed the client192.168.8.170. But the client is blocked.
image
image

(gdb) bt
#0  0x00007f8950b29e29 in syscall () from /lib64/libc.so.6
#1  0x0000000000d9d9fd in folly::detail::futexWaitImpl(std::atomic<unsigned int> const*, unsigned int, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const*, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const*, unsigned int) ()
#2  0x0000000000db6f81 in folly::fibers::Baton::waitThread() ()
#3  0x0000000000db7278 in folly::fibers::Baton::wait() ()
#4  0x0000000000c3bd69 in void folly::futures::detail::waitImpl<folly::SemiFuture<nebula::VerifyClientVersionResp>, nebula::VerifyClientVersionResp>(folly::SemiFuture<nebula::VerifyClientVersionResp>&) ()
#5  0x0000000000c3a6f8 in _ZNR5folly10SemiFutureIN6nebula23VerifyClientVersionRespEE4waitEv ()
#6  0x0000000000c38b5c in _ZNO5folly10SemiFutureIN6nebula23VerifyClientVersionRespEE6getTryEv ()
#7  0x0000000000c36c6c in _ZNO5folly6FutureIN6nebula23VerifyClientVersionRespEE6getTryEv ()
#8  0x0000000000c3466b in _ZNO5folly6FutureIN6nebula23VerifyClientVersionRespEE3getEv ()
#9  0x0000000000c326a8 in nebula::Connection::verifyClientVersion(nebula::VerifyClientVersionReq const&) ()
#10 0x0000000000c315c5 in nebula::Connection::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, unsigned int, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#11 0x0000000000c40c1e in nebula::ConnectionPool::newConnection(unsigned long, unsigned long) ()
#12 0x0000000000c40604 in nebula::ConnectionPool::init(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&, nebula::Config const&) ()
#13 0x00000000009fa520 in SessionTest_Basic_Test::TestBody() ()
#14 0x0000000000c693fe in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#15 0x0000000000c5bbc2 in testing::Test::Run() ()
#16 0x0000000000c5bca4 in testing::TestInfo::Run() ()
#17 0x0000000000c5bdd7 in testing::TestCase::Run() ()
#18 0x0000000000c5c4d8 in testing::internal::UnitTestImpl::RunAllTests() ()
#19 0x0000000000c5c62d in testing::UnitTest::Run() ()
#20 0x00000000009f72a2 in RUN_ALL_TESTS() ()
#21 0x00000000009ffcf2 in main ()

@Shylock-Hg Shylock-Hg added the type/bug Type: something is unexpected label Dec 15, 2021
@Shylock-Hg
Copy link
Contributor

I tried in image vesoft/nebula-dev:centos7 but can't produce. I will try gcc7.5.0 later again.

@Shylock-Hg
Copy link
Contributor

Shylock-Hg commented Jan 5, 2022

I still can't reproduce with same glibc, centos and gcc version, is it stable to reproduce?

@Shylock-Hg
Copy link
Contributor

I reproduce it in centos7.9 host, vesoft/nebula-dev:centos7 image run in cento7.9 host, but can't reproduce when vesoft/nebula-dev:centos7 image run in Fedora30(kernel 5.6.13). This maybe caused by the difference of kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
process/fixed Process of bug type/bug Type: something is unexpected
Projects
None yet
Development

No branches or pull requests

3 participants