[Bug 6432] New: SQLite error handling request cmd=evoext_obshashrange_v1

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Sat Nov 14 10:45:59 UTC 2020


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

            Bug ID: 6432
           Summary: SQLite error handling request
                    cmd=evoext_obshashrange_v1
           Product: Mercurial
           Version: 5.5.1
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: normal
         Component: evolution
          Assignee: bugzilla at mercurial-scm.org
          Reporter: zash at zash.se
                CC: mercurial-devel at mercurial-scm.org,
                    pierre-yves.david at ens-lyon.org
    Python Version: 3.7

I have hgweb  running in gunicorn as the 'www-data' user.

An attempt to pull some draft commits from a repo that should have
evolve.serveronly enabled
produces the following traceback:


[2020-11-14 15:58:21 +0100] [2302] [ERROR] Error handling request
/clix/?cmd=evoext_obshashrange_v1
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gunicorn/workers/sync.py", line 135, in
handle
    self.handle_request(listener, req, client, addr)
  File "/usr/lib/python3/dist-packages/gunicorn/workers/sync.py", line 181, in
handle_request
    for item in respiter:
  File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgwebdir_mod.py", line
381, in run_wsgi
    for r in self._runwsgi(req, res):
  File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgweb_mod.py", line 326,
in run_wsgi
    for r in self._runwsgi(req, res, repo):
  File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgweb_mod.py", line 353,
in _runwsgi
    rctx, req, res, self.check_perm
  File "/usr/lib/python3/dist-packages/mercurial/wireprotoserver.py", line 233,
in handlewsgirequest
    _callhttp(repo, req, res, proto, cmd)
  File "/usr/lib/python3/dist-packages/mercurial/wireprotoserver.py", line 469,
in _callhttp
    rsp = wireprotov1server.dispatch(repo, proto, cmd)
  File "/usr/lib/python3/dist-packages/mercurial/wireprotov1server.py", line
82, in dispatch
    return func(repo, proto, *args)
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/obsdiscovery.py", line
712, in srv_obshashrange_v1
    hashes = _obshashrange_v0(repo, ranges)
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/obsdiscovery.py", line
668, in _obshashrange_v0
    repo.stablerange.warmup(repo, upto=maxrev)
  File "/usr/lib/python3/dist-packages/mercurial/localrepo.py", line 177, in
__get__
    return getattr(unfi, self.name)
  File "/usr/lib/python3/dist-packages/mercurial/pycompat.py", line 303, in w
    return f(object, sysstr(name), *args)
  File "/usr/lib/python3/dist-packages/mercurial/localrepo.py", line 176, in
__get__
    return super(unfilteredpropertycache, self).__get__(unfi)
  File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1747, in
__get__
    result = self.func(obj)
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/stablerangecache.py",
line 519, in stablerange
    cache.update(self)
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/genericcaches.py", line
109, in update
    self.load(repo)
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/stablerangecache.py",
line 401, in load
    if self._con is not None:
  File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1747, in
__get__
    result = self.func(obj)
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/stablerangecache.py",
line 263, in _con
    con = self._db()
  File "/usr/lib/python3/dist-packages/hgext3rd/evolve/stablerangecache.py",
line 252, in _db
    isolation_level=r"IMMEDIATE")
sqlite3.OperationalError: unable to open database file

$ sudo -u hg hg version -v
[sudo] password for zash: 
Mercurial Distributed SCM (version 5.5.1)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2020 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Enabled extensions:

  evolve.serveronly  external  10.0.1


The files in ~hg are owned by hg:hg, so one theory is that sqlite tries to
create something, but it is not allowed.

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


More information about the Mercurial-devel mailing list