[pypy-issue] Issue #2002: sqlite connection handles not getting garbage collected without close (pypy/pypy)

David MacIver issues-reply at bitbucket.org
Wed Mar 18 19:18:32 CET 2015


New issue 2002: sqlite connection handles not getting garbage collected without close
https://bitbucket.org/pypy/pypy/issue/2002/sqlite-connection-handles-not-getting

David MacIver:

The following code runs in bounded memory in cpython and just continually allocates an never frees it in pypy:


```
#!python

import sqlite3

while True:
    sqlite3.connect(":memory:")
  
```

If you close the connection pypy also runs in bounded memory.

The [Pep 249 Spec](https://www.python.org/dev/peps/pep-0249/) suggests that close is supposed to happen in __del__, though the sqlite3 API doesn't explicitly say that this happens.

I know pypy doesn't do deterministic destruction, but it doesn't look like this is ever getting its destructor called.




More information about the pypy-issue mailing list