Re: Why our Valgrind reports suck

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Álvaro Herrera <alvherre(at)kurilemu(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Why our Valgrind reports suck
Date: 2025-05-23 01:19:00
Message-ID: gqpqhkjz3mrsdy5kihhrht3rirlfts7hm5kac3l4vt5dz6dkbc@cpm7kgtcfe6l
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

0001:

This is rather wild, I really have only the dimmest memory of that other
thread even though I apparently resorted to reading valgrind's source code...

I think the vchunk/vpool naming, while not necessarily elegant, is helpful.

0002: Makes sense.

0003:
0004:
0005:

Ugh, that's rather gross. Not that I have a better idea. So it's probably
worth doing ...

0006: LGTM

0007:

+ /* Run the rest in xact context to avoid Valgrind leak complaints */
+ MemoryContextSwitchTo(TopTransactionContext);

It seems like it also protects at least somewhat against actual leaks?

0008: LGTM

0009:

Seems like we really ought to do more here. But it's a substantial
improvement, so let's not let perfect be the enemy of good.

0010:
0011:

Not great, but better than not doing anything.

0012:

Hm. Kinda feels like we should just always do it the USE_VALGRIND
approach. ISTM that if domain typecache entry building is a bottleneck, there
are way bigger problems than a copyObject()...

0014:

I guess I personally would try to put the freeing code into a helper, but
it's a close call.

0015:

I'd probably put the list_free() after the
LWLockRelease(LogicalRepWorkerLock)?

0016:

Agreed with the concern stated in the commit message, but addressing that
would obviously be a bigger project.

0017:

A tad weird to leave the comments above the removed = NILs in place, even
though it's obviously still correct.

0018: LGTM.

> But this is the last step to get to zero reported leaks in a run of the core
> regression tests, so let's do it.

I assume that's just about the core tests, not more? I.e. I can't make skink
enable leak checking?

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-05-23 01:48:24 Re: Why our Valgrind reports suck
Previous Message Andy Fan 2025-05-23 00:47:28 Re: parallel_safe