Re: [HACKERS] Everything leaks; How it mm suppose to work? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Everything leaks; How it mm suppose to work?
Date
Msg-id 199804042159.QAA29469@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Everything leaks; How it mm suppose to work?  ("Maurice Gittens" <mgittens@gits.nl>)
List pgsql-hackers
>
>
> >
> >Running postgresql in interactive mode shows that for each query I
> >type there is memory lost. The exact amount of memory lost depends on
> >the query I use. The amount of memory not freed is also a function
> >of the number of tuples returned.
> >
>
> Oops, it seems some palloc'ed memory is not freed by pfree() but
> using some other function(s).
> My mistake, sorry.

OK, I think I know where the leak is from.  I checked AllocSetDump(), and
it did not show any problems with any context growing, so I started to
suspect direct calls to malloc().  I tried trapping on malloc(), but
there are too many calls.

Then I ran profiling on the two queries I mentioned, where one leaks and
one doesn't, and found that the leaking one had 500 extra calls to
malloc.  Grep'ing out the calls and comparing the output of the two
profiles, I found:

                0.00        0.00       1/527         ___irs_gen_acc [162]
                0.00        0.00      35/527         _GetDatabasePath [284]
                0.00        0.00     491/527         _GetDatabaseName [170]
[166]    0.8    0.00        0.00     527         _strdup [166]
                0.00        0.00     527/2030        _malloc [105]
                0.00        0.00     527/604         _strlen [508]
                0.00        0.00     527/532         _bcopy [515]


I believe this code was modified by Vadim to fix our problem with blind
write errors when using psql while the regression tests were being run.

Am I correct on this?  I have not developed a fix yet.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Everything leaks; How it mm suppose to work?
Next
From: darrenk@insightdist.com (Darren King)
Date:
Subject: Re: [HACKERS] Everything leaks; How it mm suppose to work?