[Bug 5811] New: fsmonitor returns bogus stat tuples, breaking after cleanup in ffa3026d4196
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Fri Mar 9 22:18:17 UTC 2018
https://bz.mercurial-scm.org/show_bug.cgi?id=5811
Bug ID: 5811
Summary: fsmonitor returns bogus stat tuples, breaking after
cleanup in ffa3026d4196
Product: Mercurial
Version: default branch
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: fsmonitor
Assignee: bugzilla at mercurial-scm.org
Reporter: durin42 at gmail.com
CC: mercurial-devel at mercurial-scm.org
Change ffa3026d4196 moved us from using thing.st_mtime to always using
thing[ST_MTIME] because the latter always gets us an integer. We need to teach
the code in bser.c to handle __getitem__(ST_MTIME), as it currently stacktraces
like this:
** Unknown exception encountered with possibly-broken third-party extension
perf
** which supports versions unknown of Mercurial.
** Please disable perf and try your action again.
** If that fixes the bug please report it to the extension author.
** Python 2.7.13 (default, Jan 23 2017, 15:28:18) [GCC 6.2.0 20161005]
** Mercurial Distributed SCM (version 4.5.2+939-09b58af83d44)
** Extensions loaded: blackbox, convert, fsmonitor, rebase, histedit,
patchbomb, purge, record, share, shelve, show, strip, mq, qbackout, qimportbz,
reviewboard, bzexport, firefoxtree, mozext, push-to-try, perf, phabricator,
showstack
Traceback (most recent call last):
File "/home/gps/lib/python/mercurial/commandserver.py", line 368, in
_serverequest
sv.serve()
File "/home/gps/lib/python/mercurial/commandserver.py", line 292, in serve
while self.serveone():
File "/home/gps/lib/python/mercurial/commandserver.py", line 267, in serveone
handler(self)
File "/home/gps/lib/python/mercurial/chgserver.py", line 453, in runcommand
return super(chgcmdserver, self).runcommand()
File "/home/gps/lib/python/mercurial/commandserver.py", line 251, in
runcommand
ret = (dispatch.dispatch(req) or 0) & 255 # might return None
File "/home/gps/lib/python/mercurial/dispatch.py", line 208, in dispatch
ret = _runcatch(req)
File "/home/gps/lib/python/mercurial/dispatch.py", line 349, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/gps/lib/python/mercurial/dispatch.py", line 357, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/gps/lib/python/mercurial/scmutil.py", line 154, in callcatch
return func()
File "/home/gps/lib/python/mercurial/dispatch.py", line 339, in _runcatchfunc
return _dispatch(req)
File "/home/gps/lib/python/mercurial/dispatch.py", line 943, in _dispatch
cmdpats, cmdoptions)
File "/home/gps/lib/python/mercurial/dispatch.py", line 700, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/gps/lib/python/mercurial/dispatch.py", line 951, in _runcommand
return cmdfunc()
File "/home/gps/lib/python/mercurial/dispatch.py", line 940, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/gps/lib/python/mercurial/util.py", line 1494, in check
return func(*args, **kwargs)
File "/home/gps/lib/python/mercurial/util.py", line 1494, in check
return func(*args, **kwargs)
File "/home/gps/lib/python/hgext/mq.py", line 3588, in mqcommand
return orig(ui, repo, *args, **kwargs)
File "/home/gps/lib/python/mercurial/util.py", line 1494, in check
return func(*args, **kwargs)
File "/home/gps/lib/python/mercurial/commands.py", line 4898, in status
'unknown' in show, opts.get('subrepos'))
File "/home/gps/lib/python/hgext/fsmonitor/__init__.py", line 792, in status
return overridestatus(orig, self, *args, **kwargs)
File "/home/gps/lib/python/hgext/fsmonitor/__init__.py", line 539, in
overridestatus
listsubrepos)
File "/home/gps/lib/python/mercurial/localrepo.py", line 2093, in status
listsubrepos)
File "/home/gps/lib/python/mercurial/context.py", line 360, in status
listunknown)
File "/home/gps/lib/python/mercurial/context.py", line 1790, in _buildstatus
s = self._dirstatestatus(match, listignored, listclean, listunknown)
File "/home/gps/lib/python/mercurial/context.py", line 1723, in
_dirstatestatus
clean=clean, unknown=unknown)
File "/home/gps/lib/python/mercurial/dirstate.py", line 1071, in status
elif (time != st[stat.ST_MTIME]
IndexError: tuple index out of range
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list