sitespeedio / sitespeedio/sitespeed.io
Missing diagnostics on permission problems
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 5k
- Forks
- 624
- Avg merge
- 4h 8m
- Merged PRs (30d)
- 2
Description
Consider the following run, which roughly simulates a system where sitespeed.io was upgraded from pre-v11.0.0 to v11.0.00 or later:
$ mkdir sitespeed; docker run --rm -v $(pwd)/sitespeed:/sitespeed.io sitespeedio/sitespeed.io:10.3.2 --browsertime.iterations 1 -b chrome https://www.sitespeed.io/
Google Chrome 77.0.3865.75
Mozilla Firefox 69.0
[2020-01-17 13:20:25] INFO: Versions OS: linux 4.4.0-21-generic nodejs: v10.16.0 sitespeed.io: 10.3.2 browsertime: 6.1.4 coach: 4.1.0
[2020-01-17 13:20:25] INFO: Running tests using Chrome - 1 iteration(s)
[2020-01-17 13:20:27] INFO: Testing url https://www.sitespeed.io/ iteration 1
[2020-01-17 13:20:38] INFO: https://www.sitespeed.io/ 13 requests, backEndTime: 194ms, firstPaint: 286ms, firstVisualChange: 300ms, DOMContentLoaded: 276ms, Load: 297ms, speedIndex: 306, visualComplete85: 334ms, lastVisualChange: 334ms, rumSpeedIndex: 286
[2020-01-17 13:20:39] INFO: HTML stored in /sitespeed.io/sitespeed-result/www.sitespeed.io/2020-01-17-13-20-25
$ docker run --rm -v $(pwd)/sitespeed:/sitespeed.io sitespeedio/sitespeed.io:11.0.0 --browsertime.iterations 1 -b chrome https://www.sitespeed.io/
Google Chrome 78.0.3904.87
Mozilla Firefox 70.0
... with no further output, and exit code is 1. With more research (strace logging...) it seems that the sitespeed run fails because of permission problems, and needs to be fixed by changing the ownership of sitespeed-result:
$ sudo chown -R $(stat --format=%u sitespeed):$(stat --format=%g sitespeed) sitespeed/sitespeed-result
It would be nice if sitespeed would not die silently in this situation, but clearly say that it could not create files/directories, with the filenames and the reason.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the two Docker runs in the issue, including the permission failure after upgrading from v10.3.2 to v11.0.0. Trace the failing file or directory operation and verify that the run reports the affected filename and reason instead of exiting silently; confirm the documented ownership workaround still reproduces the original behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100