maximum recursion depth exceeded in dispatch.py/util.py

Dominik Psenner dpsenner at gmail.com
Tue Aug 2 02:08:19 CDT 2011


Hi list,

I'm moving this from thg-dev to this list since Steve B. believes this bug
is unrelated to thg.

To summarize what we've found out so far:

After several days working with the thg-workbench, mercurial decided to run
into an infinite recursion between mercurial/util.py:385 and
mercurial/dispatch.py:345 using Mercurial-1.9+10-e9264b45237d.

During the past days all worked just fine. I've seen no errors with the
commands push, pull, rebase, mq, incoming, outgoing or others that are not
wanted behaviour. But after some time thg-workbench gets into a state where
it is no longer able to push changes and this gets caught in the console
output:

Exception RuntimeError: 'maximum recursion depth exceeded while calling a
Python object' in <type 'exceptions.AttributeError'> ignore
Traceback (most recent call last):
  File "tortoisehg\hgqt\thread.pyo", line 274, in run
  File "tortoisehg\util\hglib.pyo", line 719, in dispatch
  File "mercurial\dispatch.pyo", line 675, in _dispatch
  File "mercurial\dispatch.pyo", line 454, in runcommand
  File "mercurial\dispatch.pyo", line 729, in _runcommand
  File "mercurial\dispatch.pyo", line 683, in checkargs
  File "mercurial\dispatch.pyo", line 672, in <lambda>
  File "mercurial\util.pyo", line 385, in check
  File "mercurial\dispatch.pyo", line 345, in __call__
  [recursion between util:385 and dispatch:345]
  File "mercurial\dispatch.pyo", line 345, in __call__
  File "mercurial\util.pyo", line 385, in check
  File "mercurial\dispatch.pyo", line 345, in __call__
  File "mercurial\util.pyo", line 385, in check
  File "mercurial\dispatch.pyo", line 341, in __call__
AttributeError: 'cmdalias' object has no attribute 'shell'

Since it works just fine for days and thg-workbench works just fine when I
start a new process, it should be something cached at runtime.

Steve asked me for my aliases since they are the prime cause for the
symptom. This is what I've defined:

[alias]
latest = log --limit 5
push = push --new-branch
diff = diff -a

But still it is unclear to me why these aliases work fine for several days.
Any Ideas?

Greetings,
D.



More information about the Mercurial-devel mailing list