From: | Karina Litskevich <litskevichkarina(at)gmail(dot)com> |
---|---|
To: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Possible false valgrind error reports |
Date: | 2023-02-14 14:49:27 |
Message-ID: | CACiT8iaAET-fmzjjZLjaJC4zwSJmrFyL7LAdHwaYyjjQOQ4hcg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi hackers,
In 82d0a46ea32 AllocSetRealloc() was changed to allow decreasing size of
external chunks and give memory back to the malloc pool. Two
VALGRIND_MAKE_MEM_UNDEFINED() calls were not changed to work properly in the
case of decreasing size: they can mark memory behind the new allocated
memory
UNDEFINED. If this memory was already allocated and initialized, it's
expected
to be DEFINED. So it can cause false valgrind error reports. I fixed it in
0001
patch.
Also, it took me a while to understand what's going on there, so in 0002
patch
I tried to improve comments and renamed a variable. Its name "oldsize"
confused
me. I first thought "oldsize" and "size" represent the same parameters of
the
old and new chunk. But actually "size" is new "chunk->requested_size" and
"oldsize" is old "chksize". So I believe it's better to rename "oldsize"
into
"oldchksize".
Best regards,
Karina Litskevich
Postgres Professional: http://postgrespro.com/
Attachment | Content-Type | Size |
---|---|---|
v1-0001-Fix-VALGRIND_MAKE_MEM_DEFINED-calls.patch | text/x-patch | 1.3 KB |
v1-0002-Better-comments-and-variable-name-in-AllocSetReal.patch | text/x-patch | 5.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Anton A. Melnikov | 2023-02-14 15:52:20 | Re: odd buildfarm failure - "pg_ctl: control file appears to be corrupt" |
Previous Message | Drouvot, Bertrand | 2023-02-14 14:43:26 | Re: Reconcile stats in find_tabstat_entry() and get rid of PgStat_BackendFunctionEntry |