d = {ord('f'): 'eff '} for i in range(100): ....s = u'f' * i ....print i ....s.translate(d) On my Panther laptop, that fails at i=25 with a MemoryError: *** malloc: vm_allocate(size=1677725696) failed (error code=3) *** malloc[2346]: error: Can't allocate region Traceback (most recent call last): ..File "", line 4, in ? MemoryError It works fine on the Linux and BSD boxes I was able to test on, though.
Logged In: YES user_id=89016 This is probably a duplicate of bug 828737 ("unicode translate leaks memory"), which should be fixed in the current version 2.3.4. Which version of Python are you using?
Logged In: YES user_id=858364 I can reproduce this on panther with python 2.3 (Apple Computer, Inc. build 1495). However, with the current 2.4 CVS head (as of 29 Sept) compiled on the same computer, this bug is gone.