Thread: Re: Why our Valgrind reports suck

Re: Why our Valgrind reports suck

From
Andres Freund
Date:
Hi,

On 2025-05-09 11:29:43 -0400, Andres Freund wrote:
> We currently don't reset TopMemoryContext at exit, which, obviously, does
> massively increase the number of leaks. But OTOH, without that there's not a
> whole lot of value in the leak check...

Briefly looking through the leaks indeed quickly found a real seeming leak,
albeit of limited size:
ProcessStartupPacket() does
    buf = palloc(len + 1);
in TopMemoryContext() without ever freeing it.


I have wondered if we ought to have some infrastructure to tear down all
relcache, catcache entries (and other similar things) before shutdown if
MEMORY_CONTEXT_CHECKING is enabled. That would make it a lot easier to see
leaks at shutdown. We certainly have had leaks in relcache etc...

Greetings,

Andres Freund



Re: Why our Valgrind reports suck

From
Tom Lane
Date:
Andres Freund <andres@anarazel.de> writes:
> Briefly looking through the leaks indeed quickly found a real seeming leak,
> albeit of limited size:
> ProcessStartupPacket() does
>     buf = palloc(len + 1);
> in TopMemoryContext() without ever freeing it.

Yeah, I saw that too.  Didn't seem worth doing anything about it
unless we make pretty massive cleanups elsewhere.

> I have wondered if we ought to have some infrastructure to tear down all
> relcache, catcache entries (and other similar things) before shutdown if
> MEMORY_CONTEXT_CHECKING is enabled. That would make it a lot easier to see
> leaks at shutdown. We certainly have had leaks in relcache etc...

I'd be content if all that stuff was shown as "still reachable".

            regards, tom lane