From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | "jian(dot)long(at)i-soft(dot)com(dot)cn" <jian(dot)long(at)i-soft(dot)com(dot)cn> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Is there a memory leak in commit 8561e48? |
Date: | 2018-04-19 06:10:42 |
Message-ID: | 20180419061042.GC16000@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Apr 19, 2018 at 11:38:09AM +0800, jian(dot)long(at)i-soft(dot)com(dot)cn wrote:
> in commit 8561e48, _SPI_stack alloc from TopMemoryContext. But
> AtEOXact_SPI just set _SPI_stack = NULL. Is this a memory leak?
You are right. I can easily see the leak if I use for example a
background worker which connects to a database, and launches many
transactions in a row. The laziest reproducer I have is to patch one of
my bgworkers to launch millions of transactions in a tight loop and the
leak is plain (this counts relations automatically, does not matter):
https://github.com/michaelpq/pg_plugins/tree/master/count_relations
TopMemoryContext is associated to a session, so the comment in
AtEOXact_SPI() is wrong.
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2018-04-19 06:13:33 | Re: WIP: Covering + unique indexes. |
Previous Message | Kyotaro HORIGUCHI | 2018-04-19 06:08:13 | Re: Problem while updating a foreign table pointing to a partitioned table on foreign server |