<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>