Azat Khuzhin
8b356ba7e0
Add MSan annotation for HashTable
...
MSan reports [1], strictly speaking it is UB but let's suppress for now:
[ RUN ] HierarchyDictionariesUtils.getDescendants
==12==WARNING: MemorySanitizer: use-of-uninitialized-value
0 0x6c22057 in HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::iterator_base<HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::iterator, false>::operator++() obj-x86_64-linux-gnu/../src/Common/HashTable/HashTable.h:613:17
1 0x6c22057 in HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::destroyElements() obj-x86_64-linux-gnu/../src/Common/HashTable/HashTable.h:587:71
2 0x6c22057 in HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::~HashTable() obj-x86_64-linux-gnu/../src/Common/HashTable/HashTable.h:691:9
3 0x6c0df94 in HierarchyDictionariesUtils_getDescendants_Test::TestBody() obj-x86_64-linux-gnu/../src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp:186:5
4 0x731acc9 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2589:10
5 0x731acc9 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2625:14
6 0x7274255 in testing::Test::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2664:5
7 0x727b4e3 in testing::TestInfo::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2842:11
8 0x727e747 in testing::TestSuite::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2996:28
9 0x72c87cc in testing::internal::UnitTestImpl::RunAllTests() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:5708:44
10 0x731f035 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2589:10
11 0x731f035 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2625:14
12 0x72c574a in testing::UnitTest::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:5291:10
13 0x6a820d9 in RUN_ALL_TESTS() obj-x86_64-linux-gnu/../contrib/googletest/googletest/include/gtest/gtest.h:2471:46
14 0x6a820d9 in main obj-x86_64-linux-gnu/../src/Coordination/tests/gtest_for_build.cpp:1308:12
15 0x7f579f7f00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
16 0x652f50d in _start (/unit_tests_dbms+0x652f50d)
Memory was marked as uninitialized
0 0x653bc0e in __sanitizer_dtor_callback (/unit_tests_dbms+0x653bc0e)
1 0x6c21d16 in PairNoInit<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul> >::~PairNoInit() obj-x86_64-linux-gnu/../src/Common/HashTable/HashMap.h:20:8
2 0x6c21d16 in HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>::~HashMapCell() obj-x86_64-linux-gnu/../src/Common/HashTable/HashMap.h:49:8
3 0x6c21d16 in HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::destroyElements() obj-x86_64-linux-gnu/../src/Common/HashTable/HashTable.h:588:26
4 0x6c21d16 in HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::~HashTable() obj-x86_64-linux-gnu/../src/Common/HashTable/HashTable.h:691:9
5 0x6c0df94 in HierarchyDictionariesUtils_getDescendants_Test::TestBody() obj-x86_64-linux-gnu/../src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp:186:5
6 0x731acc9 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2589:10
7 0x731acc9 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2625:14
8 0x7274255 in testing::Test::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2664:5
9 0x727b4e3 in testing::TestInfo::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2842:11
10 0x727e747 in testing::TestSuite::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2996:28
11 0x72c87cc in testing::internal::UnitTestImpl::RunAllTests() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:5708:44
12 0x731f035 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2589:10
13 0x731f035 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:2625:14
14 0x72c574a in testing::UnitTest::Run() obj-x86_64-linux-gnu/../contrib/googletest/googletest/src/gtest.cc:5291:10
15 0x6a820d9 in RUN_ALL_TESTS() obj-x86_64-linux-gnu/../contrib/googletest/googletest/include/gtest/gtest.h:2471:46
16 0x6a820d9 in main obj-x86_64-linux-gnu/../src/Coordination/tests/gtest_for_build.cpp:1308:12
17 0x7f579f7f00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
SUMMARY: MemorySanitizer: use-of-uninitialized-value obj-x86_64-linux-gnu/../src/Common/HashTable/HashTable.h:613:17 in HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::iterator_base<HashTable<unsigned long, HashMapCell<unsigned long, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>, DefaultHash<unsigned long, void>, HashTableNoState>, DefaultHash<unsigned long, void>, HashTableGrower<8ul>, Allocator<true, true> >::iterator, false>::operator++()
Exiting
[1]: https://clickhouse-test-reports.s3.yandex.net/23664/06bb4b2b33513f9cc1cd8faed75397db1f1ed914/unit_tests_msan/test_run.txt.out.log
2021-04-28 23:05:24 +03:00