[Bug 720853] Re: bzr crashed with RuntimeError in normpath(): maximum recursion depth exceeded while calling a Python object
Shannon Weyrick
720853 at bugs.launchpad.net
Thu Sep 29 16:46:44 UTC 2011
After some investigation it seems that the source of the recursion
problem is that while indexing, a node is being serialized to a length >
PAGE_SIZE. There is currently no assertion check for that, so it
recurses infinitely trying to expand the tree to fit it, in vain.
With the size assertion added, the operation stops pretty quickly (30s
or so, rather than stopping at 18m at the max recursion depth).
Currently trying to see why the node is so large in this case.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to bzr in Ubuntu.
https://bugs.launchpad.net/bugs/720853
Title:
bzr crashed with RuntimeError in normpath(): maximum recursion depth
exceeded while calling a Python object
Status in Bazaar Version Control System:
Confirmed
Status in bzr-search:
Confirmed
Status in “bzr” package in Ubuntu:
Confirmed
Bug description:
Binary package hint: bzr
bzr index always fails on lp:ubiquity.
ProblemType: Crash
DistroRelease: Ubuntu 11.04
Package: bzr 2.3.0-2
ProcVersionSignature: Ubuntu 2.6.38-3.30-generic 2.6.38-rc4
Uname: Linux 2.6.38-3-generic x86_64
Architecture: amd64
BzrDebugFlags: set()
BzrVersion: 2.3.0
CommandLine: ['/usr/bin/bzr', 'index']
CrashDb: bzr
Date: Thu Feb 17 11:12:31 2011
ExecutablePath: /usr/bin/bzr
FileSystemEncoding: UTF-8
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100109)
InterpreterPath: /usr/bin/python2.7
Locale: en_GB.UTF-8
PackageArchitecture: all
Platform: Linux-2.6.38-3-generic-x86_64-with-Ubuntu-11.04-natty
ProcCmdline: /usr/bin/python /usr/bin/bzr index
PythonVersion: 2.7.1
SourcePackage: bzr
Title: bzr crashed with RuntimeError in normpath(): maximum recursion depth exceeded while calling a Python object
UserEncoding: UTF-8
UserGroups: adm admin cdrom dialout libvirtd lpadmin plugdev sambashare
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/bzrlib/commands.py", line 923, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/bzrlib/commands.py", line 1123, in run_bzr
ret = run(*run_argv)
File "/usr/lib/pymodules/python2.7/bzrlib/commands.py", line 691, in run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/pymodules/python2.7/bzrlib/commands.py", line 710, in run
return self._operation.run_simple(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/bzrlib/cleanup.py", line 135, in run_simple
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/pymodules/python2.7/bzrlib/cleanup.py", line 165, in _do_with_cleanups
result = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/search/commands.py", line 41, in run
_mod_index.index_url(trans.base)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/search/index.py", line 169, in index_url
index.index_revisions(branch, revs_to_index)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/search/index.py", line 341, in index_revisions
outer_bar)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/search/index.py", line 389, in _index_revisions
self._add_index(builder)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/search/index.py", line 402, in _add_index
self._upload_transport)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/search/index.py", line 1128, in upload_index
term_indices[len(term)].add_node(term, term_value, ())
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 174, in add_node
self._spill_mem_keys_to_disk()
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 191, in _spill_mem_keys_to_disk
backing_pos) = self._spill_mem_keys_and_combine()
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 225, in _spill_mem_keys_and_combine
allow_optimize=False)
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 385, in _write_nodes
self._add_key(string_key, line, rows, allow_optimize=allow_optimize)
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 351, in _add_key
self._add_key(string_key, line, rows, allow_optimize=allow_optimize)
.....
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 351, in _add_key
self._add_key(string_key, line, rows, allow_optimize=allow_optimize)
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 351, in _add_key
self._add_key(string_key, line, rows, allow_optimize=allow_optimize)
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 328, in _add_key
row.finish_node()
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 98, in finish_node
_BuilderRow.finish_node(self)
File "/usr/lib/pymodules/python2.7/bzrlib/btree_index.py", line 76, in finish_node
spool = tempfile.TemporaryFile(prefix='bzr-index-row-')
File "/usr/lib/python2.7/tempfile.py", line 478, in TemporaryFile
(fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
File "/usr/lib/python2.7/tempfile.py", line 230, in _mkstemp_inner
return (fd, _os.path.abspath(file))
File "/usr/lib/python2.7/posixpath.py", line 349, in abspath
return normpath(path)
File "/usr/lib/python2.7/posixpath.py", line 315, in normpath
slash, dot = (u'/', u'.') if isinstance(path, unicode) else ('/', '.')
RuntimeError: maximum recursion depth exceeded while calling a Python object
To manage notifications about this bug go to:
https://bugs.launchpad.net/bzr/+bug/720853/+subscriptions
More information about the foundations-bugs
mailing list