Bug 107878 - webkit-patch should give sane, readable error messages
Summary: webkit-patch should give sane, readable error messages
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-24 16:41 PST by Emil A Eklund
Modified: 2013-01-24 16:41 PST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Emil A Eklund 2013-01-24 16:41:36 PST
Whenever something goes wrong in webkit-patch (which sadly seems to happen more and more frequently) instead of giving an error message it spews out hundreds of lines worth of stack trance information that is not the least bit helpful. Did I do something wrong? Was an unexpected error encountered? Is the disk full? I have no idea.

For example, I just tried webkit-patch rebaseline-expectations and after ~15 minutes of no output it printed about 800 lines of output like this:

  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 189, in _rebaseline_test_and_update_expectations
    results_url = self._results_url(options.builder)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 91, in _results_url
    return self._tool.buildbot_for_builder_name(builder_name).builder_with_name(builder_name).latest_layout_test_results_url()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 70, in latest_layout_test_results_url
    return self.accumulated_results_url() or self.latest_cached_build().results_url();
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 123, in latest_cached_build
    revision_build_pairs = self.revision_build_pairs_with_results()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 182, in revision_build_pairs_with_results
    return self._revision_to_build_map().items()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 178, in _revision_to_build_map
    self._revision_to_build_number = self._fetch_revision_to_build_map()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 159, in _fetch_revision_to_build_map
    result_files = self._buildbot._fetch_twisted_directory_listing(self.results_url())
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 401, in _fetch_twisted_directory_listing
    return self._parse_twisted_directory_listing(urllib2.urlopen(url))
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.6/urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 503: Service Temporarily Unavailable
Traceback (most recent call last):
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkit-patch", line 84, in <module>
    main()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkit-patch", line 79, in main
    WebKitPatch(os.path.abspath(__file__)).main()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 313, in main
    result = command.check_arguments_and_execute(options, args, self)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 122, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 196, in execute
    self._rebaseline_test_and_update_expectations(options)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 189, in _rebaseline_test_and_update_expectations
    results_url = self._results_url(options.builder)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 91, in _results_url
    return self._tool.buildbot_for_builder_name(builder_name).builder_with_name(builder_name).latest_layout_test_results_url()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 70, in latest_layout_test_results_url
    return self.accumulated_results_url() or self.latest_cached_build().results_url();
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 123, in latest_cached_build
    revision_build_pairs = self.revision_build_pairs_with_results()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 182, in revision_build_pairs_with_results
    return self._revision_to_build_map().items()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 178, in _revision_to_build_map
    self._revision_to_build_number = self._fetch_revision_to_build_map()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 159, in _fetch_revision_to_build_map
    result_files = self._buildbot._fetch_twisted_directory_listing(self.results_url())
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 401, in _fetch_twisted_directory_listing
    return self._parse_twisted_directory_listing(urllib2.urlopen(url))
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.6/urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 503: Service Temporarily Unavailable
Traceback (most recent call last):
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkit-patch", line 84, in <module>
    main()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkit-patch", line 79, in main
    WebKitPatch(os.path.abspath(__file__)).main()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 313, in main
    result = command.check_arguments_and_execute(options, args, self)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 122, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 196, in execute
    self._rebaseline_test_and_update_expectations(options)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 189, in _rebaseline_test_and_update_expectations
    results_url = self._results_url(options.builder)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 91, in _results_url
    return self._tool.buildbot_for_builder_name(builder_name).builder_with_name(builder_name).latest_layout_test_results_url()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 70, in latest_layout_test_results_url
    return self.accumulated_results_url() or self.latest_cached_build().results_url();
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 123, in latest_cached_build
    revision_build_pairs = self.revision_build_pairs_with_results()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 182, in revision_build_pairs_with_results
    return self._revision_to_build_map().items()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 178, in _revision_to_build_map
    self._revision_to_build_number = self._fetch_revision_to_build_map()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 159, in _fetch_revision_to_build_map
    result_files = self._buildbot._fetch_twisted_directory_listing(self.results_url())
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 401, in _fetch_twisted_directory_listing
    return self._parse_twisted_directory_listing(urllib2.urlopen(url))
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.6/urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 503: Service Temporarily Unavailable
Traceback (most recent call last):
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkit-patch", line 84, in <module>
    main()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkit-patch", line 79, in main
    WebKitPatch(os.path.abspath(__file__)).main()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 313, in main
    result = command.check_arguments_and_execute(options, args, self)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 122, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 196, in execute
    self._rebaseline_test_and_update_expectations(options)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 189, in _rebaseline_test_and_update_expectations
    results_url = self._results_url(options.builder)
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/tool/commands/rebaseline.py", line 91, in _results_url
    return self._tool.buildbot_for_builder_name(builder_name).builder_with_name(builder_name).latest_layout_test_results_url()
  File "/usr/local/google2/projects/webkit2/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py", line 70, in latest_layout_test_results_url

Yet kept going. I have no idea what that means. Did the operation fail? Did it automatically retry the operations? Was something corrupted?