Deprecated Catapult GitHub. Please instead use http://crbug.com "Speed>Benchmarks" component for bugs and https://chromium.googlesource.com/catapult for downloading and editing source code..
This happened today (at the end of a test run, after having completed two runs successfully) and the results weren't written to disk. Fortunately I was able to recover some results from terminal scrollback. It isn't immediately obvious what the cause of the exception is, it looks like beautifulsoup is throwing this exception while creating an empty object?
It looks like this code path is only reached when adding results to an existing html file. For now I'll work around the problem by writing the result of each run to a separate file.
Traceback (most recent call last):
<module> at /usr/local/google/home/pcc/c2/src/tools/perf/run_benchmark:27
sys.exit(main())
main at /usr/local/google/home/pcc/c2/src/tools/perf/run_benchmark:23
return benchmark_runner.main(config, [trybot_command.Trybot])
main at /usr/local/google/home/pcc/c2/src/third_party/catapult/telemetry/telemetry/benchmark_runner.py:456
return command_instance.Run(options)
Run at /usr/local/google/home/pcc/c2/src/third_party/catapult/telemetry/telemetry/benchmark_runner.py:326
return min(255, b.Run(args))
Run at /usr/local/google/home/pcc/c2/src/third_party/catapult/telemetry/telemetry/benchmark.py:105
return story_runner.RunBenchmark(self, finder_options)
RunBenchmark at /usr/local/google/home/pcc/c2/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:447
results.PrintSummary()
PrintSummary at /usr/local/google/home/pcc/c2/src/third_party/catapult/telemetry/telemetry/internal/results/page_test_results.py:625
output_formatter.Format(self)
Format at /usr/local/google/home/pcc/c2/src/third_party/catapult/telemetry/telemetry/internal/results/html_output_formatter.py:28
histograms, self._output_stream, self._reset_results)
VulcanizeAndRenderHistogramsViewer at /usr/local/google/home/pcc/c2/src/third_party/catapult/tracing/tracing_build/vulcanize_histograms_viewer.py:27
VulcanizeHistogramsViewer())
VulcanizeHistogramsViewer at /usr/local/google/home/pcc/c2/src/third_party/catapult/tracing/tracing_build/vulcanize_histograms_viewer.py:20
return generate.GenerateStandaloneHTMLAsString(load_sequence)
GenerateStandaloneHTMLAsString at /usr/local/google/home/pcc/c2/src/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py:201
GenerateStandaloneHTMLToFile(f, *args, **kwargs)
GenerateStandaloneHTMLToFile at /usr/local/google/home/pcc/c2/src/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py:260
module.AppendHTMLContentsToFile(output_file, controller, minify=minify)
AppendHTMLContentsToFile at /usr/local/google/home/pcc/c2/src/third_party/catapult/common/py_vulcanize/py_vulcanize/html_module.py:72
for piece in self._parser_results.YieldHTMLInPieces(ctl, minify=minify):
YieldHTMLInPieces at /usr/local/google/home/pcc/c2/src/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py:193
yield self.GenerateHTML(controller, minify)
GenerateHTML at /usr/local/google/home/pcc/c2/src/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py:196
soup = _CreateSoupWithoutHeadOrBody(unicode(self._soup))
_CreateSoupWithoutHeadOrBody at /usr/local/google/home/pcc/c2/src/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py:133
soup = bs4.BeautifulSoup()
__init__ at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/beautifulsoup4/bs4/__init__.py:196
self._feed()
_feed at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/beautifulsoup4/bs4/__init__.py:210
self.builder.feed(self.markup)
feed at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/beautifulsoup4/bs4/builder/_html5lib.py:37
doc = parser.parse(markup, encoding=self.user_specified_encoding)
parse at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/html5lib-python/html5lib/html5parser.py:236
parseMeta=parseMeta, useChardet=useChardet)
_parse at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/html5lib-python/html5lib/html5parser.py:89
parser=self, **kwargs)
__init__ at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/html5lib-python/html5lib/tokenizer.py:40
self.stream = HTMLInputStream(stream, encoding, parseMeta, useChardet)
HTMLInputStream at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/html5lib-python/html5lib/inputstream.py:148
return HTMLBinaryInputStream(source, encoding, parseMeta, chardet)
__init__ at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/html5lib-python/html5lib/inputstream.py:436
self.reset()
reset at /usr/local/google/home/pcc/c2/src/third_party/catapult/third_party/html5lib-python/html5lib/inputstream.py:439
self.dataStream = codecs.getreader(self.charEncoding[0])(self.rawStream,
getreader at /usr/local/google/home/pcc/.vpython-root/eea670/lib/python2.7/codecs.py:999
None
LookupError: unknown encoding: windows-1252
This happened today (at the end of a test run, after having completed two runs successfully) and the results weren't written to disk. Fortunately I was able to recover some results from terminal scrollback. It isn't immediately obvious what the cause of the exception is, it looks like beautifulsoup is throwing this exception while creating an empty object?
It looks like this code path is only reached when adding results to an existing html file. For now I'll work around the problem by writing the result of each run to a separate file.