Bug 248500

Summary: [run-benchmark] Error when running a plan with source type git_archive on a system with GNU tar
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: Tools / TestsAssignee: Carlos Alberto Lopez Perez <clopez>
Status: RESOLVED FIXED    
Severity: Normal CC: dewei_zhu, jbedard, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Carlos Alberto Lopez Perez 2022-11-29 15:14:54 PST
When trying to run a plan test with a source type git_archive like motionmark the following error happens on a Debian Linux box:

$ Tools/Scripts/run-benchmark  --plan motionmark
2022-11-30 00:09:24,979 - INFO - Ensure dependencies of http server is satisfied
2022-11-30 00:09:24,981 - INFO - Collecting diagnostics to /tmp/run-benchmark-diagnostics-1669763364

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Traceback (most recent call last):
  File "Tools/Scripts/run-benchmark", line 13, in <module>
    sys.exit(main())
  File "/home/clopez/webkit/webkit/Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py", line 158, in main
    return start(parse_args(config_argument_parser()))
  File "/home/clopez/webkit/webkit/Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py", line 146, in start
    run_benchmark_plan(args, args.plan)
  File "/home/clopez/webkit/webkit/Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py", line 101, in run_benchmark_plan
    runner.execute()
  File "/home/clopez/webkit/webkit/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py", line 129, in execute
    with BenchmarkBuilder(self._plan_name, self._plan, self.name, enable_signposts=self._config['enable_signposts']) as web_root:
  File "/home/clopez/webkit/webkit/Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder.py", line 42, in __enter__
    self._prepare_content_from_local_git_archive(self._plan['local_git_archive'])
  File "/home/clopez/webkit/webkit/Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder.py", line 137, in _prepare_content_from_local_git_archive
    subprocess.check_call(['tar', 'zxvf', output, '-C', temp_extract_path])
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['tar', 'zxvf', '/tmp/tmp7pcm6qqk/temp.tar', '-C', '/tmp/tmp7pcm6qqk/extract']' returned non-zero exit status 2.


The error is caused because when passing the flag 'z' to the GNU tar program the input should be in gzip format, but it is in plain tar format
Comment 1 Carlos Alberto Lopez Perez 2022-11-29 15:22:00 PST
Pull request: https://github.com/WebKit/WebKit/pull/6946
Comment 2 EWS 2022-11-30 20:48:30 PST
Committed 257218@main (3e0b8aa34ac7): <https://commits.webkit.org/257218@main>

Reviewed commits have been landed. Closing PR #6946 and removing active labels.
Comment 3 Radar WebKit Bug Importer 2022-11-30 20:49:18 PST
<rdar://problem/102844006>