Thread: 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
From
PG Bug reporting form
Date:
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
Re: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
From
Tom Lane
Date:
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
From
Alexander Dzuba
Date:
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
From
Michael Paquier
Date:
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
Attachment
Re: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq
From
Kyotaro Horiguchi
Date:
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