"RuntimeError: maximum recursion depth exceeded" during pull

Bug #306137 reported by Andrew Bennetts
2
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
Undecided
Jelmer Vernooij

Bug Description

I just upgraded to the 0.5 branch (presumably the same as the 0.5.0rc1 release), and did a "bzr pull" in a checkout of Twisted trunk. After five minutes I got a recursion error:

0.597 opening SVN RA connection to 'svn+ssh://cvs.twistedmatrix.com/svn/Twisted/trunk'
5.827 bzr-svn: using Subversion 1.5.1 ()
305.601 potential branching layouts: [('trunk0', 1975), ('root', 19), ('trunk3', 7)]
305.601 Guessed repository layout: TrunkLayout(0), guess layout to use: TrunkLayout(0)
312.952 Traceback (most recent call last):
  File "/home/andrew/code/bzr/bzrlib/commands.py", line 893, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/home/andrew/code/bzr/bzrlib/commands.py", line 839, in run_bzr
    ret = run(*run_argv)
  File "/home/andrew/code/bzr/bzrlib/commands.py", line 539, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/andrew/code/bzr/bzrlib/builtins.py", line 790, in run
    possible_transports=possible_transports)
  File "/home/andrew/code/bzr/bzrlib/decorators.py", line 192, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/home/andrew/code/bzr/bzrlib/workingtree.py", line 1537, in pull
    possible_transports=possible_transports)
  File "/home/andrew/code/bzr/bzrlib/decorators.py", line 192, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/home/andrew/code/bzr/bzrlib/branch.py", line 1959, in pull
    _override_hook_target=_override_hook_target)
  File "/home/andrew/code/bzr/bzrlib/decorators.py", line 192, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/home/andrew/code/bzr/bzrlib/branch.py", line 1759, in pull
    graph=graph)
  File "/home/andrew/code/bzr/bzrlib/decorators.py", line 192, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/home/andrew/code/bzr/bzrlib/branch.py", line 508, in update_revisions
    other_revno, other_last_revision = other.last_revision_info()
  File "/home/andrew/.bazaar/plugins/svn/branch.py", line 321, in last_revision_info
    last_revid = self.last_revision()
  File "/home/andrew/.bazaar/plugins/svn/branch.py", line 371, in last_revision
    last_revmeta = self.last_revmeta()
  File "/home/andrew/.bazaar/plugins/svn/branch.py", line 163, in last_revmeta
    for revmeta, mapping in self._revision_meta_history():
  File "/home/andrew/.bazaar/plugins/svn/branch.py", line 355, in _revision_meta_history
    self._revmeta_cache = self.repository.get_mainline(self.get_branch_path(), self._revnum or self.repository.get_latest_revnum(), self.mapping, pb=pb)
  File "/home/andrew/.bazaar/plugins/svn/repository.py", line 435, in get_mainline
    to_revnum=0, pb=pb), mapping))
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 1081, in iter_with_mapping
    (mapping, lhs_mapping) = revmeta.get_appropriate_mappings(mapping)
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 321, in get_appropriate_mappings
    original = self.get_original_mapping()
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 341, in get_original_mapping
    if not self.is_bzr_revision():
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 440, in is_bzr_revision
    if self.consider_bzr_fileprops():
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 587, in consider_bzr_fileprops
    self._consider_bzr_fileprops = (self.estimate_bzr_fileprop_ancestors() > 0)
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 390, in estimate_bzr_fileprop_ancestors
    return self._estimate_fileprop_ancestors("bzr:", estimate_bzr_ancestors)
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 375, in _estimate_fileprop_ancestors
    ret = next._estimate_fileprop_ancestors(key, estimate_fn)
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 375, in _estimate_fileprop_ancestors
    ret = next._estimate_fileprop_ancestors(key, estimate_fn)
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 375, in _estimate_fileprop_ancestors
    ret = next._estimate_fileprop_ancestors(key, estimate_fn)
[...etc...]
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 375, in _estimate_fileprop_ancestors
    ret = next._estimate_fileprop_ancestors(key, estimate_fn)
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 368, in _estimate_fileprop_ancestors
    if self.knows_fileprops() or not self.children:
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 227, in knows_fileprops
    fileprops = self.get_fileprops()
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 201, in get_fileprops
    while not lm.changes_branch_root() and lm._fileprops is None:
  File "/home/andrew/.bazaar/plugins/svn/revmeta.py", line 128, in changes_branch_root
    if self.knows_changed_fileprops():
RuntimeError: maximum recursion depth exceeded

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Launchpad is not the primary location for bzr-svn, and its mirror seems to be out of date. This bug has been fixed in 0.5 and 0.5.0rc1.

Changed in bzr-svn:
assignee: nobody → jelmer
milestone: none → 0.5.0
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.