Issue #2435 closed

crash in hgqt\repomodel - revlog index out of range

Anonymous created an issue

I was working in tortoisehg workbench when the drive hosting my project went away. When i focused the tortoisehg window, the error was not gracefully handled. The full error log is attached.

    ** Mercurial version (2.4.2).  TortoiseHg version (2.6.2)
    ** Command: --nofork workbench
    ** CWD: W:\myclient-stable
    ** Encoding: cp1252
    ** Extensions loaded: 
    ** Python version: 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
    ** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
    ** Processor architecture: x64
    ** Qt-4.8.0 PyQt-4.9.1
    Traceback (most recent call last):
      File "tortoisehg\hgqt\repomodel.pyo", line 528, in flags
      File "mercurial\localrepo.pyo", line 801, in changectx
      File "tortoisehg\hgqt\thgrepo.pyo", line 299, in __getitem__
      File "mercurial\localrepo.pyo", line 351, in __getitem__
      File "mercurial\context.pyo", line 29, in __init__
      File "mercurial\changelog.pyo", line 190, in node
      File "mercurial\revlog.pyo", line 307, in node
    IndexError: revlog index out of range

Comments (5)

  1. Steve Borho

    We catch the more typical exceptions from Mercurial on situations like this. But an IndexError is pretty unusual, and typically indicates a bug some where. so we're likely to leave these without exception handlers.

    The error is obviously harmless, since the repository is unreachable.

  2. Mark Jordan

    I hit this same error without an unreachable repository. It requires quitting the workbench since the error pops up again as soon as you dismiss it.

    One reproduction is to have some mq patches applied, open up a "file history" window, unapply some patches (so you now have fewer revisions in the repository I guess) and focus the file history window again.

  3. Log in to comment