Closed
Bug 1758148
Opened 4 years ago
Closed 4 years ago
Mercurial 6.1: "unhashable type: 'set'"
Categories
(Developer Services :: General, defect)
Developer Services
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: mhentges, Unassigned)
References
Details
Bug Description
When using Mercurial >= 6.1, the following error occurs:
$ hg log -r "draft() and ancestors(.)"
** Unknown exception encountered with possibly-broken third-party extension "evolve" 10.4.1
** which supports versions 6.0 of Mercurial.
** Please disable "evolve" and try your action again.
** If that fixes the bug please report it to https://bz.mercurial-scm.org/
** Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)]
** Mercurial Distributed SCM (version 6.1+hg7.3c9bf1787bfd)
** Extensions loaded: absorb, blackbox, evolve 10.4.1, fsmonitor, histedit, rebase
Traceback (most recent call last):
File "C:\mozilla-build-4.0pre0\python3\Scripts\hg", line 61, in <module>
dispatch.run()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 144, in run
status = dispatch(req)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 250, in dispatch
status = _rundispatch(req)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 294, in _rundispatch
ret = _runcatch(req) or 0
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 470, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 480, in _callcatch
return scmutil.callcatch(ui, func)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\scmutil.py", line 153, in callcatch
return func()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 460, in _runcatchfunc
return _dispatch(req)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 1273, in _dispatch
return runcommand(
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 918, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 1285, in _runcommand
return cmdfunc()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\dispatch.py", line 1271, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\util.py", line 1887, in check
return func(*args, **kwargs)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\commands.py", line 4721, in log
revs, differ = logcmdutil.getrevs(repo, walk_opts)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\logcmdutil.py", line 1094, in getrevs
revs, filematcher = makewalker(repo, wopts)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\logcmdutil.py", line 1044, in makewalker
revs = _initialrevs(repo, wopts)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\logcmdutil.py", line 1026, in _initialrevs
revs = revrange(repo, wopts.revspec)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\logcmdutil.py", line 946, in revrange
return scmutil.revrange(repo, specs, localalias)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\scmutil.py", line 769, in revrange
return repo.anyrevs(allspecs, user=True, localalias=localalias)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\localrepo.py", line 2018, in anyrevs
m = revset.matchany(
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\revset.py", line 2767, in matchany
tree = revsetlang.parse(specs[0], lookup)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\revsetlang.py", line 650, in parse
return _parsewith(spec, lookup=lookup)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\revsetlang.py", line 581, in _parsewith
tree, pos = p.parse(
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\parser.py", line 90, in parse
self._advance()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\parser.py", line 38, in _advance
self.current = next(self._iter, None)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\revsetlang.py", line 120, in tokenize
if all(lookup(sym) for sym in parts if sym):
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\revsetlang.py", line 120, in <genexpr>
if all(lookup(sym) for sym in parts if sym):
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\revset.py", line 2734, in fn
return scmutil.isrevsymbol(repo, symbol)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\scmutil.py", line 598, in isrevsymbol
revsymbol(repo, symbol)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\scmutil.py", line 648, in revsymbol
node = repo.names.singlenode(repo, symbol)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\namespaces.py", line 124, in singlenode
n = v.singlenode(repo, name)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\namespaces.py", line 237, in singlenode
n = self.namemap(repo, name)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\namespaces.py", line 66, in <lambda>
bnamemap = lambda repo, name: tolist(repo.branchtip(name, True))
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\localrepo.py", line 2175, in branchtip
return self.branchmap().branchtip(branch)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\localrepo.py", line 2155, in branchmap
return self._branchcaches[self]
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 73, in __getitem__
self.updatecache(repo)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 97, in updatecache
bcache = self[subset].copy()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 73, in __getitem__
self.updatecache(repo)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 97, in updatecache
bcache = self[subset].copy()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 73, in __getitem__
self.updatecache(repo)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 97, in updatecache
bcache = self[subset].copy()
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 73, in __getitem__
self.updatecache(repo)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 106, in updatecache
bcache.update(repo, revs)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 583, in update
if not self.validfor(repo):
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\branchmap.py", line 369, in validfor
tiphash = scmutil.filteredhash(repo, self.tiprev, needobsolete=True)
File "C:\Users\Mitch\AppData\Roaming\Python\Python39\site-packages\mercurial\scmutil.py", line 369, in filteredhash
key = (maxrev, hash(cl.filteredrevs), hash(obsrevs))
TypeError: unhashable type: 'set'
| Reporter | ||
Comment 1•4 years ago
•
|
||
Unfortunately, ./mach vcs-setup doesn't fix this, as it encounters the same error.
Workaround
Run ./mach vcs-setup.
It will print the big stack trace warning once, but it'll still update evolve, resolving the issue.
| Reporter | ||
Updated•4 years ago
|
Assignee: nobody → mhentges
Status: NEW → ASSIGNED
| Reporter | ||
Updated•4 years ago
|
Assignee: mhentges → nobody
Status: ASSIGNED → UNCONFIRMED
Ever confirmed: false
| Reporter | ||
Comment 2•4 years ago
|
||
(Edited my previous comment - I thought that ./mach vcs-setup wasn't fixing the issue , but that was due to local modifications. All good actually!)
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•