New issue 2287: __del__ on subclasses of some built-in types can crash
https://bitbucket.org/pypy/pypy/issues/2287/__del__-on-subclasses-of-some-built-in

Armin Rigo:

This crashes PyPy:

```
#!python
import array, gc

class X(array.array):
    def __del__(self):
        global saved
        saved = self

while True:
    X('i', [2,3,4])
    gc.collect()
    saved[0] += 1
```

The issue is that when we have both an app-level and an interp-level 
``__del__``, and the interp-level one is supposed to be a lightweight 
finalizer, we call the interp-level one always after calling the app-level one. 
 But the lightweight finalizer of classes like W_Array is written with this 
basic property in mind: after it is called, there should be no more references 
to the object.

A proper fix is involved; I suppose we should give a try again to the 
``gc-del`` branch.


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to