<div dir="ltr">Tried out this patch, unfortunately I'm seeing the same thing. The very first call to worker.join() is never returning.<div><br></div><div>It's unfortunate that it's so hard to debug this stuff, do you have any suggestions for how I can try to nail down what the child dotest instance is actually doing? I wonder if it's blocking somewhere in its script, or if this is some quirk of the multiprocessing library's dynamic invocation / whatever magic is does.</div><div><br></div><div>How much of an effort would it be to make the switch to threads now? The main thing we'd have to do is get rid of all of the globals in dotest, and make a DoTest class or something.</div><div><br></div><div>As a last resort, you can bring back the pool.map logic behind an OS check, and use the multiprocess.Process logic for other platforms. But it would be great to have less platform specific branches and logic, not more.</div><div><br></div><div>I'm willing to bet you could reproduce this on a Windows VM with a trash script that all it does is create some processes using the same structure of loop you're using here. Not sure if that's an option for you. I don't mind the back and forth diagnostics either, just whatever is easiest for you.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 4, 2015 at 4:29 PM Todd Fiala <<a href="mailto:todd.fiala@gmail.com">todd.fiala@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">tfiala added a comment.<br>
<br>
Hey Zachary,<br>
<br>
Can you give the latest patch a try? That might stop some unintentional blockage as adding items to those two queues would be blocking.<br>
<br>
I'm going to be relocating home in a minute, but the other thing I'm going to try is to go back to the multiprocessing.Pool() and see if the Ctrl-C woes that others hit are maybe somehow not an issue for us. If that's the case, then maybe the Pool() piece will take care of whatever isn't happy on the Windows side with the manual pooling.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D12651" rel="noreferrer" target="_blank">http://reviews.llvm.org/D12651</a><br>
<br>
<br>
<br>
</blockquote></div>