[pypy-dev] Bad news from the gc front

Christian Tismer tismer at stackless.com
Fri Oct 7 04:43:09 CEST 2005


Hi Armin,

we thought we had solved it.
Alas, there is something else.
I said I tested it, and I did of course, but the result depends
on what you are doing in which order. I tested a few smaller cases
first, but this is a trap, see below.


On my 1.25 GB laptop, this one crashes:

Python 2.4.1 (pypy 0.7.1 build 18236) on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
 >>>> import sys
 >>>> for i in range(100): x=range(10**7); print i,;sys.stdout.flush()
0 1 2 3 4
<crash>

But if I do a little play before, it works!
Note that the 10**6 line does not suffice once. I need it twice
to avoid the crash!

Python 2.4.1 (pypy 0.7.1 build 18236) on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
 >>>> x=range(10**6)
 >>>> x=range(10**6)
 >>>> import sys
 >>>> for i in range(100): x=range(10**7); print i,;sys.stdout.flush()
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19^C
D:\pypy\dist\pypy\translator\goal>

There is constant memory usage after the fourth iteration.

Something weird is going on, and my feeling about Boehm gc varies :-/

cheers - chris

-- 
Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/




More information about the Pypy-dev mailing list