[Bug 19575] New: lldb tests not running in parallel on OS X

Bug ID 19575
Summary lldb tests not running in parallel on OS X
Product lldb
Version unspecified
Hardware Macintosh
OS MacOS X
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@cs.uiuc.edu
Reporter todd.fiala@gmail.com
Classification Unclassified

Created attachment 12449 [details]
adds per-worker-thread logging of various states of test execution

The fairly recent parallel test running support for lldb tests does not appear
to be working on OS X.

With the attached extended logging patch to dosep.ty, what I'm seeing is:
* the threads are created correctly - 8 worker threads on my 2012 MBP
* the work is queued up front properly, no blocking there
* the threads appear to be blocked on the system call that executes the test
--- only one of those is running at a time, the rest are blocked on the system
call.

It looks like either the system call or something about the execution of the
test (perhaps the lldb python module) is only allowing one to run at a time.

The patch is vs. r207285 of the llvm.org lldb svn repo.

Todd Fiala changed bug 19575

What Removed Added
Status NEW RESOLVED
CC tfiala@google.com
Resolution FIXED

Comment # 2 on bug 19575 from Todd Fiala

I fixed this a few weeks back with a conversion of dosep.ty to using the
multiprocessing library.  MacOSX's python was getting stuck in the global
interpreter lock on all threads while waiting to exec the thread's call to
dotest.py.  Only one was getting through at a time, effectively serializing the
run.  Multiprocessing uses different processes entirely for each of the
workers.