Closed
Bug 1382511
Opened 8 years ago
Closed 8 years ago
Consider adding --output-sync=line to our make invocation
Categories
(Firefox Build System :: General, enhancement)
Firefox Build System
General
Tracking
(firefox57 fixed)
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: chmanchester, Assigned: chmanchester)
References
(Depends on 1 open bug)
Details
Attachments
(1 file)
I was using a script to scrape build logs and compare command lines and found a lot of uninteresting differences between builds due to interleaved output between make processes. Perhaps a little surprisingly, adding `MAKEFLAGS += --output-sync=line` fixes these differences. It may be worth adding this in general.
Comment 1•8 years ago
|
||
See previous discussion around --output-sync in bug 1285254.
Depends on: 1285254
Assignee | ||
Comment 2•8 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #1)
> See previous discussion around --output-sync in bug 1285254.
The issue there seems to be interleaving between multiple make invocations, which I don't think this would solve. This appears to address interleaving between worker processes spawned by make.
Comment 3•8 years ago
|
||
Actually, --output-sync=line might fix both issues.
Comment hidden (mozreview-request) |
Comment 6•8 years ago
|
||
mozreview-review |
Comment on attachment 8888480 [details]
Bug 1382511 - Add --output-sync=line to MOZ_MAKE_FLAGS where available.
https://reviewboard.mozilla.org/r/159432/#review165220
Consider make 4.2 is out, at some point we'll probably want to add make version sniffing to configure and set a config variable for whether --output-sync is supported.
I'm not telling you to scope bloat this patch. But it would be a nice addition!
Comment 7•8 years ago
|
||
mozreview-review |
Comment on attachment 8888480 [details]
Bug 1382511 - Add --output-sync=line to MOZ_MAKE_FLAGS where available.
https://reviewboard.mozilla.org/r/159432/#review166082
::: client.mk:78
(Diff revision 1)
> ifdef CONFIG_GUESS_SCRIPT
> CONFIG_GUESS := $(shell $(CONFIG_GUESS_SCRIPT))
> endif
>
> +ifeq (4.0,$(firstword $(sort 4.0 $(MAKE_VERSION))))
> +MAKEFLAGS += --output-sync=line
Should probably be MOZ_MAKE_FLAGS
Attachment #8888480 -
Flags: review?(mh+mozilla)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 10•8 years ago
|
||
mozreview-review |
Comment on attachment 8888480 [details]
Bug 1382511 - Add --output-sync=line to MOZ_MAKE_FLAGS where available.
https://reviewboard.mozilla.org/r/159432/#review168652
Attachment #8888480 -
Flags: review?(mh+mozilla) → review+
Comment 11•8 years ago
|
||
Pushed by cmanchester@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ae6577d57698
Add --output-sync=line to MOZ_MAKE_FLAGS where available. r=glandium
Comment 12•8 years ago
|
||
as a note the compiler warnings are increased with this change:
== Change summary for alert #8470 (as of August 01 2017 18:22 UTC) ==
Regressions:
1% compiler warnings summary linux64 asan asan debug 11,657.33 -> 11,809.00
1% compiler warnings summary linux64 asan asan opt 9,491.58 -> 9,561.08
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=8470
Assignee | ||
Comment 13•8 years ago
|
||
(In reply to Joel Maher ( :jmaher) (UTC-9) from comment #12)
> as a note the compiler warnings are increased with this change:
> == Change summary for alert #8470 (as of August 01 2017 18:22 UTC) ==
>
> Regressions:
>
> 1% compiler warnings summary linux64 asan asan debug 11,657.33 ->
> 11,809.00
> 1% compiler warnings summary linux64 asan asan opt 9,491.58 ->
> 9,561.08
>
> For up to date results, see:
> https://treeherder.mozilla.org/perf.html#/alerts?id=8470
The warnings database checks each line of build output against a regex, so I guess we were missing some before due to interleaving.
Comment 14•8 years ago
|
||
Yes, historically the compiler warnings parser has been sensitive to interleaving.
I can't remember if it attempts to parse multiple lines, but some compiler warning output spans multiple lines and interleaved output that isn't synchronized at the process level (in terms of a make recipe's view of a process), then things get weird.
Comment 15•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox57:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Comment 16•8 years ago
|
||
https://hg.mozilla.org/projects/date/rev/ae6577d5769856cc5c899d42cf3b52d4dd1fef55
Bug 1382511 - Add --output-sync=line to MOZ_MAKE_FLAGS where available. r=glandium
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•