Closed Bug 1821753 Opened 2 years ago Closed 2 years ago

Incremental building very slow after modifying a moz.build file

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1822590

People

(Reporter: janv, Unassigned)

References

(Blocks 1 open bug)

Details

This can be easily reproduced by changing any moz.build file or even an ini file for tests, for example:

diff --git a/dom/fs/test/xpcshell/xpcshell.ini b/dom/fs/test/xpcshell/xpcshell.ini
--- a/dom/fs/test/xpcshell/xpcshell.ini
+++ b/dom/fs/test/xpcshell/xpcshell.ini
@@ -12,3 +12,5 @@ head = head.js
 [test_syncAccessHandle_worker.js]
 [test_writableFileStream.js]
 [test_writableFileStream_worker.js]
+
+#

Aftert issuing ./mach build I get:

./mach build
 0:00.41 Clobber not needed.
 /Users/jvarga/Projects/Mozilla15/obj-ff-nightly-debug-optimized/backend.RecursiveMakeBackend is out of date with respect to /Users/jvarga/Projects/Mozilla15/src/dom/fs/test/xpcshell/xpcshell.ini
Build configuration changed. Regenerating backend.
 0:00.51 /Users/jvarga/Projects/Mozilla15/obj-ff-nightly-debug-optimized/_virtualenvs/build/bin/python /Users/jvarga/Projects/Mozilla15/obj-ff-nightly-debug-optimized/config.status
Reticulating splines...
 0:00.36 File already read. Skipping: /Users/jvarga/Projects/Mozilla15/src/intl/components/moz.build
 0:00.61 File already read. Skipping: /Users/jvarga/Projects/Mozilla15/src/gfx/angle/targets/angle_common/moz.build
Finished reading 2230 moz.build files in 1.16s
Read 57 gyp files in parallel contributing 0.00s to total wall time
Processed into 15087 build config descriptors in 2.17s
RecursiveMake backend executed in 1.27s
  4784 total backend files; 0 created; 1 updated; 4783 unchanged; 0 deleted; 29 -> 1797 Makefile
FasterMake backend executed in 0.14s
  12 total backend files; 0 created; 1 updated; 11 unchanged; 0 deleted
Total wall time: 4.86s; CPU time: 3.82s; Efficiency: 79%; Untracked: 0.12s
 0:05.63 Adding make options from /Users/jvarga/Mozilla/mozconfig-ff-nightly-debug-optimized
    MOZ_OBJDIR=/Users/jvarga/Projects/Mozilla15/obj-ff-nightly-debug-optimized
    OBJDIR=/Users/jvarga/Projects/Mozilla15/obj-ff-nightly-debug-optimized
    FOUND_MOZCONFIG=/Users/jvarga/Mozilla/mozconfig-ff-nightly-debug-optimized
    export FOUND_MOZCONFIG
  Parallelism determined by memory: using 10 jobs for 10 cores based on 64.0 GiB RAM and estimated job size of 1.0 GiB
 0:05.63 /usr/bin/make -f client.mk -j10 -s
 0:05.82 Elapsed: 0.00s; From dist/private: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:05.82 Elapsed: 0.00s; From dist/public: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:05.83 Elapsed: 0.01s; From dist/xpi-stage: Kept 89 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:05.95 Elapsed: 0.13s; From _tests: Kept 1440 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:05.97 Elapsed: 0.15s; From dist/bin: Kept 2748 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:06.05 Elapsed: 0.23s; From dist/include: Kept 6805 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:06.09 ./buildid.h.stub
 0:06.09 ./source-repo.h.stub
 0:06.39 ./application.ini.stub
 0:06.39 ./ffi.h.stub
 0:06.40 ./cbindgen-metadata.json.stub
 0:06.40 ./IsCombiningDiacritic.h.stub
 0:06.40 ./GleanMetrics.h.stub
 0:06.40 ./GleanPings.h.stub
 0:06.40 ./EventGIFFTMap.h.stub
 0:06.40 ./HistogramGIFFTMap.h.stub
 0:06.40 ./ScalarGIFFTMap.h.stub
 0:06.40 ./factory.rs.stub
 0:06.52 ./application.ini.h.stub
 0:08.55 toolkit/library/rust/force-cargo-library-build
 0:08.57 accessible/aom
 0:08.59 accessible/base
 0:08.59 accessible/html
 0:08.59 accessible/generic
 0:08.59 accessible/ipc
 0:08.60 accessible/ipc/other
 0:08.60 browser/app
 0:08.62 accessible/xpcom
 0:08.62 accessible/xul
 0:10.89    Compiling firefox-on-glean v0.1.0 (/Users/jvarga/Projects/Mozilla15/src/toolkit/components/glean/api)
 0:11.91 browser/components/about
 0:13.11    Compiling style v0.0.1 (/Users/jvarga/Projects/Mozilla15/src/servo/components/style)
 0:14.20 browser/components/shell
 0:14.63 caps
 0:15.09 chrome
 0:16.78 devtools/shared/heapsnapshot
 0:17.31 docshell/base
 0:17.37    Compiling wr_glyph_rasterizer v0.1.0 (/Users/jvarga/Projects/Mozilla15/src/gfx/wr/wr_glyph_rasterizer)
 0:18.20    Compiling jog v0.1.0 (/Users/jvarga/Projects/Mozilla15/src/toolkit/components/glean/bindings/jog)
 0:19.07    Compiling webrender v0.62.0 (/Users/jvarga/Projects/Mozilla15/src/gfx/wr/webrender)
 0:20.69    Compiling fog_control v0.1.0 (/Users/jvarga/Projects/Mozilla15/src/toolkit/components/glean)
 0:20.93 docshell/shistory
 0:21.51 dom/animation
 0:23.29 dom/audiochannel
 0:23.40 dom/base
 0:24.97 dom/base/test/gtest
 0:25.27    Compiling geckoservo v0.0.1 (/Users/jvarga/Projects/Mozilla15/src/servo/ports/geckolib)
 0:25.59 dom/battery
 0:26.77 dom/bindings
 0:27.97 dom/bindings/test

The things are actually even worse, because when I undo the change and issue ./mach build again, it starts slowly rebuilding the same stuff again, ignoring the fact that it was already built with sccache before.

Might be the same as bug 1822590, which has more information.

Pretty sure it is.

Status: NEW → RESOLVED
Closed: 2 years ago
Duplicate of bug: 1822590
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.