catapult-project / catapult

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..
https://chromium.googlesource.com/catapult
BSD 3-Clause "New" or "Revised" License
1.93k stars 564 forks source link

Telemetry fails with "Unknown Linux OS version" on fresh Debian 9 installations #3705

Open rmistry opened 7 years ago

rmistry commented 7 years ago

Skia recently updated it's 50 GCE instances to Debian 9 : https://chromium-swarm.appspot.com/botlist?c=id&c=os&c=task&c=status&f=pool%3ASkia&f=zone%3Aus-central1-c&f=os%3ADebian-9.0&l=100&q=Debia&s=id%3Aasc

After doing this run_benchmark started to fail with:

The stack trace is: Traceback (most recent call last):

at /mnt/pd0/work/src/tools/perf/run_benchmark:26 sys.exit(main()) main at /mnt/pd0/work/src/tools/perf/run_benchmark:22 return benchmark_runner.main(config, [trybot_command.Trybot]) main at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/benchmark_runner.py:440 return command_instance.Run(options) Run at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/benchmark_runner.py:245 return min(255, self._benchmark().Run(args)) Run at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/benchmark.py:91 return story_runner.RunBenchmark(self, finder_options) RunBenchmark at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py:309 not decorators.IsBenchmarkEnabled(benchmark, possible_browser)): IsBenchmarkEnabled at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/decorators.py:224 IsEnabled(benchmark, possible_browser)[0]) IsEnabled at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/decorators.py:218 should_skip, msg = ShouldSkip(test, possible_browser) ShouldSkip at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/decorators.py:286 platform_attributes = _PlatformAttributes(possible_browser) _PlatformAttributes at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/decorators.py:331 possible_browser.platform.GetOSVersionName(), GetOSVersionName at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/core/platform.py:150 return self._platform_backend.GetOSVersionName() Cacher at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/decorators.py:34 cacher.__cache[key] = obj(*args, **kwargs) GetOSVersionName at /mnt/pd0/work/src/third_party/catapult/telemetry/telemetry/internal/platform/linux_platform_backend.py:55 raise NotImplementedError('Unknown Linux OS version') NotImplementedError: Unknown Linux OS version Looking at the code in linux_platform_backend.py - if not os.path.exists('/etc/lsb-release'): raise NotImplementedError('Unknown Linux OS version') When I create an empty /etc/lsb-release file telemetry works successfully. I do not think all distributions and installations will be guaranteed to have that file. Maybe a better file to check is /etc/os-release ? or maybe instead of throwing an error it should just return an empty string?
rakuco commented 6 years ago

Fix up for review: https://chromium-review.googlesource.com/c/catapult/+/1163702

rakuco commented 6 years ago

That CL landed a couple of minutes ago, not sure if this bug will be closed automatically.