[Bug 6170] New: error: pretxnchangegroup.access hook raised an exception: 'derivedrepo:/var/lib/mercurial-server/repos/util<d' object has no attribute 'changectx'

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Wed Jul 10 14:02:32 UTC 2019


https://bz.mercurial-scm.org/show_bug.cgi?id=6170

            Bug ID: 6170
           Summary: error: pretxnchangegroup.access hook raised an
                    exception:
                    'derivedrepo:/var/lib/mercurial-server/repos/util<d'
                    object has no attribute 'changectx'
           Product: Mercurial
           Version: 4.8.1
          Hardware: PC
                OS: NetBSD
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: ng0 at n0.is
                CC: mercurial-devel at mercurial-scm.org

I'm not entirely sure if this is a Debian packaging bug. This bug started to
appear after the upgrade to Debian 10.

What can I do to debug this? The client (NetBSD) runs mercurial 5.0, server
(Debian 10) runs 4.8.1. Previously this was no problem with the exact same
versions.

uptimegirl$ hg push
pushing to ssh://hg@c.n0.is/util
Enter passphrase for key '/home/ng0/.ssh/id_ed25519_ng0': 
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 9 changes to 9 files
remote: error: pretxnchangegroup.access hook raised an exception:
'derivedrepo:/var/lib/mercurial-server/repos/util<d' object has no attribute
'changectx'
remote: transaction abort!
remote: rollback completed
remote: ** unknown exception encountered, please report by visiting
remote: ** https://mercurial-scm.org/wiki/BugTracker
remote: ** Python 2.7.16 (default, Apr  6 2019, 01:42:57) [GCC 8.3.0]
remote: ** Mercurial Distributed SCM (version 4.8.2)
remote: ** Extensions loaded: 
remote: Traceback (most recent call last):
remote:   File "/usr/share/mercurial-server/hg-ssh", line 91, in <module>
remote:     dispatch.dispatch(request(['-R', repo, 'serve', '--stdio']))
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
220, in dispatch
remote:     ret = _runcatch(req) or 0
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
363, in _runcatch
remote:     return _callcatch(ui, _runcatchfunc)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
371, in _callcatch
remote:     return scmutil.callcatch(ui, func)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line
166, in callcatch
remote:     return func()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
354, in _runcatchfunc
remote:     return _dispatch(req)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
994, in _dispatch
remote:     cmdpats, cmdoptions)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
737, in runcommand
remote:     ret = _runcommand(ui, options, cmd, d)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1003, in _runcommand
remote:     return cmdfunc()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
991, in <lambda>
remote:     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1646,
in check
remote:     return func(*args, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
5207, in serve
remote:     s.serve_forever()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/wireprotoserver.py",
line 797, in serve_forever
remote:     self.serveuntil(threading.Event())
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/wireprotoserver.py",
line 804, in serveuntil
remote:     _runsshserver(self._ui, self._repo, self._fin, self._fout, ev)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/wireprotoserver.py",
line 656, in _runsshserver
remote:     rsp = wireprotov1server.dispatch(repo, proto, request)
remote:   File
"/usr/lib/python2.7/dist-packages/mercurial/wireprotov1server.py", line 74, in
dispatch
remote:     return func(repo, proto, *args)
remote:   File
"/usr/lib/python2.7/dist-packages/mercurial/wireprotov1server.py", line 599, in
unbundle
remote:     proto.client())
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line
2377, in unbundle
remote:     op = bundle2.processbundle(repo, cg, op=op)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/bundle2.py", line
460, in processbundle
remote:     processparts(repo, op, unbundler)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/bundle2.py", line
467, in processparts
remote:     _processpart(op, part)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/bundle2.py", line
534, in _processpart
remote:     handler(op, part)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/bundle2.py", line
1829, in handlechangegroup
remote:     expectedtotal=nbchangesets, **extrakwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/bundle2.py", line
470, in _processchangegroup
remote:     ret = cg.apply(op.repo, tr, source, url, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/changegroup.py",
line 366, in apply
remote:     throw=True, **pycompat.strkwargs(hookargs))
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/localrepo.py", line
1370, in hook
remote:     return hook.hook(self.ui, self, name, throw, **args)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/hook.py", line 218,
in hook
remote:     res = runhooks(ui, repo, htype, hooks, throw=throw, **args)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/hook.py", line 270,
in runhooksremote:     throw)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/hook.py", line 98,
in pythonhook
remote:     r = obj(ui=ui, repo=repo, hooktype=htype,
**pycompat.strkwargs(args))
remote:   File "/usr/share/mercurial-server/mercurialserver/access.py", line
24, in hook
remote:     for ctx in changes.changes(repo, node):
remote:   File "/usr/share/mercurial-server/mercurialserver/changes.py", line
6, in changes
remote:     start = repo.changectx(node).rev()
remote: AttributeError: 'derivedrepo:/var/lib/mercurial-server/repos/util<d'
object has no attribute 'changectx'
abort: stream ended unexpectedly (got 0 bytes, expected 4)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list