Обсуждение: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
От
PG Bug reporting form
Дата:
The following bug has been logged on the website: Bug reference: 17184 Logged by: Alexander Dzyuba Email address: kaegoorn48@gmail.com PostgreSQL version: 12.8 Operating system: Linux Description: Valgrind shows static variable memory is not freed when using openssl libpq/fe-secure-openssl.c:1571 static BIO_METHOD *my_bio_methods; Please add a method that will free memory after use
PG Bug reporting form <noreply@postgresql.org> writes:
> Valgrind shows static variable memory is not freed when using openssl
> libpq/fe-secure-openssl.c:1571
> static BIO_METHOD *my_bio_methods;
> Please add a method that will free memory after use
Why? It's not leaked: the struct is still available for use
in future connection attempts.
regards, tom lane
Re: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
От
Alexander Dzuba
Дата:
I know that this is not the real leak, but memcheck analysis shows that the memory was not released. Because of this, CI tests fail and deploy is blocked.
ср, 8 сент. 2021 г. в 16:35, Tom Lane <tgl@sss.pgh.pa.us>:
PG Bug reporting form <noreply@postgresql.org> writes:
> Valgrind shows static variable memory is not freed when using openssl
> libpq/fe-secure-openssl.c:1571
> static BIO_METHOD *my_bio_methods;
> Please add a method that will free memory after use
Why? It's not leaked: the struct is still available for use
in future connection attempts.
regards, tom lane
Re: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
От
Michael Paquier
Дата:
On Thu, Sep 09, 2021 at 08:32:58AM +0300, Alexander Dzuba wrote: > I know that this is not the real leak, but memcheck analysis shows that the > memory was not released. Because of this, CI tests fail and deploy is > blocked. Perhaps there is room for improvement in valgrind.supp then? -- Michael
Вложения
Re: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
От
Kyotaro Horiguchi
Дата:
At Fri, 10 Sep 2021 11:12:21 +0900, Michael Paquier <michael@paquier.xyz> wrote in
> On Thu, Sep 09, 2021 at 08:32:58AM +0300, Alexander Dzuba wrote:
> > I know that this is not the real leak, but memcheck analysis shows that the
> > memory was not released. Because of this, CI tests fail and deploy is
> > blocked.
>
> Perhaps there is room for improvement in valgrind.supp then?
If I specified '--leak-check=full --show-leak-kinds=reachable' (or
'all') for psql, I see many other complaints for the other than the
my_BIO_s_socket. And I saw two errors in my_BIO_s_socket.
So even if I tried to silence valgrind about the errors by inserting
something like the below into the file, still there are many other
errors.
{
<insert_a_suppression_name_here>
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
...
fun:initialize_SSL
}
The following beats out all reachable errors come from malloc, realloc
and calloc (and any other *alloc's:p) but I don't think this is what
we want here...
{
<insert_a_suppression_name_here>
Memcheck:Leak
match-leak-kinds: reachable
fun:*alloc
}
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center