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

            Bug ID: 6534
           Summary: Crash on hg rebase
           Product: Mercurial
           Version: 5.8rc0
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: rebase
          Assignee: bugzi...@mercurial-scm.org
          Reporter: ja...@jaccovanschaik.net
                CC: mercurial-devel@mercurial-scm.org
    Python Version: ---

Created attachment 2119
  --> https://bz.mercurial-scm.org/attachment.cgi?id=2119&action=edit
Setup script.

The attached shell script sets up the preconditions for the error. It occurs
when subsequently issuing the command "hg rebase --base B1 --dest tip"

The error is as follows:
--- %< ---
14:01 OK jacco@occam:~/Test/R1 > hg rebase --base B1 --dest tip
rebasing 5:4dc0d1c2ae45 "B1: expand file1, add file4"
rebasing 6:9c67f0addbbb "B1: expand file2"
saved backup bundle to
/home/jacco/Test/R1/.hg/strip-backup/4dc0d1c2ae45-8bc4e8d8-rebase.hg
strip failed, backup bundle stored in
'/home/jacco/Test/R1/.hg/strip-backup/4dc0d1c2ae45-8bc4e8d8-rebase.hg'
strip failed, unrecovered changes stored in
'/home/jacco/Test/R1/.hg/strip-backup/4dc0d1c2ae45-737ab3ea-temp.hg'
(fix the problem, then recover the changesets with "hg unbundle
'/home/jacco/Test/R1/.hg/strip-backup/4dc0d1c2ae45-737ab3ea-temp.hg'")
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.9.5 (default, May 11 2021, 08:20:37) [GCC 10.3.0]
** Mercurial Distributed SCM (version 5.8+hg20.9f798c1b0d89)
** Extensions loaded: hgk, rebase
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/mercurial/revlog.py", line 1305,
in headrevs
    return self.index.headrevs()
AttributeError: 'revlogoldindex' object has no attribute 'headrevs'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/hg", line 59, in <module>
    dispatch.run()
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
144, in run
    status = dispatch(req)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
250, in dispatch
    status = _rundispatch(req)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
294, in _rundispatch
    ret = _runcatch(req) or 0
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
470, in _runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
480, in _callcatch
    return scmutil.callcatch(ui, func)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/scmutil.py", line 155,
in callcatch
    return func()
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
460, in _runcatchfunc
    return _dispatch(req)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
1263, in _dispatch
    return runcommand(
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
918, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
1275, in _runcommand
    return cmdfunc()
  File "/usr/local/lib/python3.9/dist-packages/mercurial/dispatch.py", line
1261, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/util.py", line 1884,
in check
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/hgext/rebase.py", line 1134, in
rebase
    return _dorebase(ui, repo, action, opts)
  File "/usr/local/lib/python3.9/dist-packages/hgext/rebase.py", line 1202, in
_dorebase
    return _origrebase(ui, repo, action, opts, rbsrt)
  File "/usr/local/lib/python3.9/dist-packages/hgext/rebase.py", line 1282, in
_origrebase
    rbsrt._finishrebase()
  File "/usr/local/lib/python3.9/dist-packages/hgext/rebase.py", line 773, in
_finishrebase
    clearrebased(
  File "/usr/local/lib/python3.9/dist-packages/hgext/rebase.py", line 2114, in
clearrebased
    scmutil.cleanupnodes(repo, replacements, b'rebase', moves, backup=backup)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/scmutil.py", line
1224, in cleanupnodes
    repair.delayedstrip(
  File "/usr/local/lib/python3.9/dist-packages/mercurial/util.py", line 1373,
in __exit__
    self.close()
  File "/usr/local/lib/python3.9/dist-packages/mercurial/transaction.py", line
44, in _active
    return func(self, *args, **kwds)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/transaction.py", line
620, in close
    self._postclosecallback[cat](self)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/repair.py", line 394,
in __call__
    strip(self.ui, self.repo, roots, self.backup, self.topic)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/repair.py", line 250,
in strip
    bundle2.applybundle(
  File "/usr/local/lib/python3.9/dist-packages/mercurial/bundle2.py", line 375,
in applybundle
    return processbundle(repo, unbundler, lambda: tr, source=source)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/bundle2.py", line 486,
in processbundle
    processparts(repo, op, unbundler)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/bundle2.py", line 494,
in processparts
    _processpart(op, part)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/bundle2.py", line 568,
in _processpart
    handler(op, part)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/bundle2.py", line
2032, in handlechangegroup
    ret = _processchangegroup(
  File "/usr/local/lib/python3.9/dist-packages/mercurial/bundle2.py", line 498,
in _processchangegroup
    ret = cg.apply(op.repo, tr, source, url, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/mercurial/changegroup.py", line
327, in apply
    oldheads = set(cl.heads())
  File "/usr/local/lib/python3.9/dist-packages/mercurial/revlog.py", line 1339,
in heads
    return [self.node(r) for r in self.headrevs()]
  File "/usr/local/lib/python3.9/dist-packages/mercurial/revlog.py", line 1307,
in headrevs
    return self._headrevs()
  File "/usr/local/lib/python3.9/dist-packages/mercurial/revlog.py", line 1325,
in _headrevs
    ishead[e[5]] = ishead[e[6]] = 0  # my parent are not
IndexError: list assignment index out of range
--- %< ---

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to