Closed Bug 988710 Opened 10 years ago Closed 10 years ago

Telemetry experiments: local staging server not working with nightly


(Firefox Health Report Graveyard :: Client: Desktop, defect)

Not set


(Not tracked)

Firefox 31


(Reporter: kjozwiak, Assigned: benjamin)




(1 file)

It appears that the telemetry experiment system is not working with the Nightly channel. I tried running it several times but the experiment.xpi was never auto installed. The only logs that I received when I enabled/disabled the "experiments.enabled" pref was:

1395890760208 Browser.Experiments TRACE	Experiments::_toggleExperimentsEnabled(false)
1395890760208 Browser.Experiments TRACE Experiments::disableExperiment()
1395890761642 Browser.Experiments TRACE	Experiments::_toggleExperimentsEnabled(true)
1395890761642 Browser.Experiments TRACE	Experiments::updateManifest()

Steps to reproduce the issue: (the same results happen when using apache)

* Clone (make sure you're using the latest branch)
* Once cloned, make the following changes in 'channel': ['nightly'] and 'xpiURL': 'http://localhost:8080/experiment.xpi'
* Once the above changes have been made, build using: "python exp1"
* Go into the exp1 directory and launch an HTTP Server using: "python -m SimpleHTTPServer 8080" (http://localhost:8080 should be working)

Change the following prefs under about:config

* experiments.enabled;true
* experiments.logging.level;0
* experiments.manifest.cert.checkAttributes;false
* experiments.uri;http://localhost:8080/firefox-manifest.json
* I also tried using: experiments.manifest.uri;http://localhost:8080/firefox-manifest.json

Once all of the above is done, enabling/disabling the experiment will only produce the logs mentioned above and will not install the experiment.xpi
Taking a look.
Assignee: nobody → georg.fritzsche
(In reply to Kamil Jozwiak [:kjozwiak] from comment #0)
> experiments.manifest.uri;http://localhost:8080/firefox-manifest.json

Definitely should be this pref, not experiments.uri
Apparently prerequisite: remove $PROFILEDIR/experiments.json.

So, if in |Experiments::run()| we have this:

  if (!this._mainTask) {
    gLogger.trace("Experiments::run() - #1");
    this._mainTask = Task.spawn(this._main.bind(this));
    gLogger.trace("Experiments::run() - #2");

... then |_main()| is currently running between #3 and #4 in |run()|, so |this._mainTask=null| in |_main()| isn't having any effect.
Attached patch bug988710Splinter Review
Assignee: georg.fritzsche → benjamin
Attachment #8397806 - Flags: review?(georg.fritzsche)
Comment on attachment 8397806 [details] [diff] [review]

Review of attachment 8397806 [details] [diff] [review]:

Looks good to me & i can confirm the fix.
We have a similar issue with |_loadTask| in |Experiments.init()|, let's fix this too while we're here.
Attachment #8397806 - Flags: review?(georg.fritzsche) → review+
Target Milestone: --- → Firefox 31
Closed: 10 years ago
Resolution: --- → FIXED
When going through the latest Nightly, I kept receiving the following error message in the browser console:

Browser console error:
"1396285808808 Browser.Experiments.Experiments DEBUG ExperimentEntry #0::isApplicable() - id=closable-tabs - test 'failedStart' failed"

As per IRC, it seems like the add-on activation mechanism is broken.

This was working correctly with the following Nightly:

I'll wait till the add-on activation mechanism has been fixed in Nightly before marking this as verified.
Cornel, another quick question:

When you're right clicking on the HTML file and selecting "Open With", how do you manage to see both Nightly and Firefox BETA entries? While Nightly is set as the default browser, the only FF item in the "Open With" context menu will be the Nightly icon and won't list Firefox BETA (it's not even listed under "How do you want to open this file?")

The only way for me to open the HTML file via the context menu when Nightly is the default browser, is to select "Look for another app on this PC" and than manually selecting the firefox.exe executable from the BETA directory.
ignore comment #9, added it into the incorrect bug :( (apologies for the email spam)
Went through the following verification using the latest Nightly build:

Using the latest changes to the telemetry staging server in Bug # 992232, I successfully installed and setup a local telemetry server and installed/uninstalled an experiment several times without any issues.

I've created a wiki that outlines the steps to install and setup a telemetry staging server locally. The document is still in-progress as features/pref's are constantly being added as development progresses.

Product: Firefox Health Report → Firefox Health Report Graveyard
You need to log in before you can comment on or make changes to this bug.