Issue #4250 invalid

mercurial-server error when pushing to Bitbucket

Michael Granger
created an issue

I just tried to push a new changeset, and got:

{{{ pushing to ssh://hg@bitbucket.org/ged/ruby-mongrel2 searching for changes abort: outgoing.aaaaa_servelog hook is invalid (import of "mercurialserver.servelog" failed) remote: unknown exception encountered, please report by visiting remote: http://mercurial.selenic.com/wiki/BugTracker remote: Python 2.7.3 (default, Apr 23 2012, 00:40:27) [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] remote: Mercurial Distributed SCM (version 2.2.2+11-cab7fc8c33b6) remote: Extensions loaded: convert remote: Traceback (most recent call last): remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/bin/hg", line 38, in <module> remote: mercurial.dispatch.run() remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 28, in run remote: sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 65, in dispatch remote: return _runcatch(req) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 88, in _runcatch remote: return _dispatch(req) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 739, in _dispatch remote: cmdpats, cmdoptions) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 513, in runcommand remote: ret = _runcommand(ui, options, cmd, d) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 829, in _runcommand remote: return checkargs() remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 800, in checkargs remote: return cmdfunc() remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/dispatch.py", line 736, in <lambda> remote: d = lambda: util.checksignature(func)(ui, *args, cmdoptions) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/util.py", line 475, in check remote: return func(args, kwargs) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/commands.py", line 5045, in serve remote: s.serve_forever() remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/sshserver.py", line 93, in serve_forever remote: while self.serve_one(): remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/sshserver.py", line 111, in serve_one remote: rsp = wireproto.dispatch(self.repo, self, cmd) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/wireproto.py", line 349, in dispatch remote: return func(repo, proto, args) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/wireproto.py", line 575, in unbundle remote: proto.getfile(fp) remote: File "/opt/python/domains/bitbucket.org/2012-05-09/bitbucket/local/env/lib/python2.7/site-packages/mercurial/sshserver.py", line 53, in getfile remote: count = int(self.fin.readline()) remote: ValueError: invalid literal for int() with base 10: '' }}}

Retrying again immediately afterward succeeded.

Comments (5)

  1. Michael Granger reporter

    This only happens when the push comes from another mercurial-server instance re-pushing from a(n experimental) changegroup hook, apparently.

    It probably has something to do with the difference in shell environments or something.

    Anyway, maybe it's still something worth looking into.

  2. Michael Granger reporter

    Since I filed this, I've tested mirroring using a 'changegroup' hook using a local target repo, a remote target repo over plain ssh (no mercurial-server), and ssh via my own mercurial-server setup, and all three work with no issues. I'm setting up a second mercurial-server installation so I can test local -> mercurial-server -> mercurial-server.

  3. Michael Granger reporter
    • changed status to open

    I've reproduced this mirroring between two (non-Bitbucket) mercurial-server repos, so it looks like it's a mercurial-server issue. I'll file this upstream.

  4. Log in to comment