Bug 178517 - [Win] The number of webkit-patch iterations on EWS should be configurable.
Summary: [Win] The number of webkit-patch iterations on EWS should be configurable.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Per Arne Vollan
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-10-19 08:40 PDT by Per Arne Vollan
Modified: 2017-12-06 16:47 PST (History)
7 users (show)

See Also:


Attachments
Patch (1.67 KB, patch)
2017-10-19 08:45 PDT, Per Arne Vollan
darin: review+
commit-queue: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Per Arne Vollan 2017-10-19 08:40:10 PDT
Currently, it is set to 10.
Comment 1 Per Arne Vollan 2017-10-19 08:45:39 PDT
Created attachment 324239 [details]
Patch
Comment 2 Alexey Proskuryakov 2017-10-19 09:15:36 PDT
Why is this desirable? With this change, we'll need to manually change each bot in order to change the count, which will be more work and more error prone than how it works now.
Comment 3 Per Arne Vollan 2017-10-19 09:44:45 PDT
(In reply to Alexey Proskuryakov from comment #2)
> Why is this desirable? With this change, we'll need to manually change each
> bot in order to change the count, which will be more work and more error
> prone than how it works now.

I have seen the webkit-patch script get stuck on EWS a couple of times, so this is an attempt to avoid that by setting the webkit-patch iteration to a lower value than what it currently is. Alternatively, we could just set it to 1. What do you think?
Comment 4 Alexey Proskuryakov 2017-10-19 09:52:40 PDT
This count just affects how frequently EWS updates its code, and re-runs webkitpy tests. I don't think that it's likely that changing the number will help with bots getting stuck.

Perhaps you are seeing rdar://problem/35074576?
Comment 5 Per Arne Vollan 2017-10-19 09:58:56 PDT
(In reply to Alexey Proskuryakov from comment #4)
> This count just affects how frequently EWS updates its code, and re-runs
> webkitpy tests. I don't think that it's likely that changing the number will
> help with bots getting stuck.
> 
> Perhaps you are seeing rdar://problem/35074576?

That could very well be the case.

I also found this python crash log on one of the stuck EWS bots:

SIGTERM signal receivedTraceback(most recent call last):
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 456, in <module>
    sys.exit(main(sys.argv[1:], sys.stdout, sys.stderr))
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 89, in main
    run_details = run(port, options, args, stderr)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 449, in run
    run_details = manager.run(args)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 249, in run
    initial_results, retry_results, enabled_pixel_tests_in_retry = self._run_test_subset(default_device_tests, tests_to_skip)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 273, in _run_test_subset
    initial_results = self._run_tests(tests_to_run, tests_to_skip, self._options.repeat_each, self._options.iterations, int(self._options.child_processes), retrying=False)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 330, in _run_tests
    return self._runner.run_tests(self._expectations, test_inputs, tests_to_skip, num_workers, retrying)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 123, in run_tests
    pool.run(('test_list', shard.name, shard.test_inputs) for shard in all_shards)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 97, in run
    self.wait()
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 127, in wait
    self._start_workers()
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 109, in _start_workers
    worker.start()
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 239, in start
    super(_Worker, self).start()
  File "/usr/lib/python2.7/multiprocessing/process.py", line 130, in start
    self._popen = Popen(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
    code = process_obj._bootstrap()
  File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 257, in run
    worker.handle(message.name, message.src, *message.args)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 261, in handle
    self._run_test(test_input, test_list_name)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 285, in _run_test
    result = self._run_test_with_or_without_timeout(test_input, test_timeout_sec, stop_when_done)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 328, in _run_test_with_or_without_timeout
    return self._run_test_in_this_thread(test_input, stop_when_done)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 409, in _run_test_in_this_thread
    return self._run_single_test(self._driver, test_input, stop_when_done)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 413, in _run_single_test
    self._name, driver, test_input, stop_when_done)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 46, in run_single_test
    return runner.run()
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 105, in run
    return self._run_compare_test()
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 108, in _run_compare_test
    driver_output = self._driver.run_test(self._driver_input(), self._stop_when_done)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/port/driver.py", line 693, in run_test
    return self._driver.run_test(driver_input, stop_when_done)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/port/driver.py", line 228, in run_test
    self.error_from_test, crash_log = self._get_crash_log(text, self.error_from_test, newer_than=start_time)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/port/driver.py", line 245, in _get_crash_log
    return self._port._get_crash_log(self._crashed_process_name, self._crashed_pid, stdout, stderr, newer_than, target_host=self._target_host)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/port/win.py", line 396, in _get_crash_log
    crash_log = crash_logs.find_newest_log(name, system_pid, include_errors=True, newer_than=newer_than)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/system/crashlogs.py", line 53, in find_newest_log
    return self._find_newest_log_win(process_name, pid, include_errors, newer_than)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/system/crashlogs.py", line 106, in _find_newest_log_win
    logs = self._host.filesystem.files_under(self._crash_log_directory, file_filter=is_crash_log)
  File "/home/buildbot/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py", line 132, in files_under
    for (dirpath, dirnames, filenames) in os.walk(path):
  File "/usr/lib/python2.7/os.py", line 296, in walk
    for x in walk(new_path, topdown, onerror, followlinks):
  File "/usr/lib/python2.7/os.py", line 278, in walk
    names = listdir(top)
  File "/usr/lib/python2.7/encodings/utf_8.py", line 15, in decode
    def decode(input, errors='strict'):
Comment 6 Per Arne Vollan 2017-11-27 08:33:14 PST
Comment on attachment 324239 [details]
Patch

Thanks for reviewing!
Comment 7 WebKit Commit Bot 2017-11-27 08:34:23 PST
Comment on attachment 324239 [details]
Patch

Rejecting attachment 324239 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'apply-attachment', '--no-update', '--non-interactive', 324239, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
'--force', '--reviewer', u'Darin Adler']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 2 diffs from patch file(s).
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/EWSTools/start-queue-win.sh
Hunk #2 FAILED at 62.
1 out of 2 hunks FAILED -- saving rejects to file Tools/EWSTools/start-queue-win.sh.rej

Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Darin Adler']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/5375340
Comment 8 Per Arne Vollan 2017-11-27 09:44:29 PST
Committed r225178: <https://trac.webkit.org/changeset/225178/webkit>.
Comment 9 Radar WebKit Bug Importer 2017-12-06 16:47:08 PST
<rdar://problem/35896588>