bzr update crashes on large update (Windows warned of low virtual memory)

Bug #321805 reported by RayH on 2009-01-27
Affects Status Importance Assigned to Milestone

Bug Description

I have been using bzr to version control an installer package. The installer package contains copies of the source binaries and is pretty large. Up until now everything has been OK (13 revisions). I committed the changes on one machine successfully, but when I went to update another machine (which is a virtual machine running XP SP3 with 1GB of memory) the bzr update failed and produced the following stack trace.

Both the central server (Ubuntu Linux) and the clients (Windows XP SP3) run bzr version 1.10.

We use BZR+SSH as the transport together with putty/pageant for the key handling.

C:\nms\install\.bzr\branch>type branch.conf
bound_location = bzr+ssh://<uername>@<machine>///home/bzr/gnms/install/trunk/
bound = True

Any ideas?

Memory leak?

Here's the stack trace.

C:\nms\install\2_open_source>bzr update
Connected (version 2.0, client OpenSSH_4.6p1)
Authentication (publickey) successful!
Secsh channel 1 opened.
Unknown exception:
Traceback (most recent call last):
  File "paramiko\transport.pyo", line 1518, in run
  File "paramiko\channel.pyo", line 944, in _feed
  File "paramiko\buffered_pipe.pyo", line 78, in feed

bzr: ERROR: exceptions.MemoryError:

Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 893, in run_bzr_catch_errors
  File "bzrlib\commands.pyo", line 839, in run_bzr
  File "bzrlib\commands.pyo", line 539, in run_argv_aliases
  File "bzrlib\builtins.pyo", line 1148, in run
  File "bzrlib\workingtree.pyo", line 2140, in update
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\branch.pyo", line 2046, in update
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\branch.pyo", line 1957, in pull
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\branch.pyo", line 1757, in pull
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\branch.pyo", line 524, in update_revisions
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\branch.pyo", line 286, in fetch
  File "bzrlib\repository.pyo", line 1021, in fetch
  File "bzrlib\repository.pyo", line 3182, in fetch
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\repository.pyo", line 2880, in fetch
  File "bzrlib\repository.pyo", line 2887, in _pack
  File "bzrlib\repofmt\pack_repo.pyo", line 647, in pack
  File "bzrlib\repofmt\pack_repo.pyo", line 801, in _create_pack_from_packs
  File "bzrlib\repofmt\pack_repo.pyo", line 778, in _copy_text_texts
  File "bzrlib\repofmt\pack_repo.pyo", line 887, in _copy_nodes_graph
  File "bzrlib\repofmt\pack_repo.pyo", line 911, in _do_copy_nodes_graph
  File "bzrlib\pack.pyo", line 272, in _iter_records
  File "bzrlib\pack.pyo", line 277, in _iter_record_objects
  File "bzrlib\pack.pyo", line 218, in reader_func
  File "bzrlib\pack.pyo", line 177, in read
  File "bzrlib\pack.pyo", line 172, in _next
  File "bzrlib\transport\remote.pyo", line 370, in _readv
  File "bzrlib\transport\remote.pyo", line 377, in _handle_response
  File "bzrlib\smart\message.pyo", line 280, in read_body_bytes
  File "bzrlib\smart\message.pyo", line 228, in _wait_for_response_end
  File "bzrlib\smart\message.pyo", line 237, in _read_more
  File "bzrlib\smart\medium.pyo", line 444, in read_bytes
  File "bzrlib\smart\medium.pyo", line 456, in _read_bytes
  File "bzrlib\smart\medium.pyo", line 148, in read_bytes
  File "bzrlib\smart\medium.pyo", line 765, in _read_bytes
  File "paramiko\file.pyo", line 158, in read

bzr 1.10 on python 2.5.2 (win32)
arguments: ['bzr', 'update']
encoding: 'cp1252', fsenc: 'mbcs', lang: None
  bzrtools C:\Program Files\Bazaar\plugins\bzrtools [1.10]
  launchpad C:\Program Files\Bazaar\plugins\launchpad [unknown]
  qbzr C:\Program Files\Bazaar\plugins\qbzr [0.9.5]
  svn C:\Program Files\Bazaar\plugins\svn [0.4.16]
*** Bazaar has encountered an internal error.
    Please report a bug at
    including this traceback, and a description of what you
    were doing when the error occurred.


C:\nms\install\2_open_source>bzr --version
Bazaar (bzr) 1.10
  Python interpreter: C:\Program Files\Bazaar\python25.dll 2.5.2
  Python standard library: C:\Program Files\Bazaar\lib\
  bzrlib: C:\Program Files\Bazaar\lib\\bzrlib
  Bazaar configuration: C:\Documents and Settings\Administrator\Application Data\bazaar\2.0
  Bazaar log file: C:\Documents and Settings\Administrator\My Documents\.bzr.log

Copyright 2005, 2006, 2007, 2008 Canonical Ltd.

bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

RayH (ray-hunter) wrote :

Found a workaround myself. Just noticed that the XP client in VMWare did not have a page file set (it is disabled by default).
So I added a 512MB page file and retried the command. This time it completed successfully.

Just for the reference of others: you set the page file in My Computer/view system information/system properties/advanced/performance settings/advanced/virtual memory/change/custom size

Obviously having a page file on virtual drive is probably not the most efficient solution, but it worked.

I guess I'd still be interested to check why this operation took so much memory, although obviously it is a low priority now that the fire is nearly out. It may yet bite me one day: e.g. if the page file gets bigger.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers