Crash running rebase (tip of crew)

Matt Mackall mpm at selenic.com
Sun Apr 19 12:30:00 CDT 2009


On Sun, 2009-04-19 at 19:19 +0200, Henrik Stuart wrote:
> Greg Ward wrote:
> > I'm running the tip of crew, rebasing my local patches on top of the
> > latest incoming changes.  I managed to make rebase crash.  Note that
> > I'm hacking on the same hg working copy that I'm running (~/bin/hg ->
> > ~/src/hg-crew/hg).
> 
> [snip]
> 
> > $ hg up -C 8084
> > $ hg rebase -d 8083
> > saving bundle to /home/scratch/src/hg-crew/.hg/strip-backup/64544ebbdbf3-temp
> > ** unknown exception encountered, details follow
> > ** report bug details to http://www.selenic.com/mercurial/bts
> > ** or mercurial at selenic.com
> > ** Mercurial Distributed SCM (version 81aba9e79054)
> > ** Extensions loaded: children, convert, graphlog, mq, patchbomb, rebase
> > Traceback (most recent call last):
> >   File "/home/greg/bin/hg", line 27, in <module>
> >     mercurial.dispatch.run()
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 16, in run
> >     sys.exit(dispatch(sys.argv[1:]))
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 25, in dispatch
> >     return _runcatch(u, args)
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 41, in _runcatch
> >     return _dispatch(ui, args)
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 372, in _dispatch
> >     return runcommand(lui, repo, cmd, fullargs, ui, options, d)
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 247, in
> > runcommand
> >     ret = _runcommand(ui, options, cmd, d)
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 417, in
> > _runcommand
> >     stats = lsprof.Stats(p.getstats())
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 377, in checkargs
> >     return cmdfunc()
> >   File "/home/scratch/src/hg-crew/mercurial/dispatch.py", line 371, in <lambda>
> >     d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
> >   File "/home/scratch/src/hg-crew/mercurial/util.py", line 718, in check
> >     the following properties of a path are checked:
> >   File "/home/scratch/src/hg-crew/hgext/rebase.py", line 131, in rebase
> >     - util.set(state.keys())):
> >   File "/home/scratch/src/hg-crew/mercurial/repair.py", line 127, in strip
> >     cl.strip(striprev, tr)
> > TypeError: strip() takes exactly 2 arguments (3 given)
> > 
> > Could this be related to the recent transactional changes to strip?
> > Or am I playing with fire by running the same hg that I am currently
> > modifying?
> 
> Part of your traceback is inside a docstring (util.py:718). I'd
> definitely say that it has to do with you rebasing the running hg.

In particular, repair.py will get demand-loaded at the end of the
process (when its API takes two arguments) while its caller gets loaded
at the beginning, when it still use three.

-- 
http://selenic.com : development and support for Mercurial and Linux




More information about the Mercurial-devel mailing list