Based on my observations over the past few weeks, it appears that the most frequent cause of Windows EWS failures are due to Cygwin rebasing issues. These errors look like the following: Failed to run "['/home/buildbot/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.appspot.com', '--bot-id=ews204', 'clean', '--port=win']" exit_code: 1 cwd: /home/buildbot/WebKit 0 [main] python2.7 716 child_info_fork::abort: address space needed by 'cygffi-6.dll' (0x3F0000) is already occupied Traceback (most recent call last): File "/home/buildbot/WebKit/Tools/Scripts/webkit-patch", line 84, in <module> main() File "/home/buildbot/WebKit/Tools/Scripts/webkit-patch", line 79, in main WebKitPatch(os.path.abspath(__file__)).main() File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 296, in main self.handle_global_options(options) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/tool/main.py", line 94, in handle_global_options self.initialize_scm(options.patch_directories) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/host.py", line 81, in initialize_scm self._checkout = Checkout(detector.default_scm(patch_directories)) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/detection.py", line 55, in default_scm scm_system = self.detect_scm_system(cwd, patch_directories) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/detection.py", line 72, in detect_scm_system return SVN(cwd=absolute_path, patch_directories=patch_directories, filesystem=self._filesystem, executive=self._executive) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/svn.py", line 81, in __init__ SCM.__init__(self, cwd, **kwargs) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/scm.py", line 67, in __init__ self.checkout_root = self.find_checkout_root(self.cwd) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/svn.py", line 125, in find_checkout_root if uuid != self.find_uuid(path): File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/svn.py", line 103, in find_uuid if not self.in_working_directory(path): File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/svn.py", line 99, in in_working_directory exit_code = executive.run_command(svn_info_args, cwd=path, return_exit_code=True) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/system/executive.py", line 435, in run_command close_fds=self._should_close_fds()) File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/system/executive.py", line 506, in popen return subprocess.Popen(string_args, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1223, in _execute_child self.pid = os.fork() OSError: [Errno 11] Resource temporarily unavailable It seems like moving away from running Windows EWS on top of Cygwin would provide a significant boost in reliability.
It might also be possible to somehow work the Cygwin 'rebaseall' script into our cycle.
<rdar://problem/19609012>
AppleWin was removed. WinCairo EWS isn't using Cygwin.