sitespeedio / sitespeedio/sitespeed.io

Missing diagnostics on permission problems

Open
#2,847 4 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.