I ended up with similar stdio errors trying to track down the bad http
status failures:
Traceback (most recent call last):
File "c:\Users\Matt\hg\mercurial\ui.py", line 1033, in _writenobuf
dest.flush()
OSError: [WinError 1] Incorrect function
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\Matt\hg\mercurial\hgweb\server.py", line 192, in
do_hgweb
for chunk in self.server.application(env, self._start_response):
File "c:\Users\Matt\hg\mercurial\hgweb\hgweb_mod.py", line 310, in
run_wsgi
for r in self._runwsgi(req, res, repo):
File "c:\Users\Matt\hg\mercurial\hgweb\hgweb_mod.py", line 430, in
_runwsgi
return getattr(webcommands, cmd)(rctx)
File "c:\Users\Matt\hg\mercurial\hgweb\webcommands.py", line 861, in
comparison
context = parsecontext(web.config('web', 'comparisoncontext', '5'))
File "c:\Users\Matt\hg\mercurial\hgweb\hgweb_mod.py", line 117, in
config
untrusted=untrusted)
File "c:\Users\Matt\hg\mercurial\ui.py", line 517, in config
untrusted=untrusted)
File "c:\Users\Matt\hg\mercurial\ui.py", line 536, in _config
self.develwarn(msg, 2, 'warn-config-unknown')
File "c:\Users\Matt\hg\mercurial\ui.py", line 1790, in develwarn
% (msg, fname, lineno, fmsg))
File "c:\Users\Matt\hg\mercurial\ui.py", line 996, in write_err
self._write(self._ferr, *args, **opts)
File "c:\Users\Matt\hg\mercurial\ui.py", line 1006, in _write
self._writenobuf(dest, *args, **opts)
File "c:\Users\Matt\hg\mercurial\ui.py", line 1039, in _writenobuf
raise error.StdioError(err)
mercurial.error.StdioError: [Errno 22] Incorrect function
I see that there's a TODO for pycompat.{stdin,stdout,stderr} to use a
silly wrapper instead of .buffer. But this feeble attempt didn't seem
to
help: