Open szyrom opened 5 years ago
It happend on Travis, once (TYPE=normal OS=ubuntu OS_VER=18.04 PUSH_IMAGE=1)
PKG_CONFIG_PATH=/opt/pmdk/lib/pkgconfig/ \ CC=gcc CXX=g++ \ cmake .. -DDEVELOPER_MODE=1 \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \ -DTRACE_TESTS=1 \ -DCOVERAGE=$COVERAGE make -j2 test_command tests_gcc_debug 45/150 Test #38: cond_var_posix_0_helgrind ....................***Failed 5.46 sec Running with expanded trace output on. /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix_0.cmake(32): include(/libpmemobj-cpp/tests/cond_var_posix/../helpers.cmake ) /libpmemobj-cpp/tests/helpers.cmake(32): set(DIR /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind ) /libpmemobj-cpp/tests/helpers.cmake(34): function(setup ) /libpmemobj-cpp/tests/helpers.cmake(41): function(print_logs ) /libpmemobj-cpp/tests/helpers.cmake(58): function(finish ) /libpmemobj-cpp/tests/helpers.cmake(72): function(match log_file match_file ) /libpmemobj-cpp/tests/helpers.cmake(83): function(check_file_exists file ) /libpmemobj-cpp/tests/helpers.cmake(99): function(valgrind_ignore_warnings valgrind_log ) /libpmemobj-cpp/tests/helpers.cmake(114): function(execute_common expect_success output_file name ) /libpmemobj-cpp/tests/helpers.cmake(213): function(check_target name ) /libpmemobj-cpp/tests/helpers.cmake(221): function(execute_with_output out name ) /libpmemobj-cpp/tests/helpers.cmake(228): function(execute_ignore_output name ) /libpmemobj-cpp/tests/helpers.cmake(238): function(execute name ) /libpmemobj-cpp/tests/helpers.cmake(249): function(pmreorder_create_store_log pool name ) /libpmemobj-cpp/tests/helpers.cmake(292): function(pmreorder_execute expect_success engine conf_file name ) /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix_0.cmake(34): setup() /libpmemobj-cpp/tests/helpers.cmake(35): execute_process(COMMAND /usr/bin/cmake -E remove_directory /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind ) /libpmemobj-cpp/tests/helpers.cmake(36): execute_process(COMMAND /usr/bin/cmake -E make_directory /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind ) /libpmemobj-cpp/tests/helpers.cmake(37): execute_process(COMMAND /usr/bin/cmake -E remove_directory /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind ) /libpmemobj-cpp/tests/helpers.cmake(38): execute_process(COMMAND /usr/bin/cmake -E make_directory /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind ) /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix_0.cmake(36): execute(/libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile ) /libpmemobj-cpp/tests/helpers.cmake(239): check_target(/libpmemobj-cpp/build/tests/cond_var_posix ) /libpmemobj-cpp/tests/helpers.cmake(214): if(NOT EXISTS /libpmemobj-cpp/build/tests/cond_var_posix ) /libpmemobj-cpp/tests/helpers.cmake(241): execute_common(true helgrind_0 /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile ) /libpmemobj-cpp/tests/helpers.cmake(115): if(TESTS_USE_FORCED_PMEM ) /libpmemobj-cpp/tests/helpers.cmake(119): if(helgrind STREQUAL pmemcheck ) /libpmemobj-cpp/tests/helpers.cmake(125): elseif(helgrind STREQUAL memcheck ) /libpmemobj-cpp/tests/helpers.cmake(128): elseif(helgrind STREQUAL helgrind ) /libpmemobj-cpp/tests/helpers.cmake(129): set(TRACE valgrind --error-exitcode=99 --tool=helgrind ) /libpmemobj-cpp/tests/helpers.cmake(138): if(NOT ) /libpmemobj-cpp/tests/helpers.cmake(144): string(REPLACE ; TRACE_STR valgrind;--error-exitcode=99;--tool=helgrind ) /libpmemobj-cpp/tests/helpers.cmake(145): message(STATUS Executing: valgrind --error-exitcode=99 --tool=helgrind /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile ) -- Executing: valgrind --error-exitcode=99 --tool=helgrind /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile /libpmemobj-cpp/tests/helpers.cmake(147): set(cmd valgrind;--error-exitcode=99;--tool=helgrind /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile ) /libpmemobj-cpp/tests/helpers.cmake(149): if( ) /libpmemobj-cpp/tests/helpers.cmake(164): if(helgrind_0 STREQUAL none ) /libpmemobj-cpp/tests/helpers.cmake(168): else() /libpmemobj-cpp/tests/helpers.cmake(169): execute_process(COMMAND valgrind;--error-exitcode=99;--tool=helgrind;/libpmemobj-cpp/build/tests/cond_var_posix;/libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile RESULT_VARIABLE res OUTPUT_FILE /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.out ERROR_FILE /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.err ) /libpmemobj-cpp/tests/helpers.cmake(179): if(EXISTS /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix_0_helgrind.err.match ) /libpmemobj-cpp/tests/helpers.cmake(184): else() /libpmemobj-cpp/tests/helpers.cmake(185): if(helgrind STREQUAL pmemcheck ) /libpmemobj-cpp/tests/helpers.cmake(197): if(res AND expect_success ) /libpmemobj-cpp/tests/helpers.cmake(198): print_logs() /libpmemobj-cpp/tests/helpers.cmake(42): message(STATUS Test cond_var_posix_0_helgrind: ) -- Test cond_var_posix_0_helgrind: /libpmemobj-cpp/tests/helpers.cmake(43): if(EXISTS /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.out ) /libpmemobj-cpp/tests/helpers.cmake(44): file(READ /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.out OUT ) /libpmemobj-cpp/tests/helpers.cmake(45): message(STATUS Stdout: Signal 6, backtrace: 0: /libpmemobj-cpp/build/tests/cond_var_posix(test_dump_backtrace+0x2f) [0x110cff] 1: /libpmemobj-cpp/build/tests/cond_var_posix(test_sighandler+0x1c) [0x110dcc] 2: /lib/x86_64-linux-gnu/libc.so.6(+0x3ef1f) [0x5882f1f] 3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x5882e97] 4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x140) [0x5884800] 5: /libpmemobj-cpp/build/tests/cond_var_posix(+0x2c5d) [0x10ac5d] 6: /libpmemobj-cpp/build/tests/cond_var_posix(+0x4d36) [0x10cd36] 7: /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so(+0xa9e1) [0x4c369e1] 8: /lib/x86_64-linux-gnu/libpthread.so.0(+0x76da) [0x50886da] 9: /lib/x86_64-linux-gnu/libc.so.6(clone+0x3e) [0x596588e] ) -- Stdout: Signal 6, backtrace: 0: /libpmemobj-cpp/build/tests/cond_var_posix(test_dump_backtrace+0x2f) [0x110cff] 1: /libpmemobj-cpp/build/tests/cond_var_posix(test_sighandler+0x1c) [0x110dcc] 2: /lib/x86_64-linux-gnu/libc.so.6(+0x3ef1f) [0x5882f1f] 3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x5882e97] 4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x140) [0x5884800] 5: /libpmemobj-cpp/build/tests/cond_var_posix(+0x2c5d) [0x10ac5d] 6: /libpmemobj-cpp/build/tests/cond_var_posix(+0x4d36) [0x10cd36] 7: /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so(+0xa9e1) [0x4c369e1] 8: /lib/x86_64-linux-gnu/libpthread.so.0(+0x76da) [0x50886da] 9: /lib/x86_64-linux-gnu/libc.so.6(clone+0x3e) [0x596588e] /libpmemobj-cpp/tests/helpers.cmake(47): if(EXISTS /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.err ) /libpmemobj-cpp/tests/helpers.cmake(48): file(READ /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.err ERR ) /libpmemobj-cpp/tests/helpers.cmake(49): message(STATUS Stderr: ==11089== Helgrind, a thread error detector ==11089== Copyright (C) 2007-2017, and GNU GPL'd, by OpenWorks LLP et al. ==11089== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==11089== Command: /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile ==11089== /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix.cpp:194 reader_mutex_until - assertion failure: diff < epsilon ==11089== ---Thread-Announcement------------------------------------------ ==11089== ==11089== Thread #1502 was created ==11089== at 0x596587E: clone (clone.S:71) ==11089== by 0x5088EC4: create_thread (createthread.c:100) ==11089== by 0x5088EC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==11089== by 0x4C367ED: pthread_create_WRK (hg_intercepts.c:427) ==11089== by 0x4C378DF: pthread_create@* (hg_intercepts.c:460) ==11089== by 0x10B8AF: void (anonymous namespace)::mutex_test<void* (*)(void*), void* (*)(void*)>(pmem::obj::pool<(anonymous namespace)::root>&, bool, bool, void* (*)(void*), void* (*)(void*)) [clone .constprop.53] (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x10B0E1: main (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== ==11089== ---------------------------------------------------------------- ==11089== ==11089== Thread #1502: Exiting thread still holds 1 lock ==11089== at 0x5928E06: _Exit (_exit.c:31) ==11089== by 0x5887111: __run_exit_handlers (exit.c:132) ==11089== by 0x5887139: exit (exit.c:139) ==11089== by 0x110DE1: test_sighandler (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x5882F1F: ??? (in /lib/x86_64-linux-gnu/libc-2.27.so) ==11089== by 0x5882E96: __libc_signal_restore_set (nptl-signals.h:80) ==11089== by 0x5882E96: raise (raise.c:48) ==11089== by 0x5884800: abort (abort.c:79) ==11089== by 0x10AC5D: UT_FATAL(char const*, ...) (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x10CD36: (anonymous namespace)::reader_mutex_until(void*) (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x4C369E1: mythread_wrapper (hg_intercepts.c:389) ==11089== by 0x50886DA: start_thread (pthread_create.c:463) ==11089== by 0x596588E: clone (clone.S:95) ==11089== ==11089== ==11089== For counts of detected and suppressed errors, rerun with: -v ==11089== Use --history-level=approx or =none to gain increased speed, at ==11089== the cost of reduced accuracy of conflicting-access information ==11089== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 16099 from 35) ) -- Stderr: ==11089== Helgrind, a thread error detector ==11089== Copyright (C) 2007-2017, and GNU GPL'd, by OpenWorks LLP et al. ==11089== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==11089== Command: /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile ==11089== /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix.cpp:194 reader_mutex_until - assertion failure: diff < epsilon ==11089== ---Thread-Announcement------------------------------------------ ==11089== ==11089== Thread #1502 was created ==11089== at 0x596587E: clone (clone.S:71) ==11089== by 0x5088EC4: create_thread (createthread.c:100) ==11089== by 0x5088EC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==11089== by 0x4C367ED: pthread_create_WRK (hg_intercepts.c:427) ==11089== by 0x4C378DF: pthread_create@* (hg_intercepts.c:460) ==11089== by 0x10B8AF: void (anonymous namespace)::mutex_test<void* (*)(void*), void* (*)(void*)>(pmem::obj::pool<(anonymous namespace)::root>&, bool, bool, void* (*)(void*), void* (*)(void*)) [clone .constprop.53] (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x10B0E1: main (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== ==11089== ---------------------------------------------------------------- ==11089== ==11089== Thread #1502: Exiting thread still holds 1 lock ==11089== at 0x5928E06: _Exit (_exit.c:31) ==11089== by 0x5887111: __run_exit_handlers (exit.c:132) ==11089== by 0x5887139: exit (exit.c:139) ==11089== by 0x110DE1: test_sighandler (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x5882F1F: ??? (in /lib/x86_64-linux-gnu/libc-2.27.so) ==11089== by 0x5882E96: __libc_signal_restore_set (nptl-signals.h:80) ==11089== by 0x5882E96: raise (raise.c:48) ==11089== by 0x5884800: abort (abort.c:79) ==11089== by 0x10AC5D: UT_FATAL(char const*, ...) (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x10CD36: (anonymous namespace)::reader_mutex_until(void*) (in /libpmemobj-cpp/build/tests/cond_var_posix) ==11089== by 0x4C369E1: mythread_wrapper (hg_intercepts.c:389) ==11089== by 0x50886DA: start_thread (pthread_create.c:463) ==11089== by 0x596588E: clone (clone.S:95) ==11089== ==11089== ==11089== For counts of detected and suppressed errors, rerun with: -v ==11089== Use --history-level=approx or =none to gain increased speed, at ==11089== the cost of reduced accuracy of conflicting-access information ==11089== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 16099 from 35) /libpmemobj-cpp/tests/helpers.cmake(51): if(EXISTS /libpmemobj-cpp/build/tests/cond_var_posix_0_helgrind/cond_var_posix_0_helgrind.pmreorder ) /libpmemobj-cpp/tests/helpers.cmake(199): message(FATAL_ERROR valgrind;--error-exitcode=99;--tool=helgrind /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile failed: 99 ) CMake Error at /libpmemobj-cpp/tests/helpers.cmake:199 (message): valgrind;--error-exitcode=99;--tool=helgrind /libpmemobj-cpp/build/tests/cond_var_posix /libpmemobj-cpp/build/test/cond_var_posix_0_helgrind/testfile failed: 99 Call Stack (most recent call first): /libpmemobj-cpp/tests/helpers.cmake:241 (execute_common) /libpmemobj-cpp/tests/cond_var_posix/cond_var_posix_0.cmake:36 (execute)
Probably connected: #113
It happend on Travis, once (TYPE=normal OS=ubuntu OS_VER=18.04 PUSH_IMAGE=1)