[LLVMdev] Deadlock in llvm-lit on windows 7
Sumanth Gundapaneni
sgundapa at codeaurora.org
Mon Jan 26 09:57:34 PST 2015
Hi,
I am observing a deadlock with llvm-lit on windows 7.
When I attached a debugger, the communicate() call is blocked.
In file utils/lit/lit/TestRunner.py
> # FIXME: There is probably still deadlock potential here. Yawn.
> procData = [None] * len(procs)
> procData[-1] = procs[-1].communicate()
I am invoking python directly on windows to run the unit tests.
C:\Python27\python.exe C:\build\llvm\Release\bin\llvm-lit.py -v -j 12
--param build_mode=Release --param build_config=Win32
llvm_site_config=C:\llvm_on_win\nightly\build\llvm\tools\polly\test\lit.site
.cfg test
Note: If I invoke with "-j 1" , the unit tests finish but took a lot of
time. There is no deadlock. I am using python version 2.7.6.
At this moment, I believe the issue is caused by stdout filling the OS
buffer there by blocking the communicate() call.
It is possible some of the unit tests dump a lot of text/data to stdout.
FYI, I have a couple of unit tests of my own in the code base.
On Linux, there is no deadlock but on windows I am hitting a deadlock 7 out
of 10 times. I tried invoking python with "-u" but in vain.
When I looked at llvm-lit code, I saw the code to avoid deadlocks but there
was no guarantee, like the one I pasted above.
Would appreciate if some one take a look at it and provide more context on
deadlocks.
--Sumanth G
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150126/65d52c06/attachment.html>
More information about the llvm-dev
mailing list