error while pulling changes from remote mercurial repo

Ed Wong cc at pw-wspx.org
Wed Feb 21 09:41:40 UTC 2024


Hi,

I've moved a mercurial repository from an old Kallithea installation to
a new machine (Kallithea 0.7.0) and things have been going on ok.
(Using Python3.9 and mercurial 6.1.4)

Realized I hadn't updated two of the mercurial repositories, so I went
and did a "Pull changes from Remote Repository",  but I
get an error message "An error occurred during pull from remote location".

Fwiw, the two repositories are:
    - https://hg.mozilla.org/comm-central
    - https://hg.mozilla.org/mozilla-central

I took a look at the httpd log, and I came across the following:

File "/repos/kallithea/kallithea/model/scm.py", line 359, in pull_changes
  repo.pull(clone_uri)
File "/repos/kallithea/kallithea/lib/vcs/backends/hg/repository.py",
line 634, in pull
  mercurial.exchange.pull(self._repo, other, heads=None, force=None)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/exchange.py",
line 1680, in pull
  _pulldiscovery(pullop)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/exchange.py",
line 1727, in _pulldiscovery
  step(pullop)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/exchange.py",
line 1752, in _pulldiscoverychangegroup
  tmp = discovery.findcommonincoming(
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/discovery.py",
line 62, in findcommonincoming
  res = setdiscovery.findcommonheads(
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/setdiscovery.py",
line 404, in findcommonheads
  ui.status(_(b"searching for changes\\n"))
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1849, in status
  self._writemsg(self._fmsgout, type=b'status', *msg, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1331, in _writemsg
  _writemsgwith(self._write, dest, *args, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 2285, in _writemsgwith
  write(dest, *args, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1274, in _write
  self._writenobuf(dest, *args, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1299, in _writenobuf
  dest.write(msg)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/utils/procutil.py",
line 115, in write
  c = write1(m[total_written:])
peError: write() argument 1 must be read-only bytes-like object, not
memoryview

ERROR [kallithea.controllers.admin.repos] Traceback (most recent call last):
File "/repos/kallithea/kallithea/controllers/admin/repos.py", line 464,
in edit_remote
  ScmModel().pull_changes(repo_name, request.authuser.username,
request.ip_addr)
File "/repos/kallithea/kallithea/model/scm.py", line 359, in pull_changes
  repo.pull(clone_uri)
File "/repos/kallithea/kallithea/lib/vcs/backends/hg/repository.py",
line 634, in pull
  mercurial.exchange.pull(self._repo, other, heads=None, force=None)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/exchange.py",
line 1680, in pull
  _pulldiscovery(pullop)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/exchange.py",
line 1727, in _pulldiscovery
  step(pullop)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/exchange.py",
line 1752, in _pulldiscoverychangegroup
  tmp = discovery.findcommonincoming(
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/discovery.py",
line 62, in findcommonincoming
  res = setdiscovery.findcommonheads(
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/setdiscovery.py",
line 404, in findcommonheads
  ui.status(_(b"searching for changes\\n"))
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1849, in status
  self._writemsg(self._fmsgout, type=b'status', *msg, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1331, in _writemsg
  _writemsgwith(self._write, dest, *args, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 2285, in _writemsgwith
  write(dest, *args, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1274, in _write
  self._writenobuf(dest, *args, **opts)
File "/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/ui.py",
line 1299, in _writenobuf
  dest.write(msg)
File
"/var/www/kali/venv/lib64/python3.9/site-packages/mercurial/utils/procutil.py",
line 115, in write
  c = write1(m[total_written:])
peError: write() argument 1 must be read-only bytes-like object, not
memoryview


Thinking that this might have been some compatibility issue between
the old Kallithea managed repos and the 0.7.0, I thought I'd create
a new repository.

So I went and created another mercurial repo using the same remote
repository (either one): but again, I get an error:

ERROR [kallithea.controllers.admin.repos] Traceback (most recent call last):
   File "/repos/kallithea/kallithea/controllers/admin/repos.py", line
119, in create
   RepoModel().create(form_result, request.authuser.user_id)

   File "/repos/kallithea/kallithea/model/repo.py", line 407, in create
     return create_repo(form_data, cur_user)
   File "/repos/kallithea/kallithea/lib/celerylib/__init__.py", line 61,
in f_wrapped
     t = runner.apply_async(args=args, kwargs=kwargs)
   File
"/var/www/kali/venv/lib64/python3.9/site-packages/celery/app/task.py",
line 561, in apply_async
     return app.send_task(
   File
"/var/www/kali/venv/lib64/python3.9/site-packages/celery/app/base.py",
line 776, in send_task
     """
 TypeError: as_task_v2() got an unexpected keyword argument 'ignore_result'


At this point, I'm kinda stuck.   I have Celery == 5.0.5.

Might anyone have any idea of what I'm doing wrong or what
the fix could be?

Thanks

Ed


More information about the kallithea-general mailing list