Hi all,
Today when I run "gclient sync" on my windows development machine I get the following error, see stack trace below. This worked fine last week and I have not changed anything on the machine.
After some fruitless debugging I created a brand new checkout and "gclient sync" works there (and the original checkout continues to have the error). So something in the original checkout is causing this problem. Anyone experience this or have an idea?
Traceback (most recent call last):
 File "C:\src\depot_tools\metrics.py", line 267, in print_notice_and_exit
  yield
 File "C:\src\depot_tools\gclient.py", line 3152, in <module>
  sys.exit(main(sys.argv[1:]))
 File "C:\src\depot_tools\gclient.py", line 3138, in main
  return dispatcher.execute(OptionParser(), argv)
 File "C:\src\depot_tools\subcommand.py", line 252, in execute
  return command(parser, args[1:])
 File "C:\src\depot_tools\metrics.py", line 252, in _inner
  return self._collect_metrics(func, command_name, *args, **kwargs)
 File "C:\src\depot_tools\metrics.py", line 232, in _collect_metrics
  gclient_utils.reraise(exception[0], exception[1], exception[2])
 File "C:\src\depot_tools\metrics.py", line 205, in _collect_metrics
  result = func(*args, **kwargs)
 File "C:\src\depot_tools\gclient.py", line 2695, in CMDsync
  ret = client.RunOnDeps('update', args)
 File "C:\src\depot_tools\gclient.py", line 1733, in RunOnDeps
  patch_refs=patch_refs, target_branches=target_branches)
 File "C:\src\depot_tools\gclient_utils.py", line 911, in flush
  reraise(e[0], e[1], e[2])
 File "C:\src\depot_tools\gclient_utils.py", line 988, in run
  self.item.run(*self.args, **self.kwargs)
 File "C:\src\depot_tools\gclient.py", line 910, in run
  file_list)
 File "C:\src\depot_tools\gclient_scm.py", line 132, in RunCommand
  return getattr(self, command)(options, args, file_list)
 File "C:\src\depot_tools\gclient_scm.py", line 572, in update
  return self._Capture(['rev-parse', '--verify', 'HEAD'])
 File "C:\src\depot_tools\gclient_scm.py", line 1275, in _Capture
  ['git'] + args, env=env, **kwargs).decode('utf-8')
 File "C:\src\depot_tools\subprocess2.py", line 249, in check_output
  return check_call_out(args, stdout=PIPE, **kwargs)[0]
 File "C:\src\depot_tools\subprocess2.py", line 209, in check_call_out
  out, returncode = communicate(args, **kwargs)
 File "C:\src\depot_tools\subprocess2.py", line 186, in communicate
  proc = Popen(args, **kwargs)
 File "C:\src\depot_tools\subprocess2.py", line 150, in __init__
  super(Popen, self).__init__(args, **kwargs)
 File "C:\src\depot_tools\bootstrap-3_8_0b1_chromium_1_bin\python\bin\lib\subprocess.py", line 390, in __init__
  errread, errwrite)
 File "C:\src\depot_tools\bootstrap-3_8_0b1_chromium_1_bin\python\bin\lib\subprocess.py", line 640, in _execute_child
  startupinfo)
TypeError: environment can only contain strings