<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">+Fred, +Kostya<br><br><div id="AppleMailSignature" dir="ltr">Sent from my iPhone</div><div dir="ltr"><br>On Jan 3, 2019, at 7:33 AM, Joel E. Denny via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>All,</div><div><br></div><div>Thanks for the replies.  Kuba: For LLDB, when were things expected to have improved?  It's possible things improved for me at some point, but this isn't something I've found time to track carefully, and I still see problems. <br></div><div><br></div><div>I ran check-all a couple of times last night at r350238, which I pulled yesterday.  Here are the results:</div><div><br></div><div>```</div><div>********************<br>Testing Time: 5043.24s<br>********************<br>Unexpected Passing Tests (2):<br>    lldb-Suite :: functionalities/asan/TestMemoryHistory.py<br>    lldb-Suite :: functionalities/asan/TestReportData.py<br><br>********************<br>Failing Tests (54):<br>    Clang :: CXX/modules-ts/basic/<a href="http://basic.link/p2/module.cpp">basic.link/p2/module.cpp</a><br>    Clang :: Modules/ExtDebugInfo.cpp<br>    Clang :: Modules/using-directive-redecl.cpp<br>    Clang :: Modules/using-directive.cpp<br>    Clang :: PCH/chain-late-anonymous-namespace.cpp<br>    Clang :: PCH/cxx-namespaces.cpp<br>    Clang :: PCH/namespaces.cpp<br>    LLDB :: ExecControl/StopHook/stop-hook-threads.test<br>    LeakSanitizer-AddressSanitizer-x86_64 :: TestCases/Linux/<a href="http://use_tls_dynamic.cc">use_tls_dynamic.cc</a><br>    LeakSanitizer-Standalone-x86_64 :: TestCases/Linux/<a href="http://use_tls_dynamic.cc">use_tls_dynamic.cc</a><br>    MemorySanitizer-X86_64 :: dtls_test.c<br>    MemorySanitizer-lld-X86_64 :: dtls_test.c<br>    lldb-Suite :: functionalities/register/register_command/TestRegisters.py<br>    lldb-Suite :: tools/lldb-server/TestGdbRemoteRegisterState.py<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestBorrowedReferences<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestDictionaryResolutionWithDot<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestExtractingUInt64ThroughStructuredData<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestGlobalNameResolutionNoDot<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestGlobalNameResolutionWithDot<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestInstanceNameResolutionNoDot<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestModuleNameResolutionNoDot<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestObjectAttributes<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestOwnedReferences<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonByteArray<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonBytes<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonCallableCheck<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonCallableInvoke<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonDictionaryManipulation<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonDictionaryToStructuredDictionary<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonDictionaryValueEquality<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonFile<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonInteger<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonIntegerToStr<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonIntegerToStructuredInteger<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonListManipulation<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonListToStructuredList<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonListValueEquality<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonString<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonStringToStr<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonStringToStructuredString<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonTupleInitializerList<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonTupleInitializerList2<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonTupleSize<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonTupleToStructuredList<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestPythonTupleValues<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestResetting<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonDataObjectsTest.TestTypeNameResolutionNoDot<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestAcquisitionSemantics<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestAutoRestoreChanged<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestAutoRestoreSemantics<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestDiscardSemantics<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestExceptionStateChecking<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestManualRestoreSemantics<br>    lldb-Unit :: ScriptInterpreter/Python/./ScriptInterpreterPythonTests/PythonExceptionStateTest.TestResetSemantics<br><br>  Expected Passes    : 57489<br>  Expected Failures  : 276<br>  Unsupported Tests  : 1883<br>  Unexpected Passes  : 2<br>  Unexpected Failures: 54<br><br>14 warning(s) in tests.<br>FAILED: CMakeFiles/check-all<br>```</div><div><br></div><div>I immediately ran it again and saw one new unexpected fail:</div><div><br></div><div>```</div><div>    lldb-Suite :: tools/lldb-mi/syntax/TestMiSyntax.py<br>```</div><div><br></div><div>and one new unresolved test:</div><div><br></div><div>```</div><div>    lldb-Suite :: tools/lldb-vscode/breakpoint/TestVSCode_setBreakpoints.py</div><div>```</div><div><br></div><div>On the second run but not the first, it hung all night long waiting for TestVSCode_setBreakpoints.py to terminate.  I killed dotest.py to get the final results.</div><div><br></div><div>I currently clone <<a href="https://github.com/llvm-project/llvm-project-20170507">https://github.com/llvm-project/llvm-project-20170507</a>>.  I configure with `BUILD_SHARED_LIBS=true` and `-DLLVM_ENABLE_PROJECTS='clang;openmp;libcxx;libcxxabi;lldb;compiler-rt;lld;polly'`, among other options.  I have to run check-all with LD_LIBRARY_PATH pointing at my build's lib directory, or there are many more LLDB failures.  I believe that's not true for most test suites.  I'm building and testing under Ubuntu 18.04.1.<br></div><div><br></div><div>Hope that helps.  I'm happy to provide more details.  Just tell me where you'd like to start.<br></div><div><br></div><div>Thanks.</div><div><br></div><div>Joel<br></div><div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 2, 2019 at 5:51 PM Kuba Mracek <<a href="mailto:mracek@apple.com">mracek@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">+Fred, +me<div><br></div><div>For LLDB tests: I believe this got much much better recently. Are you still seeing flaky LLDB tests? Any details you can share?</div><div>For sanitizer tests: I'm very much interesting in removing flakiness as well. Any specific tests you see as flaky?</div><div><br></div><div>Kuba<br><div><br><blockquote type="cite"><div>On Jan 2, 2019, at 2:05 PM, Joel E. Denny via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="gmail-m_-8898860875678207941Apple-interchange-newline"><div><div dir="ltr"><div>Hi David, Chandler,<br></div><div><br></div><div>I see lldb tests hang often, and then I kill the dotest process.</div><div><br></div><div>I'd like to stop running check-all too, but I feel it's important when I modify FileCheck.  The flakiness that Chandler mentioned makes it time-consuming to verify test results.</div><div><br></div><div>Joel<br></div><div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 2, 2019 at 4:41 PM Chandler Carruth via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">What you're seeing is just the fact that lit is waiting on subprocesses (select is waiting on the pipes i suspect).<div><br></div><div>Anyways, you'll need to dig into what it is waiting on, and what *that* process is doing that is stuck to make progress.</div><div><br></div><div>I've not seen anything like this, but I basically never run `check-all` these days because LLDB and sanitizer tests are too flaky. =[ I've not been able to interest anyone in fixing this either sadly.</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 2, 2019 at 10:09 AM David Greene via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
From time to time, I see check-all hang during running of lit tests.<br>
The hang always happens at the > 90% completion stage and I'm pretty<br>
sure all tests have been run and check-all is just waiting for<br>
lit/python to exit.  I see a single python processing running, taking<br>
very little CPU time.  An strace of that process shows this:<br>
<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 32168}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 2000})  = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 4000})  = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 8000})  = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 16000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 32000}) = 0 (Timeout)<br>
futex(0x3bcc8c0, FUTEX_WAKE_PRIVATE, 1) = 1<br>
futex(0x3bcc8c0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, ffffffff) = 0<br>
futex(0x3bcc8c0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, ffffffff) = -1 EAGAIN (Resourc<br>
e temporarily unavailable)                                                                             <br>
futex(0x3bcc8c0, FUTEX_WAKE_PRIVATE, 1) = 1<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
futex(0x3bcc8c0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, ffffffff) = -1 EAGAIN (Resourc<br>
e temporarily unavailable)                                                                             <br>
futex(0x3bcc8c0, FUTEX_WAKE_PRIVATE, 1) = 1<br>
futex(0x3bcc8c0, FUTEX_WAKE_PRIVATE, 1) = 1<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)<br>
<br>
It appears that python is waiting for some I/O or something which never<br>
appears.<br>
<br>
Has anyone else seen this before?  Any ideas of what is going on or how<br>
to fix it?<br>
<br>
                              -David<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>
</div>
_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br></div></blockquote></div><br></div></div></blockquote></div></div></div></div></div></div></div></div></div>
</div></blockquote><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>LLVM Developers mailing list</span><br><span><a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></span><br><span><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></span><br></div></blockquote></body></html>