Your message dated Tue, 10 Mar 2020 00:00:43 +0000
with message-id <e1jbskb-000csb...@fasolo.debian.org>
and subject line Bug#953483: Removed package(s) from unstable
has caused the Debian Bug report #946667,
regarding mercurial-server: can't clone to or push repository to server (object 
has no attribute 'changectx')
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
946667: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946667
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: mercurial-server
Version: 1.2-2.2
Severity: grave
Justification: renders package unusable

Dear Maintainer,

after upgrading my mercurial server from stretch to buster, I'm not
able to push or clone to this server from a buster client, the command
fails with:

    ...
    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/projec' object has no
attribute 'changectx'
    abort: stream ended unexpectedly (got 0 bytes, expected 4)

Only solution found is to disable access hook in
/etc/mercurial-server/remote-hgrc.d/access.rc but since it's removing
all access control security, this is not a real solution (and it also
raises another bug in the logging hook but at least repository is
cloned/pushed).

Clone from or pull are not affected (except for the logging hook bug).

Steps to reproduce:

    sudo lxc-create hgserver -t debian --
--package=mercurial-server,openssh-server,sudo,reportbug -r buster
    sudo lxc-start hgserver
    sudo lxc-attach hgserver
    apt update
    apt dist-upgrade
    cd
    ssh-keygen
    mkdir -p /etc/mercurial-server/keys/root
    cp .ssh/id_rsa.pub /etc/mercurial-server/keys/root
    sed -i 's/localhost/localhost hgserver/' /etc/hosts
    sudo -u hg /usr/share/mercurial-server/refresh-auth
    mkdir project
    cd project
    hg init
    touch spam
    hg add spam
    hg commit -m 'add spam' -u root
    hg clone . ssh://hg@127.0.0.1/project

Error trace:

    searching for changes
    remote: adding changesets
    remote: adding manifests
    remote: adding file changes
    remote: added 1 changesets with 1 changes to 1 files
    remote: error: pretxnchangegroup.access hook raised an exception:
'derivedrepo:/var/lib/mercurial-server/repos/projec' 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, Oct 10 2019, 22:02:15) [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 runhooks
    remote:     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/projec' object has no
attribute 'changectx'
    abort: stream ended unexpectedly (got 0 bytes, expected 4)

Thanks.

-- System Information:
Debian Release: 10.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-6-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_USER, TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages mercurial-server depends on:
ii  adduser                      3.118
ii  debconf [debconf-2.0]        1.5.71
ii  mercurial                    4.8.2-1+deb10u1
ii  mercurial-common             4.8.2-1+deb10u1
ii  openssh-server [ssh-server]  1:7.9p1-10+deb10u1
ii  python                       2.7.16-1

mercurial-server recommends no packages.

mercurial-server suggests no packages.

-- debconf information:
  mercurial-server/purge_repositories: false

--- End Message ---
--- Begin Message ---
Version: 1.2-2.2+rm

Dear submitter,

as the package mercurial-server has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/953483

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmas...@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)

--- End Message ---

Reply via email to