<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hi Mikael,</div><div class=""><br class=""></div><div class="">Thanks for pointing that out! Could you share information about what compiler + system you used to build and run tests? Sometimes, UB is relatively easy to reproduce using the same setup.</div><div class=""><br class=""></div><div class="">As Mehmet mentioned, it looks that there might be uninitialised variable given the Valgrind log that you provided.</div><div class=""><br class=""></div><div class="">Could you please attach the whole log so that it would be easier for us to understand the cause of problem(s)?</div><div class=""><br class=""></div><div class="">+clangd-dev</div><div class=""><br class=""></div><div class="">Kind regards,</div><div class="">Kirill<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 5 Sep 2018, at 17:39, Mehmet Erol Sanliturk via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class="gmail_extra"><br class="Apple-interchange-newline"><br class=""><div class="gmail_quote">On Wed, Sep 5, 2018 at 4:19 PM, Mikael Holmén via cfe-dev<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank" class="">cfe-dev@lists.llvm.org</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;">Hi,<br class=""><br class="">For a while now we randomly see failures when running the ClangdTests test.<br class=""><br class="">E.g the below but sometimes other failures:<br class=""><br class="">--------<br class="">FAIL: Extra Tools Unit Tests :: clangd/./ClangdTests/Workspace<wbr class="">SymbolsTest.Namespaces (16172 of 39758)<br class="">******************** TEST 'Extra Tools Unit Tests :: clangd/./ClangdTests/Workspace<wbr class="">SymbolsTest.Namespaces' FAILED ********************<br class="">Note: Google Test filter = WorkspaceSymbolsTest.Namespace<wbr class="">s<br class="">[==========] Running 1 test from 1 test case.<br class="">[----------] Global test environment set-up.<br class="">[----------] 1 test from WorkspaceSymbolsTest<br class="">[ RUN      ] WorkspaceSymbolsTest.Namespace<wbr class="">s<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:151: Failure<br class="">Value of: getSymbols("a")<br class="">Expected: has 4 elements and there exists some permutation of elements such that:<br class=""> - element #0 (named "ans1") and (in container ""), and<br class=""> - element #1 (named "ai1") and (in container "ans1"), and<br class=""> - element #2 (named "ans2") and (in container "ans1"), and<br class=""> - element #3 (named "ai2") and (in container "ans1::ans2")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:153: Failure<br class="">Value of: getSymbols("::")<br class="">Expected: has 1 element that (named "ans1") and (in container "")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:155: Failure<br class="">Value of: getSymbols("::a")<br class="">Expected: has 1 element that (named "ans1") and (in container "")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:158: Failure<br class="">Value of: getSymbols("ans1::")<br class="">Expected: has 2 elements and there exists some permutation of elements such that:<br class=""> - element #0 (named "ai1") and (in container "ans1"), and<br class=""> - element #1 (named "ans2") and (in container "ans1")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:160: Failure<br class="">Value of: getSymbols("::ans1")<br class="">Expected: has 1 element that (named "ans1") and (in container "")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:163: Failure<br class="">Value of: getSymbols("::ans1::")<br class="">Expected: has 2 elements and there exists some permutation of elements such that:<br class=""> - element #0 (named "ai1") and (in container "ans1"), and<br class=""> - element #1 (named "ans2") and (in container "ans1")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:165: Failure<br class="">Value of: getSymbols("::ans1::ans2")<br class="">Expected: has 1 element that (named "ans2") and (in container "ans1")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">../tools/clang/tools/extra/uni<wbr class="">ttests/clangd/FindSymbolsTests<wbr class="">.cpp:167: Failure<br class="">Value of: getSymbols("::ans1::ans2::")<br class="">Expected: has 1 element that (named "ai2") and (in container "ans1::ans2")<br class=""> <span class="Apple-converted-space"> </span>Actual: {}<br class="">[  FAILED  ] WorkspaceSymbolsTest.Namespace<wbr class="">s (39 ms)<br class="">[----------] 1 test from WorkspaceSymbolsTest (39 ms total)<br class=""><br class="">[----------] Global test environment tear-down<br class="">[==========] 1 test from 1 test case ran. (40 ms total)<br class="">[  PASSED  ] 0 tests.<br class="">[  FAILED  ] 1 test, listed below:<br class="">[  FAILED  ] WorkspaceSymbolsTest.Namespace<wbr class="">s<br class=""><br class=""> 1 FAILED TEST<br class=""><br class=""><br class="">It can fail and then at once pass again so something funny is going on.<br class=""><br class=""><br class="">I ran valgrind on ClangdTests and then I got a bunch of complaints, the first being:<br class=""><br class=""><br class="">[ RUN      ] ClangdVFSTest.SearchLibDir<br class="">Updating file /clangd-test/foo.cpp with command [/clangd-test] clang -ffreestanding -xc++ -target x86_64-linux-unknown -m64 --gcc-toolchain=/randomusr -stdlib=libstdc++ /clangd-test/foo.cpp -resource-dir=/data/repo/llvm-<wbr class="">patch/build-all/tools/clang/to<wbr class="">ols/extra/unittests/clangd/../<wbr class="">lib/clang/8.0.0<br class="">Preamble for file /clangd-test/foo.cpp cannot be reused. Attempting to rebuild it.<br class="">Built preamble of size 175020 for file /clangd-test/foo.cpp<br class="">==14605== Thread 2 worker:foo.cpp:<br class="">==14605== Conditional jump or move depends on uninitialised value(s)<br class="">==14605==    at 0xCDF8A6: clang::Sema::SetCtorInitialize<wbr class="">rs(clang::CXXConstructorDecl*, bool, llvm::ArrayRef<clang::CXXCtorI<wbr class="">nitializer*>) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0xD01CB9: clang::Sema::DefineImplicitDef<wbr class="">aultConstructor(clang::<wbr class="">SourceLocation, clang::CXXConstructorDecl*) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0xEA3B93: PerformConstructorInitializati<wbr class="">on(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::E<wbr class="">xpr*>, clang::InitializationSequence:<wbr class="">:Step const&, bool&, bool, bool, clang::SourceLocation, clang::SourceLocation) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0xE9AA3F: clang::InitializationSequence:<wbr class="">:Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::E<wbr class="">xpr*>, clang::QualType*) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0xBFA3C4: clang::Sema::ActOnUninitialize<wbr class="">dDecl(clang::Decl*) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13C5EFF: clang::Parser::ParseDeclaratio<wbr class="">nAfterDeclaratorAndAttributes(<wbr class="">clang::Declarator&, clang::Parser::ParsedTemplateI<wbr class="">nfo const&, clang::Parser::ForRangeInit*) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13C40B7: clang::Parser::ParseDeclGroup(<wbr class="">clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13AAF5B: clang::Parser::ParseDeclOrFunc<wbr class="">tionDefInternal(clang::Parser:<wbr class="">:ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13AAA1D: clang::Parser::ParseDeclaratio<wbr class="">nOrFunctionDefinition(clang::<wbr class="">Parser::ParsedAttributesWithRa<wbr class="">nge&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13A9861: clang::Parser::ParseExternalDe<wbr class="">claration(clang::Parser::Parse<wbr class="">dAttributesWithRange&, clang::ParsingDeclSpec*) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13A8629: clang::Parser::ParseTopLevelDe<wbr class="">cl(clang::OpaquePtr<clang::<wbr class="">DeclGroupRef>&) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==    by 0x13A840F: clang::Parser::ParseFirstTopLe<wbr class="">velDecl(clang::OpaquePtr<<wbr class="">clang::DeclGroupRef>&) (in /data/repo/llvm-patch/build-al<wbr class="">l/tools/clang/tools/extra/unit<wbr class="">tests/clangd/ClangdTests)<br class="">==14605==<br class="">Updating file /clangd-test/foo.cpp with command [/clangd-test] clang -ffreestanding -xc++ -target x86_64-linux-unknown -m64 --gcc-toolchain=/randomusr -stdlib=libstdc++ /clangd-test/foo.cpp -resource-dir=/data/repo/llvm-<wbr class="">patch/build-all/tools/clang/to<wbr class="">ols/extra/unittests/clangd/../<wbr class="">lib/clang/8.0.0<br class="">Reusing preamble for file /clangd-test/foo.cpp<br class="">[       OK ] ClangdVFSTest.SearchLibDir (952 ms)<br class=""><br class=""><br class=""><br class="">It's not obvious to me what the problem really is. Does anyone here have a clue?<br class=""><br class="">Regards,<br class="">Mikael<br class="">______________________________<wbr class="">_________________</blockquote></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">One reason of non-reproducible errors in a program is mainly "uninitialized variables" .</div><div class="gmail_quote">These variables uses whatever remains in the memory from previous allocations and used by the new program .</div><div class="gmail_quote">Therefore when these values are used , program behavior is unexpected .</div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">Another may be "array index showing outside of an array" . Especially in loops , if loop passes array boundaries toward up or down  .</div><div class="gmail_quote">Or , when a value is directly used to index an array , but it is out of bounds .</div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">The above reasons are not , "all" , but "some" .<br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">Mehmet Erol Sanliturk<br class=""></div><div class="gmail_quote"><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""> </div></div><br class=""></div></div><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">_______________________________________________</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">cfe-dev mailing list</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="mailto:cfe-dev@lists.llvm.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">cfe-dev@lists.llvm.org</a><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a></div></blockquote></div><br class=""></div></body></html>