Re: BUG #15700: PG 10 vs. 11: Large increase in memory usage when selecting BYTEA data (maybe memory leak) - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15700: PG 10 vs. 11: Large increase in memory usage when selecting BYTEA data (maybe memory leak)
Date
Msg-id 16692.1552945061@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #15700: PG 10 vs. 11: Large increase in memory usage when selecting BYTEA data (maybe memory leak)  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #15700: PG 10 vs. 11: Large increase in memory usage when selecting BYTEA data (maybe memory leak)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
I wrote:
> Jeff Janes <jeff.janes@gmail.com> writes:
>> The culprit is f2dec34e19d3969ddd6.

> Hmm.  I bet problem is that the buf isn't being freed in
> printtup_shutdown.

Yup; the attached fixes it.  Will push after a bit more testing.

            regards, tom lane

diff --git a/src/backend/access/common/printtup.c b/src/backend/access/common/printtup.c
index e4ee5c9..5eb928b 100644
*** a/src/backend/access/common/printtup.c
--- b/src/backend/access/common/printtup.c
*************** printtup_create_DR(CommandDest dest)
*** 91,96 ****
--- 91,97 ----
       */
      self->sendDescrip = (dest == DestRemote);

+     self->buf.data = NULL;
      self->attrinfo = NULL;
      self->nattrs = 0;
      self->myinfo = NULL;
*************** printtup_shutdown(DestReceiver *self)
*** 547,552 ****
--- 548,557 ----
      if (myState->tmpcontext)
          MemoryContextDelete(myState->tmpcontext);
      myState->tmpcontext = NULL;
+
+     if (myState->buf.data)
+         pfree(myState->buf.data);
+     myState->buf.data = NULL;
  }

  /* ----------------

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #15700: PG 10 vs. 11: Large increase in memory usage when selecting BYTEA data (maybe memory leak)
Next
From: Andres Freund
Date:
Subject: Re: BUG #15700: PG 10 vs. 11: Large increase in memory usage whenselecting BYTEA data (maybe memory leak)