Closed Bug 1473786 (macOS-LTO) Opened 6 years ago Closed 6 years ago

Enable LTO on macOS builds

Categories

(Firefox Build System :: General, defect)

Unspecified
macOS
defect
Not set
normal

Tracking

(relnote-firefox 64+, firefox64 fixed)

RESOLVED FIXED
mozilla64
Tracking Status
relnote-firefox --- 64+
firefox64 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(2 files)

No description provided.
Comment on attachment 8990175 [details] Bug 1473786 - Enable LTO on macOS builds. https://reviewboard.mozilla.org/r/255198/#review262176 Sure, why not. Any idea what this does to perf/codesize?
Attachment #8990175 - Flags: review+
Attachment #8990175 - Flags: review?(core-build-config-reviews)
5MB larger installer size, for up to 10% improvement in performance, except for one specific regression on rasterflood_gradient (discussed with jrmuizel already)
This appears to make builds in CI ~30 minutes slower. From ~12 minutes to ~40 minutes. That's pretty substantial. It's big enough that we should consider only using LTO on some builds. But we don't have Mac machine capacity to run tests on builds with and without LTO for every push... Anyway there's a handful of interesting bits in the logs. [task 2018-07-06T03:24:15.428Z] 03:24:15 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/js/src/jsapi-tests' [task 2018-07-06T03:24:15.428Z] 03:24:15 INFO - /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/init/bin/python -m mozbuild.action.check_binary --target ../../../dist/bin/jsapi-tests [task 2018-07-06T03:24:15.428Z] 03:24:15 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/js/src/jsapi-tests' [task 2018-07-06T03:24:15.448Z] 03:24:15 INFO - make[4]: Nothing to be done for 'syms'. [task 2018-07-06T03:30:37.788Z] 03:30:37 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/toolkit/library' Looks like check_binary.py is taking ~6 minutes to run?? [task 2018-07-06T03:31:04.619Z] 03:31:04 INFO - while processing /builds/worker/workspace/build/src/obj-firefox/toolkit/library/x86_64-apple-darwin/release/libgkrust.a(gkrust-4c70ef1af5b0b889.gkrust0.rcgu.o): [task 2018-07-06T03:31:04.619Z] 03:31:04 INFO - warning: no mapping for range. There's hundreds (maybe thousands) of these. [task 2018-07-06T03:40:53.793Z] 03:40:53 INFO - warning: cannot open debug object "/tmp/thinlto.o/193.o": No such file or directory And a few thousand of these. [task 2018-07-06T03:40:54.092Z] 03:40:54 INFO - while processing /builds/worker/workspace/build/src/obj-firefox/toolkit/library/gtest/../x86_64-apple-darwin/release/libgkrust_gtest.a(gkrust_gtest-6e8909b008f5744d.gkrust_gtest0.rcgu.o): [task 2018-07-06T03:40:54.092Z] 03:40:54 INFO - warning: could not find referenced DIE [task 2018-07-06T03:40:54.093Z] 03:40:54 INFO - while processing /builds/worker/workspace/build/src/obj-firefox/toolkit/library/gtest/../x86_64-apple-darwin/release/libgkrust_gtest.a(gkrust_gtest-6e8909b008f5744d.gkrust_gtest0.rcgu.o): [task 2018-07-06T03:40:54.093Z] 03:40:54 INFO - warning: could not find referenced DIE And hundreds to thousands of these.
Those sound like they might be from dsymutil. They may or may not be an actual problem, but we should sanity check that the Breakpad symbols aren't radically different in an LTO build.
(In reply to Gregory Szorc [:gps] from comment #4) > This appears to make builds in CI ~30 minutes slower. From ~12 minutes to > ~40 minutes. That's pretty substantial. It's big enough that we should > consider only using LTO on some builds. > > But we don't have Mac machine capacity to run tests on builds with and > without LTO for every push... > > Anyway there's a handful of interesting bits in the logs. > > [task 2018-07-06T03:24:15.428Z] 03:24:15 INFO - make[4]: Entering > directory '/builds/worker/workspace/build/src/obj-firefox/js/src/jsapi-tests' > [task 2018-07-06T03:24:15.428Z] 03:24:15 INFO - > /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/init/bin/python > -m mozbuild.action.check_binary --target ../../../dist/bin/jsapi-tests > [task 2018-07-06T03:24:15.428Z] 03:24:15 INFO - make[4]: Leaving > directory '/builds/worker/workspace/build/src/obj-firefox/js/src/jsapi-tests' > [task 2018-07-06T03:24:15.448Z] 03:24:15 INFO - make[4]: Nothing to be > done for 'syms'. > [task 2018-07-06T03:30:37.788Z] 03:30:37 INFO - make[4]: Entering > directory '/builds/worker/workspace/build/src/obj-firefox/toolkit/library' > > Looks like check_binary.py is taking ~6 minutes to run?? Probably not. Things are printed out when they finish. What finished at 3:30:37 is linking libxul. Which usually starts in parallel of linking jsapi-tests. So it took longer than 6 minutes, but nothing else happened between jsapi-tests finishing and libxul finishing. > [task 2018-07-06T03:31:04.619Z] 03:31:04 INFO - while processing > /builds/worker/workspace/build/src/obj-firefox/toolkit/library/x86_64-apple- > darwin/release/libgkrust.a(gkrust-4c70ef1af5b0b889.gkrust0.rcgu.o): > [task 2018-07-06T03:31:04.619Z] 03:31:04 INFO - warning: no mapping for > range. > > There's hundreds (maybe thousands) of these. You haven't looked at normal logs in a while have you? :) > [task 2018-07-06T03:40:53.793Z] 03:40:53 INFO - warning: cannot open > debug object "/tmp/thinlto.o/193.o": No such file or directory > > And a few thousand of these. Cf comment 5, indeed.
Breakpad symbols are definitely busted :(
Depends on: 1474024
Backed out for mac signing task failures and multiple other failures e.g. browser_all_files_referenced.js Backout link: https://hg.mozilla.org/integration/autoland/rev/ec55053b3377c73713af99142fa123ae909921ea Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=2ba41123a4e22b39ec064e2411f60a8d9e968ae5 M(1) test: https://treeherder.mozilla.org/logviewer.html#?job_id=188481017&repo=autoland 17:42:18 INFO - TEST-START | dom/canvas/test/test_imagebitmap_extensions.html 17:42:18 INFO - TEST-INFO | started process screencapture 17:42:19 INFO - TEST-INFO | screencapture: exit 0 17:42:19 INFO - <snipped 315 output lines - if you need more context, please use SimpleTest.requestCompleteLog() in your test> 17:42:19 INFO - Buffered messages logged at 17:42:18 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,0)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,1)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,1)channnel(G): dstImageDataValue:255 should equal to dstDataValue_G: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,1)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,2)channnel(R): dstImageDataValue:128 should equal to dstDataValue_R: 128 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,2)channnel(G): dstImageDataValue:128 should equal to dstDataValue_G: 128 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,2)channnel(B): dstImageDataValue:128 should equal to dstDataValue_B: 128 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [RGB24 -> RGBA32] pixel(2,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | Should get a valid srcBitmap. 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | srcBitmap.findOptimalFormat():BGR24 should equal to sourceFromat:BGR24 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,0)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,0)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,1)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,1)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,1)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,2)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,2)channnel(G): dstImageDataValue:255 should equal to dstDataValue_G: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,2)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(0,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,0)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,0)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,1)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,1)channnel(G): dstImageDataValue:255 should equal to dstDataValue_G: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,1)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,2)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,2)channnel(G): dstImageDataValue:255 should equal to dstDataValue_G: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,2)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(1,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,0)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,0)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,1)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,1)channnel(G): dstImageDataValue:255 should equal to dstDataValue_G: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,1)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,2)channnel(R): dstImageDataValue:128 should equal to dstDataValue_R: 128 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,2)channnel(G): dstImageDataValue:128 should equal to dstDataValue_G: 128 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,2)channnel(B): dstImageDataValue:128 should equal to dstDataValue_B: 128 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [BGR24 -> RGBA32] pixel(2,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | Should get a valid srcBitmap. 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | srcBitmap.findOptimalFormat():YUV444P should equal to sourceFromat:YUV444P 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,0)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,0)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,1)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 254 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,1)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,1)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,2)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,2)channnel(G): dstImageDataValue:254 should equal to dstDataValue_G: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,2)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 1 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(0,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,0)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,0)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 251 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,1)channnel(R): dstImageDataValue:254 should equal to dstDataValue_R: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,1)channnel(G): dstImageDataValue:254 should equal to dstDataValue_G: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,1)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 2 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,2)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,2)channnel(G): dstImageDataValue:254 should equal to dstDataValue_G: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,2)channnel(B): dstImageDataValue:254 should equal to dstDataValue_B: 252 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(1,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,0)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,0)channnel(B): dstImageDataValue:255 should equal to dstDataValue_B: 252 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,1)channnel(R): dstImageDataValue:254 should equal to dstDataValue_R: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,1)channnel(G): dstImageDataValue:254 should equal to dstDataValue_G: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,1)channnel(B): dstImageDataValue:254 should equal to dstDataValue_B: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,2)channnel(R): dstImageDataValue:128 should equal to dstDataValue_R: 127 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,2)channnel(G): dstImageDataValue:128 should equal to dstDataValue_G: 127 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,2)channnel(B): dstImageDataValue:128 should equal to dstDataValue_B: 127 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV444P -> RGBA32] pixel(2,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | Should get a valid srcBitmap. 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | srcBitmap.findOptimalFormat():YUV422P should equal to sourceFromat:YUV422P 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,0)channnel(R): dstImageDataValue:89 should equal to dstDataValue_R: 89 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,0)channnel(G): dstImageDataValue:0 should equal to dstDataValue_G: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,0)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,0)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,1)channnel(R): dstImageDataValue:166 should equal to dstDataValue_R: 165 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,1)channnel(G): dstImageDataValue:38 should equal to dstDataValue_G: 38 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,1)channnel(B): dstImageDataValue:38 should equal to dstDataValue_B: 38 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,1)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,2)channnel(R): dstImageDataValue:0 should equal to dstDataValue_R: 0 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,2)channnel(G): dstImageDataValue:254 should equal to dstDataValue_G: 253 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,2)channnel(B): dstImageDataValue:0 should equal to dstDataValue_B: 1 17:42:19 INFO - TEST-PASS | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(0,2)channnel(A): dstImageDataValue:255 should equal to dstDataValue_A: 255 17:42:19 INFO - Buffered messages finished 17:42:19 INFO - TEST-UNEXPECTED-FAIL | dom/canvas/test/test_imagebitmap_extensions.html | [YUV422P -> RGBA32] pixel(1,0)channnel(R): dstImageDataValue:255 should equal to dstDataValue_R: 28 17:42:19 INFO - window.onmessage@dom/canvas/test/test_imagebitmap_extensions.html:31:9 17:42:19 INFO - EventHandlerNonNull*@dom/canvas/test/test_imagebitmap_extensions.html:29:5 17:42:19 INFO - Not taking screenshot here: see the one that was previously logged M(bc3) failure: https://treeherder.mozilla.org/logviewer.html#?job_id=188485738&repo=autoland&lineNumber=1811 18:11:05 INFO - TEST-START | browser/base/content/test/static/browser_all_files_referenced.js 18:11:05 INFO - GECKO(1974) | 2018-07-16 18:11:05.573 plugin-container[1977:12889] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8e57, name = 'com.apple.tsm.portname' 18:11:05 INFO - GECKO(1974) | See /usr/include/servers/bootstrap_defs.h for the error codes. 18:11:09 INFO - GECKO(1974) | 2018-07-16 18:11:09.737 plugin-container[1978:12935] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x923b, name = 'com.apple.tsm.portname' 18:11:09 INFO - GECKO(1974) | See /usr/include/servers/bootstrap_defs.h for the error codes. 18:11:15 INFO - TEST-INFO | started process screencapture 18:11:15 INFO - TEST-INFO | screencapture: exit 0 18:11:15 INFO - Buffered messages logged at 18:11:05 18:11:15 INFO - Entering test bound checkAllTheFiles 18:11:15 INFO - Buffered messages logged at 18:11:08 18:11:15 INFO - Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/FileUtils.jsm" line: 170}] 18:11:15 INFO - Buffered messages logged at 18:11:15 18:11:15 INFO - indirectly whitelisted file: chrome://marionette/content/test_dialog.dtd used from chrome://marionette/content/test_dialog.xul 18:11:15 INFO - indirectly whitelisted file: chrome://global-platform/locale/intl.properties used from resource://gre/greprefs.js 18:11:15 INFO - indirectly whitelisted file: chrome://marionette/content/test.xul used from chrome://marionette/content/test_anonymous_content.xul 18:11:15 INFO - indirectly whitelisted file: chrome://marionette/content/test_nested_iframe.xul used from chrome://marionette/content/test.xul 18:11:15 INFO - indirectly whitelisted file: chrome://marionette/content/test2.xul used from chrome://marionette/content/test.xul,chrome://marionette/content/test_nested_iframe.xul 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/addonutils.js used from resource://services-sync/engines/addons.js 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/Promise-backend.js used from resource://gre/modules/Promise.jsm,resource://devtools/shared/worker/loader.js,resource://devtools/shared/Loader.jsm 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/engines/clients.js used from resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: chrome://pippki/content/resetpassword.js used from chrome://pippki/content/resetpassword.xul 18:11:15 INFO - indirectly whitelisted file: chrome://global/content/accessibility/content-script.js used from resource://gre/modules/accessibility/AccessFu.jsm 18:11:15 INFO - indirectly whitelisted file: chrome://global/content/remote-test-ipc.js used from chrome://global/content/test-ipc.xul 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/telemetry.js used from resource://services-sync/bookmark_repair.js,resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/stages/enginesync.js used from resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/addonsreconciler.js used from resource://services-sync/engines/addons.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/collection_validator.js used from resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/passwords.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/policies.js used from resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/bookmark_validator.js used from resource://services-sync/engines/bookmarks.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/browserid_identity.js used from resource://services-sync/telemetry.js,resource://services-sync/status.js 18:11:15 INFO - indirectly whitelisted file: resource://services-common/tokenserverclient.js used from resource://services-sync/browserid_identity.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/status.js used from resource://services-sync/telemetry.js,resource://services-sync/policies.js,resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/collection_repair.js used from resource://services-sync/engines/clients.js,resource://services-sync/bookmark_repair.js,resource://services-sync/doctor.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/stages/declined.js used from resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: chrome://pippki/content/load_device.js used from chrome://pippki/content/load_device.xul 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/engines.js used from resource://services-sync/engines/clients.js,resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/history.js,resource://services-sync/engines/tabs.js,resource://services-sync/engines/bookmarks.js,resource://services-sync/engines/extension-storage.js,resource://services-sync/engines/passwords.js,resource://services-sync/engines/prefs.js,resource://services-sync/service.js,resource://formautofill/FormAutofillSync.jsm 18:11:15 INFO - indirectly whitelisted file: resource://services-common/logmanager.js used from resource://services-sync/policies.js 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/EventManager.jsm used from chrome://global/content/accessibility/content-script.js 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Utils.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/Traversal.jsm,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/Presentation.jsm,resource://gre/modules/accessibility/AccessFu.jsm,resource://gre/modules/accessibility/OutputGenerator.jsm,resource://gre/modules/accessibility/ContentControl.jsm 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/SyncedBookmarksMirror.jsm used from resource://services-sync/engines/bookmarks.js 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Presentation.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/AccessFu.jsm,resource://gre/modules/accessibility/ContentControl.jsm 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/OutputGenerator.jsm used from resource://gre/modules/accessibility/Presentation.jsm 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Constants.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/Traversal.jsm,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/Utils.jsm,resource://gre/modules/accessibility/Presentation.jsm,resource://gre/modules/accessibility/OutputGenerator.jsm,resource://gre/modules/accessibility/ContentControl.jsm 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/ContentControl.jsm used from chrome://global/content/accessibility/content-script.js 18:11:15 INFO - indirectly whitelisted file: chrome://passwordmgr/content/recipes.json used from resource://gre/greprefs.js 18:11:15 INFO - indirectly whitelisted file: resource://formautofill/FormAutofillSync.jsm used from resource://services-sync/service.js 18:11:15 INFO - indirectly whitelisted file: chrome://global/locale/AccessFu.properties used from resource://gre/modules/accessibility/Utils.jsm 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/bookmark_repair.js used from resource://services-sync/collection_repair.js 18:11:15 INFO - indirectly whitelisted file: resource://services-sync/doctor.js used from resource://services-sync/bookmark_repair.js,resource://services-sync/stages/enginesync.js 18:11:15 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Traversal.jsm used from resource://gre/modules/accessibility/ContentControl.jsm 18:11:15 INFO - Buffered messages finished 18:11:15 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | there should be no unreferenced files - Got 3, expected 0 18:11:15 INFO - Stack trace: 18:11:15 INFO - chrome://mochikit/content/browser-test.js:test_is:1305 18:11:15 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:684 18:11:15 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1103 18:11:15 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1094 18:11:15 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:996 18:11:15 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 18:11:15 INFO - Not taking screenshot here: see the one that was previously logged 18:11:15 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | unreferenced file: chrome://browser/content/aboutNetError-new.xhtml - 18:11:15 INFO - Stack trace: 18:11:15 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:688 18:11:15 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1103 18:11:15 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1094 18:11:15 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:996 18:11:15 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 18:11:15 INFO - Not taking screenshot here: see the one that was previously logged 18:11:15 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | file only referenced from unreferenced files: chrome://browser/skin/aboutNetError-new.css referenced from chrome://browser/content/aboutNetError-new.xhtml - 18:11:15 INFO - Stack trace: 18:11:15 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:694 18:11:15 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1103 18:11:15 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1094 18:11:15 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:996 18:11:15 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 18:11:15 INFO - Not taking screenshot here: see the one that was previously logged M(mda) failure: https://treeherder.mozilla.org/logviewer.html#?job_id=188487414&repo=autoland&lineNumber=91762 19:00:30 INFO - TEST-INFO | Main app process: exit 0 19:00:30 INFO - runtests.py | Application ran for: 0:05:27.877126 19:00:30 INFO - zombiecheck | Reading PID log: /var/folders/lg/9yv21j1d73v83vnn549cxpsc00000w/T/tmpmQxow_pidlog 19:00:30 INFO - ==> process 871 launched child process 872 19:00:30 INFO - ==> process 871 launched child process 873 19:00:30 INFO - ==> process 871 launched child process 874 19:00:30 INFO - ==> process 871 launched child process 885 19:00:30 INFO - ==> process 871 launched child process 887 19:00:30 INFO - ==> process 871 launched child process 888 19:00:30 INFO - zombiecheck | Checking for orphan process with PID: 872 19:00:30 INFO - zombiecheck | Checking for orphan process with PID: 873 19:00:30 INFO - zombiecheck | Checking for orphan process with PID: 874 19:00:30 INFO - zombiecheck | Checking for orphan process with PID: 885 19:00:30 INFO - zombiecheck | Checking for orphan process with PID: 887 19:00:30 INFO - zombiecheck | Checking for orphan process with PID: 888 19:00:30 INFO - mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/NusFepBQQy-wTiifVnkWBQ/artifacts/public/build/target.crashreporter-symbols.zip 19:00:47 INFO - mozcrash Copy/paste: /Users/cltbld/tasks/task_1531788510/build/macosx64-minidump_stackwalk /var/folders/lg/9yv21j1d73v83vnn549cxpsc00000w/T/tmphJoAkv.mozrunner/minidumps/B07C3D76-9429-4D27-A607-1EA6279F5C74.dmp /var/folders/lg/9yv21j1d73v83vnn549cxpsc00000w/T/tmp1SLEkG 19:01:04 INFO - mozcrash Saved minidump as /Users/cltbld/tasks/task_1531788510/build/blobber_upload_dir/B07C3D76-9429-4D27-A607-1EA6279F5C74.dmp 19:01:04 INFO - mozcrash Saved app info as /Users/cltbld/tasks/task_1531788510/build/blobber_upload_dir/B07C3D76-9429-4D27-A607-1EA6279F5C74.extra 19:01:04 INFO - PROCESS-CRASH | Main app process exited normally | application crashed [@ vpx_sum_squares_2d_i16_nxn_sse2] 19:01:04 INFO - Crash dump filename: /var/folders/lg/9yv21j1d73v83vnn549cxpsc00000w/T/tmphJoAkv.mozrunner/minidumps/B07C3D76-9429-4D27-A607-1EA6279F5C74.dmp 19:01:04 INFO - Operating system: Mac OS X 19:01:04 INFO - 10.10.5 14F27 19:01:04 INFO - CPU: amd64 19:01:04 INFO - family 6 model 69 stepping 1 19:01:04 INFO - 4 CPUs 19:01:04 INFO - 19:01:04 INFO - GPU: UNKNOWN 19:01:04 INFO - 19:01:04 INFO - Crash reason: EXC_BAD_ACCESS / EXC_I386_GPFLT 19:01:04 INFO - Crash address: 0x0 19:01:04 INFO - Process uptime: 327 seconds 19:01:04 INFO - 19:01:04 INFO - Thread 63 (crashed) 19:01:04 INFO - 0 XUL!vpx_sum_squares_2d_i16_nxn_sse2 [sum_squares_sse2.c:2ba41123a4e22b39ec064e2411f60a8d9e968ae5 : 0 + 0x26] 19:01:04 INFO - rax = 0x0000000120fe50a8 rdx = 0x0000000000000003 19:01:04 INFO - rcx = 0x0000000120fe5098 rbx = 0x0000000120fe50a0 19:01:04 INFO - rsi = 0x0000000000000000 rdi = 0x0000000120fe5090 19:01:04 INFO - rbp = 0x000000012ca68620 rsp = 0x000000012ca685f8 19:01:04 INFO - r8 = 0x0000000000000040 r9 = 0x0000000000000003 19:01:04 INFO - r10 = 0x0000000120fe50c8 r11 = 0x0000000120fe50c0 19:01:04 INFO - r12 = 0x0000000120fe50b0 r13 = 0x000000000000000c 19:01:04 INFO - r14 = 0x0000000120fe50b8 r15 = 0x0000000000000000 19:01:04 INFO - rip = 0x00000001050a6505 19:01:04 INFO - Found by: given as instruction pointer in context 19:01:04 INFO - 1 XUL!block_rd_txfm [sum_squares_sse2.c:2ba41123a4e22b39ec064e2411f60a8d9e968ae5 : 126 + 0x5] 19:01:04 INFO - rbp = 0x000000012ca68730 rsp = 0x000000012ca68630 19:01:04 INFO - rip = 0x000000010505b714 19:01:04 INFO - Found by: previous frame's frame pointer 19:01:04 INFO - 2 XUL!super_block_uvrd [vp9_blockd.c:2ba41123a4e22b39ec064e2411f60a8d9e968ae5 : 69 + 0x22] 19:01:04 INFO - rbp = 0x000000012ca68870 rsp = 0x000000012ca68740 19:01:04 INFO - rip = 0x000000010505a982 19:01:04 INFO - Found by: previous frame's frame pointer 19:01:04 INFO - 3 XUL!rd_pick_intra_sbuv_mode [vp9_rdopt.c:2ba41123a4e22b39ec064e2411f60a8d9e968ae5 : 1369 + 0x22] 19:01:04 INFO - rbp = 0x000000012ca68900 rsp = 0x000000012ca68880 19:01:04 INFO - rip = 0x000000010504e5e6 19:01:04 INFO - Found by: previous frame's frame pointer 19:01:04 INFO - 4 XUL!vp9_rd_pick_intra_mode_sb [vp9_rdopt.c:2ba41123a4e22b39ec064e2411f60a8d9e968ae5 : 2853 + 0x12] 19:01:04 INFO - rbp = 0x000000012ca689f0 rsp = 0x000000012ca68910 19:01:04 INFO - rip = 0x000000010504cfbc 19:01:04 INFO - Found by: previous frame's frame pointer 19:01:04 INFO - 5 XUL!nonrd_pick_sb_modes [vp9_encodeframe.c:2ba41123a4e22b39ec064e2411f60a8d9e968ae5 : 3193 + 0x1f] 19:01:04 INFO - rbp = 0x000000012ca68af0 rsp = 0x000000012ca68a00 19:01:04 INFO - rip = 0x0000000104ff9333 19:01:04 INFO - Found by: previous frame's frame pointer
Flags: needinfo?(mh+mozilla)
Depends on: 1476174
(In reply to Raul Gurzau (:RaulGurzau) from comment #10) > M(bc3) failure: > https://treeherder.mozilla.org/logviewer. > html#?job_id=188485738&repo=autoland&lineNumber=1811 This one is actually a red herring. While it did happens on retriggers of the same build, it didn't happen on any of the subsequent builds between the landing of this bug and its backout.
Flags: needinfo?(mh+mozilla)
Depends on: 1478269
Depends on: 1478293
Depends on: 1478917
Depends on: 1485503
Backed out changeset c248b33135af (bug 1473786) for failures at browser/base/content/test/static/browser_all_files_referenced.js Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/87a5f1f234e5d4a18f4c0d0945988b3561a503f2 Push with failures:https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=9481b9ecaf2f691125d4c19f33aafe9037b16d06 Log link: https://treeherder.mozilla.org/logviewer.html#?job_id=197515798&repo=mozilla-inbound&lineNumber=1838 Log snippet: 17:34:39 INFO - TEST-START | browser/base/content/test/static/browser_all_files_referenced.js 17:34:49 INFO - TEST-INFO | started process screencapture 17:34:49 INFO - TEST-INFO | screencapture: exit 0 17:34:49 INFO - Buffered messages logged at 17:34:39 17:34:49 INFO - Entering test bound checkAllTheFiles 17:34:49 INFO - Buffered messages logged at 17:34:49 17:34:49 INFO - indirectly whitelisted file: chrome://marionette/content/test_dialog.dtd used from chrome://marionette/content/test_dialog.xul 17:34:49 INFO - indirectly whitelisted file: chrome://global-platform/locale/intl.properties used from resource://gre/greprefs.js 17:34:49 INFO - indirectly whitelisted file: chrome://marionette/content/test.xul used from chrome://marionette/content/test_anonymous_content.xul 17:34:49 INFO - indirectly whitelisted file: chrome://marionette/content/test_nested_iframe.xul used from chrome://marionette/content/test.xul 17:34:49 INFO - indirectly whitelisted file: chrome://marionette/content/test2.xul used from chrome://marionette/content/test.xul,chrome://marionette/content/test_nested_iframe.xul 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/addonutils.js used from resource://services-sync/engines/addons.js 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/Promise-backend.js used from resource://gre/modules/Promise.jsm,resource://devtools/shared/worker/loader.js,resource://devtools/shared/Loader.jsm 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/engines/clients.js used from resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: chrome://pippki/content/resetpassword.js used from chrome://pippki/content/resetpassword.xul 17:34:49 INFO - indirectly whitelisted file: chrome://global/content/accessibility/content-script.js used from resource://gre/modules/accessibility/AccessFu.jsm 17:34:49 INFO - indirectly whitelisted file: chrome://global/content/remote-test-ipc.js used from chrome://global/content/test-ipc.xul 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/telemetry.js used from resource://services-sync/bookmark_repair.js,resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/stages/enginesync.js used from resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/addonsreconciler.js used from resource://services-sync/engines/addons.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/collection_validator.js used from resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/passwords.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/policies.js used from resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/bookmark_validator.js used from resource://services-sync/engines/bookmarks.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/browserid_identity.js used from resource://services-sync/telemetry.js,resource://services-sync/status.js 17:34:49 INFO - indirectly whitelisted file: resource://services-common/tokenserverclient.js used from resource://services-sync/browserid_identity.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/status.js used from resource://services-sync/telemetry.js,resource://services-sync/policies.js,resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/collection_repair.js used from resource://services-sync/engines/clients.js,resource://services-sync/bookmark_repair.js,resource://services-sync/doctor.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/stages/declined.js used from resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: chrome://pippki/content/load_device.js used from chrome://pippki/content/load_device.xul 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/engines.js used from resource://services-sync/engines/clients.js,resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/history.js,resource://services-sync/engines/tabs.js,resource://services-sync/engines/bookmarks.js,resource://services-sync/engines/extension-storage.js,resource://services-sync/engines/passwords.js,resource://services-sync/engines/prefs.js,resource://services-sync/service.js,resource://formautofill/FormAutofillSync.jsm 17:34:49 INFO - indirectly whitelisted file: resource://services-common/logmanager.js used from resource://services-sync/policies.js 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/EventManager.jsm used from chrome://global/content/accessibility/content-script.js 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/Http.jsm used from resource://app/modules/translation/GoogleTranslator.jsm,resource://app/modules/translation/YandexTranslator.jsm,resource://app/modules/translation/BingTranslator.jsm 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Utils.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/Traversal.jsm,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/Presentation.jsm,resource://gre/modules/accessibility/AccessFu.jsm,resource://gre/modules/accessibility/OutputGenerator.jsm,resource://gre/modules/accessibility/ContentControl.jsm 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/SyncedBookmarksMirror.jsm used from resource://services-sync/engines/bookmarks.js 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Presentation.jsm used from resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/AccessFu.jsm,resource://gre/modules/accessibility/ContentControl.jsm 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/OutputGenerator.jsm used from resource://gre/modules/accessibility/Presentation.jsm 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Constants.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/Traversal.jsm,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/Utils.jsm,resource://gre/modules/accessibility/Presentation.jsm,resource://gre/modules/accessibility/OutputGenerator.jsm,resource://gre/modules/accessibility/ContentControl.jsm 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/ContentControl.jsm used from chrome://global/content/accessibility/content-script.js 17:34:49 INFO - indirectly whitelisted file: chrome://passwordmgr/content/recipes.json used from resource://gre/greprefs.js 17:34:49 INFO - indirectly whitelisted file: resource://formautofill/FormAutofillSync.jsm used from resource://services-sync/service.js 17:34:49 INFO - indirectly whitelisted file: chrome://global/locale/AccessFu.properties used from resource://gre/modules/accessibility/Utils.jsm 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/bookmark_repair.js used from resource://services-sync/collection_repair.js 17:34:49 INFO - indirectly whitelisted file: resource://services-sync/doctor.js used from resource://services-sync/bookmark_repair.js,resource://services-sync/stages/enginesync.js 17:34:49 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Traversal.jsm used from resource://gre/modules/accessibility/ContentControl.jsm 17:34:49 INFO - Buffered messages finished 17:34:49 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | there should be no unreferenced files - Got 4, expected 0 17:34:49 INFO - Stack trace: 17:34:49 INFO - chrome://mochikit/content/browser-test.js:test_is:1304 17:34:49 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:762 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1102 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1093 17:34:49 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:995 17:34:49 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 17:34:49 INFO - Not taking screenshot here: see the one that was previously logged 17:34:49 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | unreferenced file: chrome://browser/content/aboutNetError-new.xhtml - 17:34:49 INFO - Stack trace: 17:34:49 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:766 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1102 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1093 17:34:49 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:995 17:34:49 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 17:34:49 INFO - Not taking screenshot here: see the one that was previously logged 17:34:49 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | file only referenced from unreferenced files: chrome://browser/content/illustrations/blue-berror.svg referenced from chrome://browser/skin/aboutNetError-new.css - 17:34:49 INFO - Stack trace: 17:34:49 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:772 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1102 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1093 17:34:49 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:995 17:34:49 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 17:34:49 INFO - Not taking screenshot here: see the one that was previously logged 17:34:49 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | file only referenced from unreferenced files: chrome://browser/skin/aboutNetError-new.css referenced from chrome://browser/content/aboutNetError-new.xhtml - 17:34:49 INFO - Stack trace: 17:34:49 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:772 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1102 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1093 17:34:49 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:995 17:34:49 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 17:34:49 INFO - Not taking screenshot here: see the one that was previously logged 17:34:49 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | file only referenced from unreferenced files: chrome://browser/skin/cert-error-new.svg referenced from chrome://browser/skin/aboutNetError-new.css - 17:34:49 INFO - Stack trace: 17:34:49 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:772 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1102 17:34:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1093 17:34:49 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:995 17:34:49 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 17:34:49 INFO - ignored unused whitelist entry: resource://app/blocklist.xml 17:34:49 INFO - ignored unused whitelist entry: resource://gre/gmp-clearkey/0.1/manifest.json 17:34:49 INFO - ignored unused whitelist entry: resource://gre/res/test.properties 17:34:49 INFO - missing file: resource://gre/modules/commonjs/toolkit/loader.js 17:34:49 INFO - missing file: chrome://help/content/help.js referenced from chrome://pippki/content/protectedAuth.xul 17:34:49 INFO - missing file: resource://gre/modules/GeckoViewTelemetryController.jsm referenced from resource://gre/components/ContentProcessSingleton.js 17:34:49 INFO - missing file: resource://services-sync/)%20==%200)%20%7B referenced from resource://services-sync/addonutils.js 17:34:49 INFO - missing file: resource://gre/modules/worker/myModule.js referenced from resource://gre/modules/workers/require.js 17:34:49 INFO - missing file: resource://gre/modules/workers/SimpleTest.js referenced from resource://gre/modules/workers/require.js 17:34:49 INFO - missing file: resource://gre/modules/workers/Logger.js referenced from resource://gre/modules/workers/require.js 17:34:49 INFO - missing file: resource://gre/modules/WindowsRegistry.jsm referenced from resource://gre/components/nsUpdateService.js,resource://gre/modules/NativeManifests.jsm,resource://gre/modules/UpdateUtils.jsm,resource://gre/modules/TelemetryEnvironment.jsm,resource://app/components/nsBrowserGlue.js,resource://app/modules/MigrationUtils.jsm,resource://app/modules/ShellService.jsm 17:34:49 INFO - missing file: resource://gre/modules/glenn.htm referenced from resource://gre/modules/microformat-shiv.js
Flags: needinfo?(mh+mozilla)
I'm pretty sure it's an unrelated intermittent. It's gone 2 pushes down the road, and it's not the first time that I see it happen.
Flags: needinfo?(mh+mozilla)
Backed out for browser chrome failures on browser_all_files_referenced. Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=success&filter-classifiedState=unclassified&filter-searchStr=OS%20X%2010.10%20opt%20Mochitests%20with%20e10s%20test-macosx64%2Fopt-mochitest-browser-chrome-e10s-1%20M-e10s(bc1)&fromchange=87a5f1f234e5d4a18f4c0d0945988b3561a503f2&tochange=d1ded0e748012af9df9d358620dcb6c5c23f99d0&selectedJob=197541306 Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=197541306&repo=mozilla-inbound&lineNumber=1870 Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/d1ded0e748012af9df9d358620dcb6c5c23f99d0 21:52:51 INFO - TEST-START | browser/base/content/test/static/browser_all_files_referenced.js 21:53:02 INFO - TEST-INFO | started process screencapture 21:53:02 INFO - TEST-INFO | screencapture: exit 0 21:53:02 INFO - Buffered messages logged at 21:52:51 21:53:02 INFO - Entering test bound checkAllTheFiles 21:53:02 INFO - Buffered messages logged at 21:53:02 21:53:02 INFO - indirectly whitelisted file: chrome://marionette/content/test_dialog.dtd used from chrome://marionette/content/test_dialog.xul 21:53:02 INFO - indirectly whitelisted file: chrome://global-platform/locale/intl.properties used from resource://gre/greprefs.js 21:53:02 INFO - indirectly whitelisted file: chrome://marionette/content/test.xul used from chrome://marionette/content/test_anonymous_content.xul 21:53:02 INFO - indirectly whitelisted file: chrome://marionette/content/test_nested_iframe.xul used from chrome://marionette/content/test.xul 21:53:02 INFO - indirectly whitelisted file: chrome://marionette/content/test2.xul used from chrome://marionette/content/test.xul,chrome://marionette/content/test_nested_iframe.xul 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/addonutils.js used from resource://services-sync/engines/addons.js 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/Promise-backend.js used from resource://gre/modules/Promise.jsm,resource://devtools/shared/worker/loader.js,resource://devtools/shared/Loader.jsm 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/engines/clients.js used from resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: chrome://pippki/content/resetpassword.js used from chrome://pippki/content/resetpassword.xul 21:53:02 INFO - indirectly whitelisted file: chrome://global/content/accessibility/content-script.js used from resource://gre/modules/accessibility/AccessFu.jsm 21:53:02 INFO - indirectly whitelisted file: chrome://global/content/remote-test-ipc.js used from chrome://global/content/test-ipc.xul 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/telemetry.js used from resource://services-sync/bookmark_repair.js,resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/stages/enginesync.js used from resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/addonsreconciler.js used from resource://services-sync/engines/addons.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/collection_validator.js used from resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/passwords.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/policies.js used from resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/bookmark_validator.js used from resource://services-sync/engines/bookmarks.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/browserid_identity.js used from resource://services-sync/telemetry.js,resource://services-sync/status.js 21:53:02 INFO - indirectly whitelisted file: resource://services-common/tokenserverclient.js used from resource://services-sync/browserid_identity.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/status.js used from resource://services-sync/telemetry.js,resource://services-sync/policies.js,resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/collection_repair.js used from resource://services-sync/engines/clients.js,resource://services-sync/bookmark_repair.js,resource://services-sync/doctor.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/stages/declined.js used from resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: chrome://pippki/content/load_device.js used from chrome://pippki/content/load_device.xul 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/engines.js used from resource://services-sync/engines/clients.js,resource://services-sync/engines/addons.js,resource://services-sync/engines/forms.js,resource://services-sync/engines/history.js,resource://services-sync/engines/tabs.js,resource://services-sync/engines/bookmarks.js,resource://services-sync/engines/extension-storage.js,resource://services-sync/engines/passwords.js,resource://services-sync/engines/prefs.js,resource://services-sync/service.js,resource://formautofill/FormAutofillSync.jsm 21:53:02 INFO - indirectly whitelisted file: resource://services-common/logmanager.js used from resource://services-sync/policies.js 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/EventManager.jsm used from chrome://global/content/accessibility/content-script.js 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/Http.jsm used from resource://app/modules/translation/GoogleTranslator.jsm,resource://app/modules/translation/YandexTranslator.jsm,resource://app/modules/translation/BingTranslator.jsm 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Utils.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/Traversal.jsm,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/Presentation.jsm,resource://gre/modules/accessibility/AccessFu.jsm,resource://gre/modules/accessibility/OutputGenerator.jsm,resource://gre/modules/accessibility/ContentControl.jsm 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/SyncedBookmarksMirror.jsm used from resource://services-sync/engines/bookmarks.js 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Presentation.jsm used from resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/AccessFu.jsm,resource://gre/modules/accessibility/ContentControl.jsm 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/OutputGenerator.jsm used from resource://gre/modules/accessibility/Presentation.jsm 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Constants.jsm used from chrome://global/content/accessibility/content-script.js,resource://gre/modules/accessibility/Traversal.jsm,resource://gre/modules/accessibility/EventManager.jsm,resource://gre/modules/accessibility/Utils.jsm,resource://gre/modules/accessibility/Presentation.jsm,resource://gre/modules/accessibility/OutputGenerator.jsm,resource://gre/modules/accessibility/ContentControl.jsm 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/ContentControl.jsm used from chrome://global/content/accessibility/content-script.js 21:53:02 INFO - indirectly whitelisted file: chrome://passwordmgr/content/recipes.json used from resource://gre/greprefs.js 21:53:02 INFO - indirectly whitelisted file: resource://formautofill/FormAutofillSync.jsm used from resource://services-sync/service.js 21:53:02 INFO - indirectly whitelisted file: chrome://global/locale/AccessFu.properties used from resource://gre/modules/accessibility/Utils.jsm 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/bookmark_repair.js used from resource://services-sync/collection_repair.js 21:53:02 INFO - indirectly whitelisted file: resource://services-sync/doctor.js used from resource://services-sync/bookmark_repair.js,resource://services-sync/stages/enginesync.js 21:53:02 INFO - indirectly whitelisted file: resource://gre/modules/accessibility/Traversal.jsm used from resource://gre/modules/accessibility/ContentControl.jsm 21:53:02 INFO - Buffered messages finished 21:53:02 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | there should be no unreferenced files - Got 4, expected 0 21:53:02 INFO - Stack trace: 21:53:02 INFO - chrome://mochikit/content/browser-test.js:test_is:1304 21:53:02 INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:762 21:53:02 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1102 21:53:02 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1093 21:53:02 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:995 21:53:02 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 21:53:02 INFO - Not taking screenshot here: see the one that was previously logged Florian can you take a look over this test and see what's going on here? Thank you.
Flags: needinfo?(florian)
Specifically, it's complaining about: TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | unreferenced file: chrome://browser/content/aboutNetError-new.xhtml - But in fact, I don't understand how a) that's relevant to enabling LTO b) is not already an error, since apparently, the only place the file is referenced is C++ code (and conditionally, through a pref)
So this is interesting. The LTOed libxul does *not* contain the string "aboutNetError-new", *but* the new cert error page *does* display correctly. Looking at the code of the AboutRedirector::NewChannel, this is the assembly that corresponds to url.AssignASCII("chrome://browser/content/aboutNetError-new.xhtml"): 0x10678cb0b <+2347>: movl -0xd8(%rbp), %edx 0x10678cb11 <+2353>: leaq -0xe0(%rbp), %rdi 0x10678cb18 <+2360>: xorl %esi, %esi 0x10678cb1a <+2362>: movl $0x30, %ecx 0x10678cb1f <+2367>: callq 0x102266c00 ; nsTSubstring<char>::ReplacePrep(unsigned int, unsigned int, unsigned int) 0x10678cb24 <+2372>: testb %al, %al 0x10678cb26 <+2374>: je 0x10678cf0b ; <+3371> 0x10678cb2c <+2380>: movq -0xe0(%rbp), %rax 0x10678cb33 <+2387>: movabsq $0x6c6d7468782e7765, %rcx ; imm = 0x6C6D7468782E7765 0x10678cb3d <+2397>: movq %rcx, 0x28(%rax) 0x10678cb41 <+2401>: movabsq $0x6e2d726f72724574, %rcx ; imm = 0x6E2D726F72724574 0x10678cb4b <+2411>: movq %rcx, 0x20(%rax) 0x10678cb4f <+2415>: movabsq $0x654e74756f62612f, %rcx ; imm = 0x654E74756F62612F 0x10678cb59 <+2425>: movq %rcx, 0x18(%rax) 0x10678cb5d <+2429>: movabsq $0x746e65746e6f632f, %rcx ; imm = 0x746E65746E6F632F 0x10678cb67 <+2439>: movq %rcx, 0x10(%rax) 0x10678cb6b <+2443>: movabsq $0x726573776f72622f, %rcx ; imm = 0x726573776F72622F 0x10678cb75 <+2453>: movq %rcx, 0x8(%rax) 0x10678cb79 <+2457>: movabsq $0x2f3a656d6f726863, %rcx ; imm = 0x2F3A656D6F726863 0x10678cb83 <+2467>: movq %rcx, (%rax) (...) Guess what all those immediate values are... yes, the string contents, in little endian, and split in parts 8 bytes each: $ echo -n chrome://browser/content/aboutNetError-new.xhtml | hd 00000000 63 68 72 6f 6d 65 3a 2f 2f 62 72 6f 77 73 65 72 |chrome://browser| 00000010 2f 63 6f 6e 74 65 6e 74 2f 61 62 6f 75 74 4e 65 |/content/aboutNe| 00000020 74 45 72 72 6f 72 2d 6e 65 77 2e 78 68 74 6d 6c |tError-new.xhtml| 00000030 Since the instructions need to be encoded, and since there are other instructions intertwined, the string thus doesn't appear clearly in the binary, so the test fails. FWIW, this is what it looks like in the binary: 04c23b30 ff ff ff 48 b9 65 77 2e 78 68 74 6d 6c 48 89 48 |...H.ew.xhtmlH.H| 04c23b40 28 48 b9 74 45 72 72 6f 72 2d 6e 48 89 48 20 48 |(H.tError-nH.H H| 04c23b50 b9 2f 61 62 6f 75 74 4e 65 48 89 48 18 48 b9 2f |./aboutNeH.H.H./| 04c23b60 63 6f 6e 74 65 6e 74 48 89 48 10 48 b9 2f 62 72 |contentH.H.H./br| 04c23b70 6f 77 73 65 72 48 89 48 08 48 b9 63 68 72 6f 6d |owserH.H.H.chrom| 04c23b80 65 3a 2f 48 89 08 83 bd 28 ff ff ff 00 0f 85 90 |e:/H....(.......| So, split in 8 bytes chunks, with the first chunk last, and with 488948xx49b9 in between.
The browser_all_files_referenced.js test partly relies on finding chrome and resource urls in the libxul binary, but with LTO, clang actually replaces AssignASCII calls to inline copies using immediate values, like this: movabsq $0x726573776f72622f, %rcx movq %rcx, 0x8(%rax) movabsq $0x2f3a656d6f726863, %rcx movq %rcx, (%rax) Those immediate values are, respectively, "/browser" and "chrome:/". Somehow, the aboutNetError-new url is the only one where that causes problems, which is kind of surprising, in a sense. It's also in a special position, being temporary until aboutNetError is actually replaced and the new about:certerror rides the train. Chances are, if we add an exception for aboutNetError-new in the browser_all_files_referenced.js test itself, it would remain there after the new about:certerror rides the train. However, using the somehow circumvoluted Assign(NS_LITERAL_CSTRING()) construct, we can prevent clang from LTOing the string into pieces. And there are better changes the code will go away when the new about:certerror rides the train.
Attachment #9006510 - Attachment description: Bug 1473786 - Avoid the aboutNetError-new.xhtml url being smashed into pieced by compiler optimizations. r?felipe → Bug 1473786 - Avoid the aboutNetError-new.xhtml url being smashed into pieces by compiler optimizations. r?felipe
Comment on attachment 9006510 [details] Bug 1473786 - Avoid the aboutNetError-new.xhtml url being smashed into pieces by compiler optimizations. r?felipe :Felipe Gomes (needinfo me!) has approved the revision.
Attachment #9006510 - Flags: review+
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/105ab876a6a2 Avoid the aboutNetError-new.xhtml url being smashed into pieces by compiler optimizations. r=felipe https://hg.mozilla.org/integration/mozilla-inbound/rev/a9caa2a0b5ed Enable LTO on macOS builds. r=ted
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Depends on: 1491233
This is in the 64 release notes as "Improved performance for Mac and Linux users, by enabling link time optimization (Clang LTO). (Clang LTO was enabled for Windows users in Firefox 63.)"
Alias: macOS-LTO
Blocks: 1530058
OS: Unspecified → macOS
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: