Re: memory leak regression 9.1 versus 8.1
Joe Conway <mail@joeconway.com>
From: Joe Conway <mail@joeconway.com>
To: "Hackers (PostgreSQL)" <pgsql-hackers@postgresql.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-05-10T02:36:01Z
Lists: pgsql-hackers
Attachments
- memory-leak.001.diff (text/x-patch) patch
On 05/09/2012 05:06 PM, Joe Conway wrote: > OK, new script. This more faithfully represents the real life scenario, > and reproduces the issue on HEAD with out-of-the-box config settings, > versus 8.1 which completes the query having never exceeded a very modest > memory usage: > > --------------- > On pg 8.1 with out of the box config: > VIRT RES SHR > 199m 11m 3032 > --------------- > On pg head with out of the box config: > VIRT RES SHR > 1671m 1.5g 16m > --------------- The attached one-liner seems to plug up the majority (although not quite all) of the leakage. do_convert_tuple() is allocating a new tuple for every row in the loop and exec_stmt_return_next() is leaking it. The query now finishes successfully. On pg head with attached patch and out of the box config: VIRT RES SHR 196m 35m 31m This look sane/correct? Joe -- Joe Conway credativ LLC: http://www.credativ.us Linux, PostgreSQL, and general Open Source Training, Service, Consulting, & 24x7 Support