Closed Bug 1575774 Opened 5 years ago Closed 5 years ago

`./mach build` fails with "Config object not found by mach." / "ImportError: cannot import name encode"

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox-esr60 unaffected, firefox-esr68 unaffected, firefox68 unaffected, firefox69 unaffected, firefox70 fixed)

RESOLVED FIXED
mozilla70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- fixed

People

(Reporter: mbrodesser-Igalia, Assigned: glandium)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

 Config object not found by mach.
Error running mach:

    ['build']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
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:

ImportError: cannot import name encode

  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/build_commands.py", line 84, in build
    mach_context=self._mach_context)
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/controller/building.py", line 1068, in build
    line_handler=output.on_line)
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/controller/building.py", line 1355, in configure
    append_env=append_env)
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/controller/building.py", line 1436, in _run_client_mk
    if self._check_clobber(mozconfig, os.environ):
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/controller/building.py", line 1516, in _check_clobber
    substs = self.substs
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/base.py", line 354, in substs
    return self.config_environment.substs
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/base.py", line 340, in config_environment
    ConfigEnvironment.from_config_status(config_status)
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/backend/configenvironment.py", line 200, in from_config_status
    config = BuildConfig.from_config_status(path)
  File "/home/mirko/src/firefox/gecko/python/mozbuild/mozbuild/backend/configenvironment.py", line 67, in from_config_status
    exec(code_cache[path][1], g, l)
  File "/home/mirko/src/firefox/gecko/obj-x86_64-pc-linux-gnu-debug/config.status", line 4, in <module>
    from mozbuild.util import encode

You need to clobber.

Regressed by: 844509
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/620c55d58580
CLOBBER bump requested by glandium.

Closing this as the clobber was done.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

And because bug 844509 is not on central yet.

Pushed by csabou@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/5e6ec638d2c2
CLOBBER bump requested by glandium. a=clobber
Assignee: nobody → csabou
Assignee: csabou → nobody

Is the CLOBBER file change supposed to fix running ./mach build ?

I do have mk_add_options AUTOCLOBBER=1 and I'm at latest m-c:

Author: Cosmin Sabou
Date:   Thu Aug 22 11:57:23 2019 +0300
    Bug 1575774 - CLOBBER bump requested by glandium. a=clobber

But both ./mach build and ./mach clobber still complain:

 Config object not found by mach.
…
ImportError: cannot import name encode

Manually deleting the object directory got things working.

Summary: `./mach build` fails with "Config object not found by mach." → `./mach build` fails with "Config object not found by mach." / "ImportError: cannot import name encode"

Just FYI, it's enough to delete $topobjdir/config.status and then mach build.

Assignee: nobody → mh+mozilla
Target Milestone: --- → mozilla70
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.