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