lp:bzr/2.0 upgrade --2a runs out of memory

Brian de Alwis bsd at cs.ubc.ca
Tue Sep 8 20:14:12 BST 2009

I also completely missed that the cElementTree wasn't being installed:

> Sat 2009-09-05 09:24:02 -0400
> 0.916  bzr arguments: [u'upgrade', u'--2a']
> 1.151  looking for plugins in /Users/bsd/.bazaar/plugins
> 2.616  WARNING: using slower ElementTree; consider installing  
> cElementTree and make sure it's on your PYTHONPATH

So I completely re-installed Python 2.6, rebuilt the extensions, and  
tried it again with --no-plugins, and it still crashes from out-of- 
memory.  It's not due to running in 64-bit mode either [*].

 From looking at the log, the out-of-memory occurs when doing the  
pack.  But the resulting repository actually passes 'bzr check', so I  
tried invoking 'bzr pack' explicitly -- which succeeds.  So it does  
look like there's a memory leak somewhere.

Is there something I can do to track that down?  I looked at your  
py_memory_dump tool, but I'm a bit puzzled as to how to use it.

BTW: in case this is of any use, during the explicit 'bzr pack', the  
following warning is issued 700 times as bzr repacks the texts:

	860.249  Adding the key (<bzrlib.btree_index.BTreeGraphIndex object  
at 0x12f5e90>, 40688391, 57936914) to an LRUSizeCache failed. value  
119348773 is too big to fit in a the cache with size 41943040 52428800


[*] Although the machine is 64-bit capable, Python seems to be running  
in 32-bit mode:

	$ python2.6
	Python 2.6.2 (r262:71600, Sep  8 2009, 11:44:50)
	[GCC 4.0.1 (Apple Inc. build 5490)] on darwin
	Type "help", "copyright", "credits" or "license" for more information.
	>>> import platform
	>>> print platform.architecture()
	('32bit', '')

"Amusement to an observing mind is study." - Benjamin Disraeli

More information about the bazaar mailing list