Comment 0 for bug 890085

Revision history for this message
Martin Pool (mbp) wrote :

bzr crashes when committing a file nearly twice the size of available memory.

NOTE: please only dupe or comment this bug if you're seeing this specific traceback; otherwise please vote for bug 109114 for generic memory issues.

Following on from bug 566940, bug 185072, bug 109114.

To reproduce:

  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 923, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 1128, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 676, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 698, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/builtins.py", line 3497, in run
    lossy=lossy)
  File "/usr/lib/python2.7/dist-packages/bzrlib/decorators.py", line 217, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/workingtree_4.py", line 208, in commit
    result = WorkingTree.commit(self, message, revprops, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/decorators.py", line 217, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/mutabletree.py", line 210, in commit
    *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commit.py", line 289, in commit
    lossy=lossy)
  File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 131, in run
    self.cleanups, self.func, self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bzrlib/commit.py", line 431, in _commit
    self._update_builder_with_changes()
  File "/usr/lib/python2.7/dist-packages/bzrlib/commit.py", line 691, in _update_builder_with_changes
    self.work_tree, self.basis_revid, iter_changes):
  File "/usr/lib/python2.7/dist-packages/bzrlib/vf_repository.py", line 760, in record_iter_changes
    file_id, text, heads, nostore_sha)
  File "/usr/lib/python2.7/dist-packages/bzrlib/vf_repository.py", line 829, in _add_text_to_weave
    nostore_sha=nostore_sha, random_id=self.random_revid)[0:2]
  File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 1320, in _add_text
    nostore_sha=nostore_sha))[0]
  File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 1857, in _insert_record_stream
    flush()
  File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 1721, in flush
    bytes_len, chunks = self._compressor.flush().to_chunks()
  File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 336, in to_chunks
    self._create_z_content()
  File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 332, in _create_z_content
    self._create_z_content_from_chunks(chunks)
  File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 316, in _create_z_content_from_chunks
    compressed_chunks = map(compressor.compress, chunks)
MemoryError