[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