Closed Bug 1820334 Opened 2 years ago Closed 2 years ago

Perma toolkit/components/glean/EventExtraGIFFTMaps.cpp differs. See the diff.html or diff.txt artifact

Categories

(Toolkit :: Telemetry, defect, P1)

defect

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox110 --- unaffected
firefox111 --- unaffected
firefox112 --- fixed
firefox113 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: janerik)

References

(Regression)

Details

(Keywords: intermittent-failure, regression, Whiteboard: [retriggered][stockwell disable-recommended])

Attachments

(1 file, 1 obsolete file)

Filed by: chorotan [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=407811971&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/FnJne8T0RhKxQb9j4EfmJA/runs/0/artifacts/public/logs/live_backing.log


[task 2023-03-04T11:21:11.695Z]  |########################## |   98%                             ETA:  0:00:00 
[task 2023-03-04T11:21:11.700Z]  |########################## |   98%     a/xpcom/xpcom-config.h  ETA:  0:00:00 
[task 2023-03-04T11:21:11.700Z]  |###########################|  100%                             ETA:  0:00:00 
[task 2023-03-04T11:21:11.700Z]  |###########################|  100%                             ETA:  0:00:00 
[task 2023-03-04T11:21:11.700Z]  |###########################|  100%                             ETA:  0:00:00 
[task 2023-03-04T11:21:47.742Z]  |###########################|  100%                             Time: 0:00:26 
[task 2023-03-04T11:21:47.742Z] ++ dirname /builds/worker/bin/get_and_diffoscope
[task 2023-03-04T11:21:47.743Z] + /builds/worker/bin/report_error diff
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/EventExtraGIFFTMaps.cpp differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/EventGIFFTMap.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/GleanJSMetricsLookup.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/GleanJSPingsLookup.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/GleanMetrics.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/GleanPings.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/HistogramGIFFTMap.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/ScalarGIFFTMap.h differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/api/src/factory.rs differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/api/src/metrics.rs differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.759Z] TEST-UNEXPECTED-FAIL | toolkit/components/glean/api/src/pings.rs differs. See the diff.html or diff.txt artifact
[task 2023-03-04T11:21:47.761Z] + fail
[task 2023-03-04T11:21:47.761Z] + exit 1
[taskcluster 2023-03-04 11:21:48.035Z] === Task Finished ===
[taskcluster 2023-03-04 11:21:48.857Z] Unsuccessful task run with exit code: 1 completed in 90.904 seconds

Set release status flags based on info from the regressing bug 1816190

:travis_, since you are the author of the regressor, bug 1816190, could you take a look?

For more information, please visit auto_nag documentation.

Regressed by: 1820189
No longer regressed by: 1816190
Flags: needinfo?(tlong)
Flags: needinfo?(chutten)

First time I've heard about "Diffoscope". Found a doc which doesn't explain much. By searching the code I also found this hidden doc which is a little more helpful in understanding the intent: "Make sure the build remains reproducible"

This means there's instability in the order things are generated. Unspurprisingly so, since glean_parser doesn't use ordereddict anywhere.

I wonder why it only started to complain now, and why our existing codegen regression tests didn't trip this earlier...

Assignee: nobody → chutten
Status: NEW → ASSIGNED
Flags: needinfo?(chutten)
Priority: P5 → P1
Assignee: chutten → pmcmanis
Depends on: 1820648
Attachment #9321419 - Attachment is obsolete: true
Whiteboard: [retriggered]
Depends on: 1821463

Set release status flags based on info from the regressing bug 1820189

Duplicate of this bug: 1822590

Another side effect of bug 1820189 is that top-level $objdir/backend.mk too is not deterministic (because it's fed with glean stuff too), which means cascades into the glean headers being rebuilt when the build backend is regenerated, which, since the headers are not deterministic either, cascades into a ton of C++ being rebuilt too.

(In reply to Chris H-C :chutten from comment #3)

I wonder why it only started to complain now, and why our existing codegen regression tests didn't trip this earlier...

The use of sets in metrics_index.py added in https://phabricator.services.mozilla.com/D171576 surely doesn't help.

Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/29cf43c71b23 Make the metrics_yamls and ping_yamls lists deterministically ordered. r=chutten,nalexander
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch

Comment on attachment 9323408 [details]
Bug 1820334 - Make the metrics_yamls and ping_yamls lists deterministically ordered.

Beta/Release Uplift Approval Request

  • User impact if declined: Faster builds on automation because of better cache hits. Faster incremental builds locally. And this makes the shippable Linux builds reproducible again.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Build-time change, and very limited in scope.
  • String changes made/needed: N/A
  • Is Android affected?: Yes
Attachment #9323408 - Flags: approval-mozilla-beta?

Comment on attachment 9323408 [details]
Bug 1820334 - Make the metrics_yamls and ping_yamls lists deterministically ordered.

Approved for 112.0b5

Attachment #9323408 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

I suspect the remaining non-deterministic parts are because glean_parser doesn't keep an order on metrics. I might be able to look into this shortly.

Edit: Scratch the first part. I don't actually know. I still plan to look into it.

Assignee: pmcmanis → jrediger
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Hm, I see one tiny issue, though I'm not sure anymore this actually caused problems in my local test.
Looking at the failures it doesn't seem to be still failing anymore, all the failures are form the day before the fix landed actually.

Guess I accidentally reopened this. No work to be done here.

Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: