Our iPad testers are consistently failing to launch processes. Reproducing the issue is difficult, even when attempting to do so on the bots themselves, but our automation is constantly struggling with this.
<rdar://problem/58184777>
Created attachment 390118 [details] Patch
I've managed to reproduce this twice by running kill-old-processes right before running tests.
Committed r256065: <https://trac.webkit.org/changeset/256065>
Comment on attachment 390118 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=390118&action=review > Tools/BuildSlaveSupport/kill-old-processes:102 > + "Simulator.app", This is surprising, apps don't usually have .app in the process name. Does this updated line have any effect now?
(In reply to Alexey Proskuryakov from comment #5) > Comment on attachment 390118 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=390118&action=review > > > Tools/BuildSlaveSupport/kill-old-processes:102 > > + "Simulator.app", > > This is surprising, apps don't usually have .app in the process name. Does > this updated line have any effect now? It's in the path: Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator Not sure we should really be doing this at actually. This did fix our iPad testers, but it also hosed one of our iPhone bots in the process: https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Release%20WK2%20%28Tests%29/builds/2490 That bot was in a pretty bad state, grabbed a sysdiagnose, but couldn't really do anything else. I restarted it and will continue to monitor it.
> It's in the path: Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator Elements in the tasksToKillMac array are passed to killall as regex matches: 'os.system("killall -9 -v -m " + task)' This means that path isn't considered, just the process name. Also, it means that the dot in "Simulator.app" matches any character, which is not a big deal, but is unclean. Try "killall -9 -v -m Terminal.app" in your Terminal session to confirm that it won't be killed.