IOError: Missing files when running `mach try`
Categories
(Firefox Build System :: General, defect, P1)
Tracking
(firefox-esr68 unaffected, firefox71 unaffected, firefox72 unaffected, firefox73 fixed)
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox71 | --- | unaffected |
firefox72 | --- | unaffected |
firefox73 | --- | fixed |
People
(Reporter: ahal, Assigned: ahal)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
Smaug was having issues generating the taskgraph for ./mach try chooser
(note this will also affect ./mach try fuzzy
):
https://paste.mozilla.org/t71UhKQp
The traceback shows the issue is happening during test resolving, so this is fallout from the most recent landing in bug 1583353. I don't seem to be able to reproduce, but I'll take a deeper look.
Assignee | ||
Comment 1•5 years ago
|
||
I know what's happening:
- As of bug 1583353, taskgraph generation invokes
reader.all_mozbuild_paths
:
https://searchfox.org/mozilla-central/rev/923eec8d2fb8078ebc7a33a9e1ce73eac01f7446/python/mozbuild/mozbuild/frontend/reader.py#896 - This function in turn uses a
FileFinder
that tries to exclude object directories that might appear in you srcdir:
https://searchfox.org/mozilla-central/rev/923eec8d2fb8078ebc7a33a9e1ce73eac01f7446/python/mozbuild/mozbuild/frontend/reader.py#846 - However, your object directory doesn't start with
obj*
, so the FileFinder is erroneously searching it formoz.build
files. - The objdir contains a
<objdir>/dist/bin/browser/features/screenshots@mozilla.org/test/browser/moz.build
file which registers thebrowser.ini
file that the traceback is complaining about.
While I figure out a way to solve this, you have two short term workarounds:
A) Add a line to the list in 2) that matches your objdirs.
B) Rename/move your objdirs so they start with obj*
(e.g, move them to <srcdir>/objdirs/<objdir>
)
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
Currently BuildReader._relevant_mozbuild_finder attempted to exclude objdirs by
ignoring the pattern 'obj*'. However this can cause problems for developers who
don't prefix their objdirs with the string 'obj'. This attempts to ignore all
objdirs by looking for 'config.status' files in the topsrcdir.
This wasn't a huge issue before because BuildReader._relevant_mozbuild_finder
was only used in a handful of obscure edge cases. But now it's being invoked by
the taskgraph and consequently |mach try|. So we'll see this issue pop up for
people more frequently.
Comment 3•5 years ago
|
||
FWIW, I just used the patch so that I could push something to tryserver. Seemed to work.
Thanks :)
Updated•5 years ago
|
Comment 5•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Updated•5 years ago
|
Description
•