[Bug 24846] New: test runner: multiprocessing test runner sometimes halting after "hangup"

Bug ID 24846
Summary test runner: multiprocessing test runner sometimes halting after “hangup”
Product lldb
Version unspecified
Hardware Macintosh
OS All
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@lists.llvm.org
Reporter todd.fiala@gmail.com
CC llvm-bugs@lists.llvm.org
Classification Unclassified

154 out of 300 test suites processed - TestInferiorCrashing.py                
[2]    20486 hangup     lldb/test/dotest.py --executable {...} |

And then it quits the whole test suite.

Figure out what's happening here and make sure it doesn't take down the whole
test suite run.  I have another change I started last night to deal with
signal-based dotest inferior issues, which might cover this.  This is looking
like something got a SIGHUP (?).  The timeout command being used kills the
process with a SIGQUIT, so I don't think this is due to the timeout command.

I'm seeing this on OS X with the following test runners:
default test runner (multiprocessing)
threading

I'm not seeing it on the multiprocessing-pool or threading-pool test runners.

Todd Fiala changed bug 24846

What | Removed | Added |

Comment # 1 on bug 24846 from Todd Fiala

This one is somewhat perplexing.  

On the multiprocessing test runner, where I'm usually seeing this on OS X, I've
put try/except blocks around the subprocess calls, thinking it was happening
there and uncaught.  Still happens with that.

Then I put a try/except around the main abstract test runner call, thinking for
sure it would at least get caught there.  Nope.  Still happened without the
exception block getting caught.

I'll put a try/catch around the main routine.  If that doesn't catch it, I
might need to look into the multiprocess Queue or multiprocess Manager to see
if one of those can choke in some cases.