traceback from hg serve

James Gregory james.jrg at gmail.com
Thu Apr 24 09:30:49 UTC 2014


NB I realise one answer is just to use wsgi/cgi instead, but it seems
that hg serve shouldn't crash?

On 24 April 2014 10:21, James Gregory <james.jrg at gmail.com> wrote:
> Hg is serving repositories from the built-in mercurial server. Nginx
> is acting as a proxy for handling authorization etc.
>
> A continuous integration server is polling frepositories (via the
> nginx proxy) for changes, but it keeps resulting in tracebacks, which
> look like this:
>
> 127.0.0.1 - - [23/Apr/2014 16:56:20] Exception happened during
> processing request '/hg/traintracs/workbench/?cmd=capabilities':
> Traceback (most recent call last):
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hgweb/server.py",
> line 80, in do_POST
>     self.do_write()
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hgweb/server.py",
> line 73, in do_write
>     self.do_hgweb()
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hgweb/server.py",
> line 140, in do_hgweb
>     for chunk in self.server.application(env, self._start_response):
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hgweb/hgwebdir_mod.py",
> line 153, in __call__
>     return self.run_wsgi(req)
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hgweb/hgwebdir_mod.py",
> line 217, in run_wsgi
>     repo = hg.repository(self.ui, real)
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hg.py", line
> 113, in repository
>     peer = _peerorrepo(ui, path, create)
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/hg.py", line
> 103, in _peerorrepo
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/localrepo.py",
> line 2449, in instance
>     obj = _peerlookup(path).instance(ui, path, create)
>     return localrepository(ui, util.urllocalpath(path), create)
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/localrepo.py",
> line 174, in __init__
>     self.ui = baseui.copy()
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/ui.py", line
> 49, in copy
>     return self.__class__(self)
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/ui.py", line
> 29, in __init__
>     self._tcfg = src._tcfg.copy()
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/config.py",
> line 53, in copy
>     return config(self)
>   File "/usr/local/lib/python2.7/dist-packages/mercurial/config.py",
> line 49, in __init__
>     for k in data._data:
> RuntimeError: dictionary changed size during iteration
>
> Anyone know why this might be?
>
> --
> James



-- 
James



More information about the Mercurial mailing list