Closed Bug 1577517 Opened 5 years ago Closed 5 years ago

Building Firefox seems to not actually complete properly but returns a success status

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox71 fixed)

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: bzbarsky, Assigned: ahal)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

This is a recent-ish regression on Mac; I haven't built on Mac in about a month or two until yesterday, so I think sometime in there.

The symptoms are that I run "mach build" and the build kinda finishes: it gets to linking XUL and processing jars, then throws an exception about terminal-notifier, which I don't recall seeing before, even though that code is fairly old. It does look like the code around that exception changed in bug 1563797 back in July, so maybe that's when this started?

I'll attach a log of what that looks like, but the upshot is that the build claims to complete, albeit with a bunch of exception stack spew, and returns a success status for shell purposes (so doing "mach build && echo OK" echoes "OK").

But now if I run the build again, without changing anything at all, instead of being a no-op it rebuilds various Rust stuff. If I do this a few times, eventually the build completes without building any Rust stuff anymore, and then I also don't get the terminal-notifier exception.

Though maybe it does and this time we manage to JSON serialiaze it?

Though again, once we get to this stage no more Rust stuff gets built and I don't get those stack traces logged, until I change some code and rebuild... and then the whole thing starts happening again for a bit.

Rust rebuilding unnecessarily may not be related and may be due to an older version of sccache interacting badly with a newer rustc. I'm landing a version check for this so people don't hit it anymore, but upgrading or disabling sccache for now may fix that.

Andrew, does that exception seem like it could be related to recent python 3 upgrade work?

Flags: needinfo?(ahal)

I'm not using sccache, fwiw. I do have a newer rustc (1.37).

The build still runs with Python 2, so I wouldn't expect many differences there. I'd definitely be more suspicious of bug 1563797. Since this is a bug in an error case, there's also a good chance it was regressed long ago (or was broken to begin with) and no one noticed until now.

Boris, can you confirm whether terminal-notifier is on your $PATH? If not, I bet installing it will fix the issue. Either way we should fix the error handling here.

Flags: needinfo?(ahal)

Boris, can you confirm whether terminal-notifier is on your $PATH?

It's not. I added MOZ_NOSPAM to my environment to fix things for the moment.

Oh, this is a regression from:
https://hg.mozilla.org/mozilla-central/rev/983a86c020c9

So it was the Python 3 work after all.

Assignee: nobody → ahal
Status: NEW → ASSIGNED
Regressed by: 1473498
Keywords: regression

Kind of odd that the site of the log call in mozbuild.base didn't show up in the stack :/

Pushed by mshal@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/19e1fe1adc3c [mozbuild] Fix bug in error handling case when 'terminal-notifier' is not installed, r=firefox-build-system-reviewers,mshal
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: