Issue 22272: sqlite3 memory leaks in cursor.execute (original) (raw)

Created on 2014-08-25 16:26 by alibotean, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
leaking.py alibotean,2014-08-25 16:26 SQLITE3 module memory leakage example
leaking_tracemalloc.py vstinner,2014-08-25 16:53
Messages (5)
msg225878 - (view) Author: A. Libotean (alibotean) Date: 2014-08-25 16:26
There are significant memory leaks when multiple insert statements are executed with distinct values. sqlite3 version is 2.6.0 The attached file contains two variants: * one which uses string interpolation to build the query: this generates severe leakeage * the other one is using parametrized queries and the leakeage is not as bad I'm assuming that somehow the query string reference is not freed properly.
msg225879 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014-08-25 16:53
leaking_tracemalloc.py: leaking.py adapted for tracemalloc. Output: [ Top 3 lines ] leaking_tracemalloc.py:24: size=46.0 KiB (+46.0 KiB), count=476 (+476), average=99 B leaking_tracemalloc.py:17: size=847 B (+847 B), count=6 (+6), average=141 B /home/haypo/prog/python/default/Lib/_weakrefset.py:37: size=368 B (+368 B), count=2 (+2), average=184 B I'm not sure that it's a leak because it doesn't depend on the number of queries nor the number of run of the test. It's maybe an internal sqlite cache.
msg225909 - (view) Author: A. Libotean (alibotean) Date: 2014-08-26 06:46
> I'm not sure that it's a leak because it doesn't depend on the number of queries nor the number of run of the test. It's maybe an internal sqlite cache. You're right, the "leak" does not increase past ~300 queries executed.
msg225930 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-08-26 21:09
Can we close this issue then?
msg225964 - (view) Author: A. Libotean (alibotean) Date: 2014-08-27 10:41
> Can we close this issue then? Yes, please. Sorry for the false alarm.
History
Date User Action Args
2022-04-11 14:58:07 admin set github: 66468
2014-08-27 11:03:21 vstinner set status: open -> closedresolution: not a bug
2014-08-27 10:41:12 alibotean set messages: +
2014-08-26 21:09:51 ned.deily set nosy: + ned.deilymessages: +
2014-08-26 06:46:44 alibotean set messages: +
2014-08-25 16:53:19 vstinner set files: + leaking_tracemalloc.pymessages: +
2014-08-25 16:36:45 vstinner set nosy: + vstinner
2014-08-25 16:26:49 alibotean create