Closed Bug 1601872 Opened 1 year ago Closed 1 year ago

./mach build yields TypeError: argument of type 'NoneType' is not iterable

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox-esr68 unaffected, firefox71 unaffected, firefox72 unaffected, firefox73 fixed)

RESOLVED FIXED
mozilla73
Tracking Status
firefox-esr68 --- unaffected
firefox71 --- unaffected
firefox72 --- unaffected
firefox73 --- fixed

People

(Reporter: zjz, Assigned: away)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

The complete error message was:


Error running mach:

['build']

The error occurred in the implementation of the invoked mach command.

This should never occur and is likely a bug in the implementation of that
command.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

TypeError: argument of type 'NoneType' is not iterable

File "/home/zjz/Documents/firefox-source/python/mozbuild/mozbuild/build_commands.py", line 82, in build
doing_pgo = 'MOZ_PGO=1' in mozconfig['configure_args']

Do you have something special in your configuration?

(In reply to Sylvestre Ledru [:Sylvestre] from comment #1)

Do you have something special in your configuration?

Literally nothing.

Regressed by: 1563403

I encounter the same issue when calling ./mach on a fresh Ubuntu 19.10 VM.

Same error

Micheal, could you please have a look? Looks like it is breaking the build

Flags: needinfo?(mshal)
Keywords: regression

Can one of you please provide the full log output from after calling ./mach build to the return to shell. I suspect there may be more information in there that could help diagnose.

For me, that was the full log output before returning to shell.

Error running mach:

['build']
The error occurred in the implementation of the invoked mach command.

This should never occur and is likely a bug in the implementation of that
command.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

TypeError: argument of type 'NoneType' is not iterable

File "/home/manthan/mozilla-central/python/mozbuild/mozbuild/build_commands.py", line 82, in build
doing_pgo = 'MOZ_PGO=1' in mozconfig['configure_args']

I tried running ./mach busted and it gives the following output
Bug 1601872 - ./mach build yields TypeError: argument of type 'NoneType' is not iterable
Bug 1601140 - |mach vendor python| wants to remove Python 2 packages from requirements.txt
Bug 1543447 - Multiple minutes to dump a stack from NS_ASSERTION in mochitests and reftests on OS X - Set MOZ_DISABLE_STACK_FIX=1 to disable stack fixer
Bug 1598482 - Missing Taskcluster third_party dependencies make 'mach vendor python' hard to use
Bug 1596422 - ./mach lint does not work on MacOS 10.15 due to Python 3 virtualenv errors
Bug 1597810 - [mozbuild] ./mach configure misbehaves when pyenv is installed on the host
Bug 1597809 - [mozbuild] Pipenv misbehaves, mozbuild/test/configure fails when pyenv is installed on the host
Bug 1597864 - Cannot run mach bootstrap on esr-68
Bug 1597858 - Cannot run mach try on esr-68
Bug 1557535 - clang-format mercurial extension corrupts rebases
Bug 1581684 - Make mach mach completion <command> use the right Python
Bug 1584075 - ImportError: No module named which
Bug 1577908 - Mach driver runs misspelled commands with Python 3 and mach then corrects + executes it
Bug 1522931 - OSX SDK version check doesn't work when using default SDK
Bug 1490802 - mach bootstrap fails on windows with too long path for node module
Bug 1547040 - --try-test-paths isn't respected anymore
Bug 1564201 - mach fails when the objdir contains non-ascii characters
Bug 1556371 - |mach doc | command is not working
Bug 1548948 - |mach install| fails to start x86 emulator

Assignee: nobody → dmajor

If anyone is in a hurry to get unblocked while the fix lands, I believe you can work around this by using a mozconfig with an option that would have been default anyway, like ac_add_options --enable-tests.

Thank you for your advice

The specific command to work around:

echo "ac_add_options --enable-tests" > mozconfig

The patch runs fine! but when i am running ./mach build i am getting the following error
ERROR: Rust compiler 1.36.0 is too old.
0:03.68 To compile Rust language sources please install at least
0:03.68 version 1.37.0 of the 'rustc' toolchain and make sure it is
0:03.68 first in your path.
0:03.68 You can verify this by typing 'rustc --version'.
0:03.68 If you have the 'rustup' tool installed you can upgrade
0:03.68 to the latest release by typing 'rustup update'. The
0:03.68 installer is available from https://rustup.rs/
0:03.72 *** Fix above errors and then restart with
0:03.72 "./mach build"
0:03.72 client.mk:111: recipe for target 'configure' failed
0:03.72 make: *** [configure] Error 1

I tried upgrading it but wasnt successful

Pushed by dmajor@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0bd674c31295
Handle the case when the mozconfig has no configure_args r=firefox-build-system-reviewers,chmanchester

Thanks for the quick fix dmajor!

Flags: needinfo?(mshal)
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
You need to log in before you can comment on or make changes to this bug.