[Bug 6708] New: unknown exception encountered, on push, with evolve enabled: caused by AttributeError: module 'sqlite3' has no attribute 'connect'

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Mon May 23 19:25:26 UTC 2022


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

            Bug ID: 6708
           Summary: unknown exception encountered, on push, with evolve
                    enabled: caused by AttributeError: module 'sqlite3'
                    has no attribute 'connect'
           Product: Mercurial
           Version: 6.0.1
          Hardware: Macintosh
                OS: Mac OS
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: evolution
          Assignee: bugzilla at mercurial-scm.org
          Reporter: gray at nxg.name
                CC: mercurial-devel at mercurial-scm.org,
                    pierre-yves.david at ens-lyon.org
    Python Version: ---

When I push a changeset with a topic to a remote server which has the evolve
extension enabled, I get the error below.

At the bottom, there is what is presumably the root cause of the problem, that 

    remote: AttributeError: module 'sqlite3' has no attribute 'connect'

On the remote machine:

  * Python version is 3.7.12 (as shown below)
  * Mercurial version 5.3.2
  * hg-evolve extension was freshly installed just now (in a venv), as
hg-evolve-10.5.1.tar.gz

Locally:

  * Python 3.7.3
  * Mercurial 6.0.1
  * hg-evolve freshly installed (with pip --user), version hg_evolve-10.5.1

I appreciate the remote Mercurial revision is rather old; I do need to update
that soon, but it _appears_ that the issue is in the evolve extension.  These
Python and Mercurial versions have worked happily for a couple of years (since
5.3.2 was new!); this is the first time I've used hg-evolve in this context. 
If it would be useful do to that update, to help with a reproduction here, that
would be a useful prod to me, to put aside the time to do that!

This does appear to overlap with issue #6246, or even duplicate it, but that
appears to be with a much older Python version, and the stacktrace doesn't show
the underlying error.  I'm therefore reporting this as a _potentially_ separate
bug, which might shed light on that one.

Best wishes,

Norman




pushing to ssh://hg@code.nxg.name/nxg/tex/exam-n
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: ** unknown exception encountered, please report by visiting
remote: ** https://mercurial-scm.org/wiki/BugTracker
remote: ** Python 3.7.12 (default, Oct  5 2021, 11:42:29) [Clang 10.0.1
(git at github.com:llvm/llvm-project.git llvmorg-10.0.1-0-gef32c611a
remote: ** Mercurial Distributed SCM (version 5.3.2)
remote: ** Extensions loaded: evolve, topic
remote: Traceback (most recent call last):
remote:   File "/local/hg/bin/hg-ssh", line 97, in <module>
remote:     main()
remote:   File "/local/hg/bin/hg-ssh", line 82, in main
remote:     dispatch.dispatch(req)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 254,
in dispatch
remote:     ret = _runcatch(req) or 0
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 428,
in _runcatch
remote:     return _callcatch(ui, _runcatchfunc)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 437,
in _callcatch
remote:     return scmutil.callcatch(ui, func)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/scmutil.py", line 152, in
callcatch
remote:     return func()
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 418,
in _runcatchfunc
remote:     return _dispatch(req)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 1182,
in _dispatch
remote:     lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 866,
in runcommand
remote:     ret = _runcommand(ui, options, cmd, d)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 1193,
in _runcommand
remote:     return cmdfunc()
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/dispatch.py", line 1179,
in <lambda>
remote:     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
remote:   File "/local/hg/venv/lib/python3.7/site-packages/mercurial/util.py",
line 1854, in check
remote:     return func(*args, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/commands.py", line 6494,
in serve
remote:     s.serve_forever()
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/wireprotoserver.py", line
852, in serve_forever
remote:     self.serveuntil(threading.Event())
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/wireprotoserver.py", line
858, in serveuntil
remote:     _runsshserver(self._ui, self._repo, self._fin, self._fout, ev)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/wireprotoserver.py", line
700, in _runsshserver
remote:     rsp = wireprotov1server.dispatch(repo, proto, request)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/wireprotov1server.py",
line 82, in dispatch
remote:     return func(repo, proto, *args)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/wireprotov1server.py",
line 664, in unbundle
remote:     repo, gen, their_heads, b'serve', proto.client()
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/exchange.py", line 2792,
in unbundle
remote:     lockandtr[2].close()
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/transaction.py", line 46,
in _active
remote:     return func(self, *args, **kwds)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/transaction.py", line
578, in close
remote:     self._postclosecallback[cat](self)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 2473,
in updater
remote:     repo.updatecaches(tr)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 195,
in wrapper
remote:     return orig(repo.unfiltered(), *args, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/obscache.py", line
484, in updatecaches
remote:     super(obscacherepo, self).updatecaches(tr, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 195,
in wrapper
remote:     return orig(repo.unfiltered(), *args, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/firstmergecache.py",
line 64, in updatecaches
remote:     super(firstmergecacherepo, self).updatecaches(tr, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 195,
in wrapper
remote:     return orig(repo.unfiltered(), *args, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/depthcache.py",
line 91, in updatecaches
remote:     super(depthcacherepo, self).updatecaches(tr, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 195,
in wrapper
remote:     return orig(repo.unfiltered(), *args, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/stablesort.py",
line 971, in updatecaches
remote:     super(stablesortrepo, self).updatecaches(tr, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 195,
in wrapper
remote:     return orig(repo.unfiltered(), *args, **kwargs)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/stablerangecache.py",
line 530, in updatecaches
remote:     self.stablerange.update(self)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/mercurial/localrepo.py", line 175,
in __get__
remote:     return super(unfilteredpropertycache, self).__get__(unfi)
remote:   File "/local/hg/venv/lib/python3.7/site-packages/mercurial/util.py",
line 1734, in __get__
remote:     result = self.func(obj)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/stablerangecache.py",
line 517, in stablerange
remote:     cache.update(self)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/genericcaches.py",
line 111, in update
remote:     self.load(repo)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/stablerangecache.py",
line 399, in load
remote:     if self._con is not None:
remote:   File "/local/hg/venv/lib/python3.7/site-packages/mercurial/util.py",
line 1734, in __get__
remote:     result = self.func(obj)
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/stablerangecache.py",
line 261, in _con
remote:     con = self._db()
remote:   File
"/local/hg/venv/lib/python3.7/site-packages/hgext3rd/evolve/stablerangecache.py",
line 249, in _db
remote:     con = sqlite3.connect(encoding.strfromlocal(self._path),
timeout=30,
remote: AttributeError: module 'sqlite3' has no attribute 'connect'
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