Lighthouse: Lighthouse does not work on Debian (Tracing.start wasn't found)

Created on 14 Feb 2019  ·  33Comments  ·  Source: GoogleChrome/lighthouse

Initial URL: http://localhost:8080/Server.html
Chrome Version: 72.0.3626.81
Error Message: Protocol error (Tracing.start): 'Tracing.start' wasn't found
Stack Trace:

Error: Protocol error (Tracing.start): 'Tracing.start' wasn't found
    at Function.fromProtocolMessage (chrome-devtools://devtools/remote/serve_file/@ac8b982e05014492d1bd7d317628a4f22a97ffa0/audits2_worker/audits2_worker_module.js:1341:121)
    at callback.resolve.Promise.resolve.then._ (chrome-devtools://devtools/remote/serve_file/@ac8b982e05014492d1bd7d317628a4f22a97ffa0/audits2_worker/audits2_worker_module.js:998:253)

yeah no dice running audit on my local zim wiki huh.

bug chillin ❄ needs-priority waiting-on-upstream

Most helpful comment

I am running Chronium 72.0.3626.96 on Debian stretch

All 33 comments

This is fascinating. Is there anything special about your setup @eMPee584? Does closing Chrome and re-opening fix this?

Hi,
I have the same issue, closing and re-opening Chrome didn't solve the problem.
I add my error report

Lighthouse Version: 4.0.0
Lighthouse Commit: bfa10f1ac4ba8cdf95c809858d8bc4c8ac1c1da8
Chrome Version: 72.0.3626.96
Error Message: Protocol error (Tracing.start): 'Tracing.start' wasn't found
Stack Trace:

Error: Protocol error (Tracing.start): 'Tracing.start' wasn't found
    at Object.chrome.debugger.sendCommand.result [as callback] (chrome-extension://blipmdconlkpinefehnmjammfjpmpbjk/scripts/lighthouse-ext-bundle.js:18842:15)
    at safeCallbackApply (extensions::uncaught_exception_handler:27:15)
    at handleResponse (extensions::sendRequest:67:7)

Same for me on running performance audit:

Chrome Version: 72.0.3626.109
Error Message: Protocol error (Tracing.start): 'Tracing.start' wasn't found
Stack Trace:
```
Error: Protocol error (Tracing.start): 'Tracing.start' wasn't found
at Function.fromProtocolMessage (chrome-devtools://devtools/remote/serve_file/@fae8db7ab9280fa6704a59980263c804f809ebd5/audits2_worker/audits2_worker_module.js:1341:121)
at callback.resolve.Promise.resolve.then._ (chrome-devtools://devtools/remote/serve_file/@fae8db7ab9280fa6704a59980263c804f809ebd5/audits2_worker/audits2_worker_module.js:998:253)
````

Restarting chrome does not fix the issue

Anyone willing to share their operating system? Are y'all running Chrome or Chromium? Anything else about the environment that might be important to know?

I am running Chromium:
Version 72.0.3626.109 (Developer Build) built on Debian buster/sid, running on Debian buster/sid (64-bit)

I am running Chronium 72.0.3626.96 on Debian stretch

2/2 Debian so far, if it's Debian-specific that would certainly explain the difficulty reproducing on our end.

@eMPee584 @samimussbach are you both debian as well?

yes, indeed I am on current debian testing as well

yes Debian here too indeed 😏

On February 27, 2019 6:18:09 PM GMT+01:00, Patrick Hulce notifications@github.com wrote:

2/2 Debian so far, if it's Debian-specific that would certainly explain
the difficulty reproducing on our end.

@eMPee584 @samimussbach are you both debian as well?

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/GoogleChrome/lighthouse/issues/7246#issuecomment-467950596

--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

I have a debian machine but I'll need a URL or repro :)

@Hoten For me the problem appear whatever the url is, even on this issue page

same here on this page. I use Chromium btw (as you asked above). If you need any more debug information pls let us know

Just one tiny bit more information: When I start chromium from terminal I get this logmessage on error

[29318:29318:0228/141249.275022:ERROR:CONSOLE(355)] "Error: Protocol error (Tracing.start): 'Tracing.start' wasn't found", source: chrome-devtools://devtools/bundled/audits2/audits2_module.js (355)

[29318:29318:0228/141248.716631:ERROR:CONSOLE(7831)] "Extension server error: Object not found: <top>", source: chrome-devtools://devtools/bundled/shell.js (7831)

I'm running Debian Stretch and Chromium. Profiling produces Tracing.start message like others have mentioned, but slightly different content:

[12292:12292:0301/135027.991290:ERROR:CONSOLE(3372)] "Request Tracing.start failed. {"code":-32601,"message":"'Tracing.start' wasn't found"}", source: chrome-devtools://devtools/bundled/shell.js (3372) [12292:12292:0301/135029.271578:ERROR:CONSOLE(3372)] "Request Tracing.end failed. {"code":-32601,"message":"'Tracing.end' wasn't found"}", source: chrome-devtools://devtools/bundled/shell.js (3372)

Hm this is really odd, seems like the entire Tracing domain just doesn't exist in Chrome on Debian for some reason.

Looking at a similar bug in Debian, it looks like Tracing was intentionally disabled. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=922431

Tracing is disabled in debian starting with 72.0.3626.81-1. Its implementation relies on many sourceless javascript files.

Thanks for finding that @xxv! There's not really anything that can be done on our side then. Leaving this open as a reference, but no expectation that this can be fixed by the Lighthouse team.

@Hoten @exterkamp I wonder if we should catch this specific error message in DevTools and link to that debian bug?

Friendly bump .. are people still seeing this issue in the latest Chrome & LH?

@Hoten are you waiting on some specific action? It seemed to me that this bug mostly reached its terminal state apart from a better UI explanation if we see it's on Debian.

Ugh, I failed to read the last couple comments. Cool. The bug report has a nice suggestion, removing the Audits tab for Debian (or maybe replacing with a link to this bug, so we dont get bug reports about it :P)

Its implementation relies on many sourceless javascript files.

what does that even mean..

AFAIK that means that the implementation of tracing in chromium consists of many minified/uglified JavaScript files without any source with them. This goes against Debian rules as this is arguably not open source software. I'm no Debian or Chrome developer but as far as I can tell this could be solved by the Chrome team releasing the original sources as part of the chromium project.

Is there any link between the Lighthouse authors and the Chrome team?

@marekdedic there is, but I'm a little bit confused by their comment about the sourceless JavaScript files if they're talking about Lighthouse. The Tracing domain in Chromium relies on lots of C++ hooks/events throughout the Chromium codebase, and while the Audits panel code in Chromium repo looks like it "relies on many sourceless javascript files", the source is here with an open source license.

You'd have to ask the Debian developer team that... As I said, not in any way affiliated... :(

@marekdedic

You'd have to ask the Debian developer team that... As I said, not in any way affiliated... :(

From what I can see in the ticket here, it doesn't seem you are talking to/with the Debian maintainers? So I've asked them: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=922431#16 .

Any news on that issue ?

Same here :
Chromium 76.0.3809.100 built on Debian 10.0, running on Debian 10.1

But not here :
Google Chrome 78.0.3904.70 unknown, running on Debian 10.1

@AnnoyingTechnology correct AFAIK it's just the Chromium build that's modified and distributed through debian, not the official Google Chrome build, that's affected by this.

We have no affiliation and no ability to fix the Chromium on Debian build, so if you want to use Lighthouse there I suppose you'll just need to use Google Chrome.

@patrickhulce wrote:

We have no affiliation and no ability to fix the Chromium on Debian build, so if you want to use Lighthouse there I suppose you'll just need to use Google Chrome.

What should "We have "no affiliation" with Debian" exactly mean? Aren't you using Debian at Google/Chrome? Isn't Debian, just incidentally Open Source? Does basing your stuff on Open Source imply any moral responsiblity or is that just a "no affiliation" relation? Aren't there Google/Chrome developers that are also Debian developers, so that in fact they (and the Chrome/Google collective) have upload rights and would be able to fix what's broken from within Debian? I think if there is good will on your part, then there is a path for you and you can drop the "no affiliation/blame shifting game" without loss.

Also: "[we have] no ability to fix the Chromium on Debian build". You do. The problem that Debian has has been known in this thread clearyl: some parts from which Chromium is built are not available in their original source format (but only as minified js).

So what is needed is for someone to do the work: identifiy which parts are affected, add the original sources or link to them and make sure that those parts get built from their original sources.

The "we're not responsible" game will not bring anybody further. Doing the work will (including Chrome/Google).

some parts from which Chromium is built are not available in their original source format

This is simply not true. The original source format of catapult's scripts are just located outside of the Chromium repo. I'm assuming they are referring to the third party scripts of catapult which are checked in pre-bundled, yet each is accompanied by the corresponding license, version, and documentation links where to find the original source.

I'm not sure I would agree with your assertion that a project has a responsibility to compel all its forks to support all of its features. The beauty of open source is that when Debian has a philosophical disagreement where no intermediate steps can come between the published package and the true source, then it's free to fork and modify the project however it wishes in pursuit of that goal. Claiming that a project is not open source simply because it uses the bundles that other open source projects provide does a disservice to the community.

some parts from which Chromium is built are not available in their original source format

This is simply not true. The original source format of catapult's scripts are just located outside of the Chromium repo. I'm assuming they are referring to the third party scripts of catapult which are checked in pre-bundled, yet each is accompanied by the corresponding license, version, and documentation links where to find the original source.

So I'd think in order to help, one could go and talk to the maintainer(s), find out what's wrong, and fix it.

I'm not sure I would agree with your assertion that a project has a responsibility to compel all its forks to support all of its features. The beauty of open source is that when Debian has a philosophical disagreement where no intermediate steps can come between the published package and the true source, then it's free to fork and modify the project however it wishes in pursuit of that goal. Claiming that a project is not open source simply because it uses the bundles that other open source projects provide does a disservice to the community.

It was not my intent to claim or express that. What I wanted to say was that "we don't have anything to do with Debian and it's impossible to help" borders on demagogy and on the contrary you can help if you choose to.

Hello all.

The Debian Chromium Team deliberately broke the tracing infrastructure.
On https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=922431#10, one of the maintainers defended the removal stating:

Tracing is disabled in debian starting with 72.0.3626.81-1. Its
implementation relies on many sourceless javascript files.

First all, this is incorrect.

The tracing infrastructure is not JavaScript but C++. Lighthouse and other tools use it over the devtools protocol, which, again relies on zero javascript.

The "sourceless" JavaScript files called out in the thread are third_party dependencies used for the chrome://tracing frontend. The frontend is built from Catapult which lives on GitHub and is mirrored into chromium.

While some of these dependencies are only necessary for development & testing (chai, mocha), others are used at runtime in the webapp. And yes these files are vendored into Catapult & Chromium as minified.


This amounts to two things:

  1. The Debian Chromium Team broke the Tracing domain of the devtools protocol when they wanted to remove the "chrome://tracing" web UI. This was an incorrect change and they should fix this.
  2. Apparently minified JavaScript is "sourceless" to Debian. I can't agree with that, but I'm not gonna argue.

If you're interested in this getting fixed, please discuss this with the Debian Chromium team: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=922431

Thanks.

Reading through this issue I thought all the technical arguments spoke for Chrome(-devs).
But IMO reconsidering it, something doesn't quite add up to a consistent whole:
considering the aim of having reproducible builds, isn't the critic of the package maintainers and users valid? Or are the builds instructions public?
If not, how does it fit that (important parts of) Google decided to bet on Debian, and other parts of it seem to be self-serving only? Wouldn't it be in the best interest of all Debian-depending Googlers to keep support that aim (reproducible builds)?

IMO, if and only if the the build isn't reproducible, the support argument (chromium vs Chrome) becomes a red herring -- even if you don't agree with everything Debian expects, IMO unreproducible builds should be a thing of the past.

But if the build is reproducible (not only Google in-house) it would be nice to point that explicitly out for a simple mind like me -- after that I would only suggest that you might paint this issue pink and change or recharge the battery of its "Somebody Else's Problem Field".

This isn't the place to discuss Debian Chromium. I suggest you follow https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=922431 for updates, or find the appropriate component in crbug.com to discuss this with the team responsible.

As the issue here is known and further discussion or user reports are not needed, I think we can lock this thread. You'll be alerted when/if this is fixed if you hit subscribe.

Was this page helpful?
0 / 5 - 0 ratings