Please report any other irregularities here.
Perhaps stdout is ascii or something? Bug 795394 would have fixed that, at least for the parent. If I poke into the child_exception I see that it's complaining about my fancy prompt (powerline); indeed, if I turn that off mach works fine. Here's the output, with my prompt included: anglachel db48x ~ src firefox ./mach build 0:00.13 /usr/bin/make -f client.mk -s 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 should consider filing a bug for this issue. If filing a bug, please include the full output of mach, including this error message. The details of the failure are as follows: UnicodeEncodeError: 'ascii' codec can't encode characters in position 26-28: ordinal not in range(128) File "/home/db48x/src/firefox/python/mozbuild/mozbuild/mach_commands.py", line 389, in build silent=not verbose) File "/home/db48x/src/firefox/python/mozbuild/mozbuild/base.py", line 572, in _run_make return fn(**params) File "/home/db48x/src/firefox/python/mozbuild/mozbuild/base.py", line 615, in _run_command_in_srcdir return self.run_process(cwd=self.topsrcdir, **args) File "/home/db48x/src/firefox/python/mach/mach/mixin/process.py", line 136, in run_process p.run() File "/home/db48x/src/firefox/testing/mozbase/mozprocess/mozprocess/processhandler.py", line 727, in run self.proc = self.Process([self.cmd] + self.args, **args) File "/home/db48x/src/firefox/testing/mozbase/mozprocess/mozprocess/processhandler.py", line 114, in __init__ universal_newlines, startupinfo, creationflags) File "/usr/lib/python2.7/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child raise child_exception
Does your source or object directory have non-ascii characters in it? If so, that's likely the bug. Unicode in prompts and other environments should work.
No, there are no non-ascii characters in the path: anglachel db48x ~ src firefox hexdump -C <(pwd) 00000000 2f 68 6f 6d 65 2f 64 62 34 38 78 2f 73 72 63 2f |/home/db48x/src/| 00000010 66 69 72 65 66 6f 78 0a |firefox.| 00000018 (you can see that no high bits are set). Also, changing my prompt caused the error to go away. My apologies for not including that detail originally; however you'll note that when I used the debugger to inspect the exception object I see that it's pointing to the first non-ascii character in my prompt, which it's reading from a stream.
You need to log in before you can comment on or make changes to this bug.