Re: [gnome-db] Newbie question: do why I get this memory leak?
silvioprog <[email protected]> Fri, 27 Jan 2017 03:18:19 -0300
| Newsgroups | gmane.comp.gnome.db |
|---|---|
| Message-ID | <CAKq_V2JznhYME0FndDqfzt8+i0aRpV_+C2L0yNHFgtvNFM8joA@mail.gmail.com> |
--===============2515306323663317175==
Content-Type: multipart/alternative; boundary=001a113cffd0fd3d3a05470d7023
--001a113cffd0fd3d3a05470d7023
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Unfortunately, same problem in copy installed from trunk (libgda-6.0):
#include <libgda.h>
int main() {
GdaConnection *cnc;
gda_init();
cnc =3D gda_connection_open_from_string("SQLite",
"DB_DIR=3D.;DB_NAME=3Dtest", NULL,
GDA_CONNECTION_OPTIONS_NONE, NULL=
);
g_object_unref(cnc);
return EXIT_SUCCESS;
}
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D12278=3D=3DERROR: LeakSanitizer: detected memory leaks
Direct leak of 72 byte(s) in 3 object(s) allocated from:
#0 0x7f69088a0cdd in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/
liblsan.so.0+0xccdd)
#1 0x7f6906c5f780 in g_malloc0 (/lib/x86_64-linux-gnu/
libglib-2.0.so.0+0x4f780)
Direct leak of 15 byte(s) in 3 object(s) allocated from:
#0 0x7f69088a0795 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/
liblsan.so.0+0xc795)
#1 0x7f690737d521 in xmlStrdup (/usr/lib/x86_64-linux-gnu/
libxml2.so.2+0xd4521)
Indirect leak of 10 byte(s) in 1 object(s) allocated from:
#0 0x7f69088a0795 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/
liblsan.so.0+0xc795)
#1 0x7f6906c5f728 in g_malloc (/lib/x86_64-linux-gnu/
libglib-2.0.so.0+0x4f728)
SUMMARY: LeakSanitizer: 97 byte(s) leaked in 7 allocation(s).
Process finished with exit code 23
On Thu, Jan 26, 2017 at 11:55 PM, silvioprog <[email protected]> wrote:
> Same problem in full example: https://developer.gno
> me.org/libgda/stable/main_example.html . :-/
>
> ref | name | price
> ------+-------+---------
> p1 | chair | 2.000000
> p2 | table | 5.000000
> p3 | glass | 1.100000
> p1000 | ??? | NULL
> p1001 | ??? | NULL
> (5 rows)
> ref | name | price
> ------+---------+---------
> p1 | chair | 2.000000
> p2 | table | 5.000000
> p3 | glass | 1.100000
> p1000 | flowers | 1.990000
> p1001 | ??? | NULL
> (5 rows)
> ref | name | price
> ------+---------+---------
> p1 | chair | 2.000000
> p3 | glass | 1.100000
> p1000 | flowers | 1.990000
> (3 rows)
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =3D=3D9425=3D=3DERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 72 byte(s) in 3 object(s) allocated from:
> #0 0x7f61eb99acdd in __interceptor_calloc
> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xccdd)
> #1 0x7f61eb6cc780 in g_malloc0 (/lib/x86_64-linux-gnu/libglib
> -2.0.so.0+0x4f780)
>
> Direct leak of 15 byte(s) in 3 object(s) allocated from:
> #0 0x7f61eb99a795 in __interceptor_malloc
> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xc795)
> #1 0x7f61e9cf5521 in xmlStrdup (/usr/lib/x86_64-linux-gnu/lib
> xml2.so.2+0xd4521)
>
> Indirect leak of 10 byte(s) in 1 object(s) allocated from:
> #0 0x7f61eb99a795 in __interceptor_malloc
> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xc795)
> #1 0x7f61eb6cc728 in g_malloc (/lib/x86_64-linux-gnu/libglib
> -2.0.so.0+0x4f728)
>
> SUMMARY: LeakSanitizer: 97 byte(s) leaked in 7 allocation(s).
>
> Process finished with exit code 23
>
> On Thu, Jan 26, 2017 at 11:16 PM, silvioprog <[email protected]> wrote=
:
>
>> Hello masters, I'm newbie here.
>>
>> Well, I need to develop a DB application, so libgda will help me a lot i=
n
>> that task. However, doing some two basic tests, I found memory in both:
>>
>> #include <libgda.h>
>>
>> int main() {
>> GdaConnection *connection;
>> g_print("CONNECTING\n");
>> connection =3D gda_connection_open_from_dsn("calvaris", NULL, GDA_CO=
NNECTION_OPTIONS_READ_ONLY, NULL);
>> if (!connection) {
>> g_print("CONNECTION FAILED\n");
>> return EXIT_FAILURE;
>> }
>> g_print("CONNECTED\n");
>> g_object_unref(G_OBJECT (connection));
>> return EXIT_SUCCESS;
>> }
>>
>> result:
>>
>> CONNECTING
>> CONNECTION FAILED
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> =3D=3D6364=3D=3DERROR: LeakSanitizer: detected memory leaks
>>
>> Direct leak of 72 byte(s) in 3 object(s) allocated from:
>> #0 0x7fa242cd0cdd in __interceptor_calloc
>> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xccdd)
>> #1 0x7fa242a02780 in g_malloc0 (/lib/x86_64-linux-gnu/libglib
>> -2.0.so.0+0x4f780)
>>
>> Indirect leak of 10 byte(s) in 1 object(s) allocated from:
>> #0 0x7fa242cd0795 in __interceptor_malloc
>> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xc795)
>> #1 0x7fa242a02728 in g_malloc (/lib/x86_64-linux-gnu/libglib
>> -2.0.so.0+0x4f728)
>>
>> SUMMARY: LeakSanitizer: 82 byte(s) leaked in 4 allocation(s).
>>
>> Process finished with exit code 23
>>
>> Same leak using a valid connection:
>>
>> #include <libgda.h>
>>
>> int main() {
>> GdaConnection *connection;
>> g_print("CONNECTING\n");
>> connection =3D gda_connection_open_from_string("SQLite", "DB_DIR=3D.=
;DB_NAME=3Dtest.sqlite3", NULL, GDA_CONNECTION_OPTIONS_NONE, NULL);
>> if (!connection) {
>> g_print("CONNECTION FAILED\n");
>> return EXIT_FAILURE;
>> }
>> g_print("CONNECTED\n");
>> g_object_unref(G_OBJECT (connection));
>> return EXIT_SUCCESS;
>> }
>>
>> result:
>>
>> CONNECTING
>> CONNECTED
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> =3D=3D6734=3D=3DERROR: LeakSanitizer: detected memory leaks
>>
>> Direct leak of 72 byte(s) in 3 object(s) allocated from:
>> #0 0x7f4f60ea3cdd in __interceptor_calloc
>> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xccdd)
>> #1 0x7f4f60bd5780 in g_malloc0 (/lib/x86_64-linux-gnu/libglib
>> -2.0.so.0+0x4f780)
>>
>> Indirect leak of 10 byte(s) in 1 object(s) allocated from:
>> #0 0x7f4f60ea3795 in __interceptor_malloc
>> (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xc795)
>> #1 0x7f4f60bd5728 in g_malloc (/lib/x86_64-linux-gnu/libglib
>> -2.0.so.0+0x4f728)
>>
>> SUMMARY: LeakSanitizer: 82 byte(s) leaked in 4 allocation(s).
>>
>> Process finished with exit code 23
>>
>> Why?! :-/
>>
>> My CMake file:
>>
>> cmake_minimum_required(VERSION 3.6)
>> project(testes)
>>
>> set(CMAKE_C_STANDARD 99)
>>
>> set(CMAKE_C_FLAGS "-g -fsanitize=3Dleak")
>>
>> add_definitions(-I/usr/local/include/libgda-5.0)
>> add_definitions(-I/usr/local/include/libgda-5.0/libgda)
>> add_definitions(-I/usr/include/glib-2.0)
>> add_definitions(-I/usr/lib/x86_64-linux-gnu/glib-2.0/include)
>> add_definitions(-I/usr/include/libxml2)
>>
>> set(SOURCE_FILES main.c)
>> add_executable(testes ${SOURCE_FILES})
>> target_link_libraries(testes pthread glib-2.0 gobject-2.0 gda-5.0)
>>
>> My environment:
>>
>> OS Xubuntu 16.04 64 bits
>> gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
>> $ pkg-config glib-2.0 libgda-5.0 --modversion
>> 2.48.1
>> 5.2.4
>>
>> Thank you!
>>
>> --
>> Silvio Cl=C3=A9cio
>>
>
>
>
> --
> Silvio Cl=C3=A9cio
>
--=20
Silvio Cl=C3=A9cio
--001a113cffd0fd3d3a05470d7023
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Unfortunately, same problem in copy installed from trunk (=
libgda-6.0):<div><pre style=3D"color:rgb(0,0,0)"><font face=3D"monospace, m=
onospace" size=3D"1"><span style=3D"color:rgb(128,128,0)">#include</span><s=
pan style=3D"color:rgb(0,128,0);font-weight:bold"> <libgda.h><br></sp=
an><span style=3D"color:rgb(0,128,0);font-weight:bold"><br></span><span sty=
le=3D"color:rgb(0,0,128);font-weight:bold">int </span>main() {<br> <span=
style=3D"color:rgb(55,31,128)">GdaConnection </span>*cnc;<br> gda_init(=
);<br> cnc =3D gda_connection_open_from_<wbr>string(<span style=3D"color=
:rgb(0,128,0);font-weight:bold">"SQLite"</span>, <span style=3D"c=
olor:rgb(0,128,0);font-weight:bold">"DB_DIR=3D.;DB_NAME=3Dtest"</=
span>, <span style=3D"color:rgb(31,84,46);font-weight:bold">NULL</span>,<br=
> <span style=3D"color:rgb(102,14,=
122);font-weight:bold;font-style:italic">GDA_CONNECTION_OPTIONS_NONE</span>=
, <span style=3D"color:rgb(31,84,46);font-weight:bold">NULL</span>);<br> =
g_object_unref(cnc);<br> <span style=3D"color:rgb(0,0,128);font-weight:=
bold">return </span><span style=3D"color:rgb(31,84,46);font-weight:bold">EX=
IT_SUCCESS</span>;<br>}</font></pre></div><div class=3D"gmail_extra"><div c=
lass=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D<wbr>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<wbr>=3D=3D=3D=3D=3D</font></div><div class=
=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">=3D=3D12278=
=3D=3DERROR: LeakSanitizer: detected memory leaks</font></div><div class=3D=
"gmail_extra"><font face=3D"monospace, monospace" size=3D"1"><br></font></d=
iv><div class=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1=
">Direct leak of 72 byte(s) in 3 object(s) allocated from:</font></div><div=
class=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">=C2=
=A0 =C2=A0 #0 0x7f69088a0cdd in __interceptor_calloc (/usr/lib/x86_64-linux=
-gnu/<wbr>liblsan.so.0+0xccdd)</font></div><div class=3D"gmail_extra"><font=
face=3D"monospace, monospace" size=3D"1">=C2=A0 =C2=A0 #1 0x7f6906c5f780 i=
n g_malloc0 (/lib/x86_64-linux-gnu/<wbr>libglib-2.0.so.0+0x4f780)</font></d=
iv><div class=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1=
"><br></font></div><div class=3D"gmail_extra"><font face=3D"monospace, mono=
space" size=3D"1">Direct leak of 15 byte(s) in 3 object(s) allocated from:<=
/font></div><div class=3D"gmail_extra"><font face=3D"monospace, monospace" =
size=3D"1">=C2=A0 =C2=A0 #0 0x7f69088a0795 in __interceptor_malloc (/usr/li=
b/x86_64-linux-gnu/<wbr>liblsan.so.0+0xc795)</font></div><div class=3D"gmai=
l_extra"><font face=3D"monospace, monospace" size=3D"1">=C2=A0 =C2=A0 #1 0x=
7f690737d521 in xmlStrdup (/usr/lib/x86_64-linux-gnu/<wbr>libxml2.so.2+0xd4=
521)</font></div><div class=3D"gmail_extra"><font face=3D"monospace, monosp=
ace" size=3D"1"><br></font></div><div class=3D"gmail_extra"><font face=3D"m=
onospace, monospace" size=3D"1">Indirect leak of 10 byte(s) in 1 object(s) =
allocated from:</font></div><div class=3D"gmail_extra"><font face=3D"monosp=
ace, monospace" size=3D"1">=C2=A0 =C2=A0 #0 0x7f69088a0795 in __interceptor=
_malloc (/usr/lib/x86_64-linux-gnu/<wbr>liblsan.so.0+0xc795)</font></div><d=
iv class=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">=C2=
=A0 =C2=A0 #1 0x7f6906c5f728 in g_malloc (/lib/x86_64-linux-gnu/<wbr>libgli=
b-2.0.so.0+0x4f728)</font></div><div class=3D"gmail_extra"><font face=3D"mo=
nospace, monospace" size=3D"1"><br></font></div><div class=3D"gmail_extra">=
<font face=3D"monospace, monospace" size=3D"1">SUMMARY: LeakSanitizer: 97 b=
yte(s) leaked in 7 allocation(s).</font></div><div class=3D"gmail_extra"><f=
ont face=3D"monospace, monospace" size=3D"1"><br></font></div><div class=3D=
"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">Process finish=
ed with exit code 23</font></div></div><div class=3D"gmail_extra"><br><div =
class=3D"gmail_quote">On Thu, Jan 26, 2017 at 11:55 PM, silvioprog <span di=
r=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blank">sil=
[email protected]</a>></span> wrote:<br><blockquote class=3D"gmail_quote=
" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);=
padding-left:1ex"><div dir=3D"ltr">Same problem in full example:=C2=A0<a hr=
ef=3D"https://developer.gnome.org/libgda/stable/main_example.html" target=
=3D"_blank">https://developer.gno<wbr>me.org/libgda/stable/main_exam<wbr>pl=
e.html</a> . :-/<br><div class=3D"gmail_extra"><br></div><div class=3D"gmai=
l_extra"><div class=3D"gmail_extra"><font face=3D"monospace, monospace" siz=
e=3D"1">ref =C2=A0 | name =C2=A0| price =C2=A0=C2=A0</font></div><div class=
=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">------+----=
---+---------</font></div><div class=3D"gmail_extra"><font face=3D"monospac=
e, monospace" size=3D"1">p1 =C2=A0 =C2=A0| chair | 2.000000</font></div><di=
v class=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">p2 =
=C2=A0 =C2=A0| table | 5.000000</font></div><div class=3D"gmail_extra"><fon=
t face=3D"monospace, monospace" size=3D"1">p3 =C2=A0 =C2=A0| glass | 1.1000=
00</font></div><div class=3D"gmail_extra"><font face=3D"monospace, monospac=
e" size=3D"1">p1000 | ??? =C2=A0 | =C2=A0 =C2=A0 NULL</font></div><div clas=
s=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">p1001 | ??=
? =C2=A0 | =C2=A0 =C2=A0 NULL</font></div><div class=3D"gmail_extra"><font =
face=3D"monospace, monospace" size=3D"1">(5 rows)</font></div><div class=3D=
"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">ref =C2=A0 | n=
ame =C2=A0 =C2=A0| price =C2=A0=C2=A0</font></div><div class=3D"gmail_extra=
"><font face=3D"monospace, monospace" size=3D"1">------+---------+---------=
</font></div><div class=3D"gmail_extra"><font face=3D"monospace, monospace"=
size=3D"1">p1 =C2=A0 =C2=A0| chair =C2=A0 | 2.000000</font></div><div clas=
s=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">p2 =C2=A0 =
=C2=A0| table =C2=A0 | 5.000000</font></div><div class=3D"gmail_extra"><fon=
t face=3D"monospace, monospace" size=3D"1">p3 =C2=A0 =C2=A0| glass =C2=A0 |=
1.100000</font></div><div class=3D"gmail_extra"><font face=3D"monospace, m=
onospace" size=3D"1">p1000 | flowers | 1.990000</font></div><div class=3D"g=
mail_extra"><font face=3D"monospace, monospace" size=3D"1">p1001 | ??? =C2=
=A0 =C2=A0 | =C2=A0 =C2=A0 NULL</font></div><div class=3D"gmail_extra"><fon=
t face=3D"monospace, monospace" size=3D"1">(5 rows)</font></div><div class=
=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">ref =C2=A0 =
| name =C2=A0 =C2=A0| price =C2=A0=C2=A0</font></div><div class=3D"gmail_ex=
tra"><font face=3D"monospace, monospace" size=3D"1">------+---------+------=
---</font></div><div class=3D"gmail_extra"><font face=3D"monospace, monospa=
ce" size=3D"1">p1 =C2=A0 =C2=A0| chair =C2=A0 | 2.000000</font></div><div c=
lass=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">p3 =C2=
=A0 =C2=A0| glass =C2=A0 | 1.100000</font></div><div class=3D"gmail_extra">=
<font face=3D"monospace, monospace" size=3D"1">p1000 | flowers | 1.990000</=
font></div><div class=3D"gmail_extra"><font face=3D"monospace, monospace" s=
ize=3D"1">(3 rows)</font></div><div class=3D"gmail_extra"><font face=3D"mon=
ospace, monospace" size=3D"1"><br></font></div><div class=3D"gmail_extra"><=
font face=3D"monospace, monospace" size=3D"1">=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<wbr>=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D<wbr>=3D=3D=3D=3D=3D</font></div><div class=3D"gmail_extra"><font =
face=3D"monospace, monospace" size=3D"1">=3D=3D9425=3D=3DERROR: LeakSanitiz=
er: detected memory leaks</font></div><span class=3D"m_5984178140583942880g=
mail-"><div class=3D"gmail_extra"><font face=3D"monospace, monospace" size=
=3D"1"><br></font></div><div class=3D"gmail_extra"><font face=3D"monospace,=
monospace" size=3D"1">Direct leak of 72 byte(s) in 3 object(s) allocated f=
rom:</font></div></span><div class=3D"gmail_extra"><font face=3D"monospace,=
monospace" size=3D"1">=C2=A0 =C2=A0 #0 0x7f61eb99acdd in __interceptor_cal=
loc (/usr/lib/x86_64-linux-gnu/lib<wbr>lsan.so.0+0xccdd)</font></div><div c=
lass=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">=C2=A0 =
=C2=A0 #1 0x7f61eb6cc780 in g_malloc0 (/lib/x86_64-linux-gnu/libglib<wbr>-2=
.0.so.0+0x4f780)</font></div><div class=3D"gmail_extra"><font face=3D"monos=
pace, monospace" size=3D"1"><br></font></div><div class=3D"gmail_extra"><fo=
nt face=3D"monospace, monospace" size=3D"1">Direct leak of 15 byte(s) in 3 =
object(s) allocated from:</font></div><div class=3D"gmail_extra"><font face=
=3D"monospace, monospace" size=3D"1">=C2=A0 =C2=A0 #0 0x7f61eb99a795 in __i=
nterceptor_malloc (/usr/lib/x86_64-linux-gnu/lib<wbr>lsan.so.0+0xc795)</fon=
t></div><div class=3D"gmail_extra"><font face=3D"monospace, monospace" size=
=3D"1">=C2=A0 =C2=A0 #1 0x7f61e9cf5521 in xmlStrdup (/usr/lib/x86_64-linux-=
gnu/lib<wbr>xml2.so.2+0xd4521)</font></div><span class=3D"m_598417814058394=
2880gmail-"><div class=3D"gmail_extra"><font face=3D"monospace, monospace" =
size=3D"1"><br></font></div><div class=3D"gmail_extra"><font face=3D"monosp=
ace, monospace" size=3D"1">Indirect leak of 10 byte(s) in 1 object(s) alloc=
ated from:</font></div></span><div class=3D"gmail_extra"><font face=3D"mono=
space, monospace" size=3D"1">=C2=A0 =C2=A0 #0 0x7f61eb99a795 in __intercept=
or_malloc (/usr/lib/x86_64-linux-gnu/lib<wbr>lsan.so.0+0xc795)</font></div>=
<div class=3D"gmail_extra"><font face=3D"monospace, monospace" size=3D"1">=
=C2=A0 =C2=A0 #1 0x7f61eb6cc728 in g_malloc (/lib/x86_64-linux-gnu/libglib<=
wbr>-2.0.so.0+0x4f728)</font></div><div class=3D"gmail_extra"><font face=3D=
"monospace, monospace" size=3D"1"><br></font></div><div class=3D"gmail_extr=
a"><font face=3D"monospace, monospace" size=3D"1">SUMMARY: LeakSanitizer: 9=
7 byte(s) leaked in 7 allocation(s).</font></div><span class=3D"m_598417814=
0583942880gmail-"><div class=3D"gmail_extra"><font face=3D"monospace, monos=
pace" size=3D"1"><br></font></div><div class=3D"gmail_extra"><font face=3D"=
monospace, monospace" size=3D"1">Process finished with exit code 23</font><=
/div><div class=3D"gmail_extra"><br></div></span><div><div class=3D"m_59841=
78140583942880gmail-h5"><div class=3D"gmail_quote">On Thu, Jan 26, 2017 at =
11:16 PM, silvioprog <span dir=3D"ltr"><<a href=3D"mailto:silvioprog@gma=
il.com" target=3D"_blank">[email protected]</a>></span> wrote:<br><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef=
t:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><span style=
=3D"font-size:12.8px">Hello masters, I'm newbie here.</span><div style=
=3D"font-size:12.8px"><div><br></div><div>Well, I need to develop a DB appl=
ication, so libgda will help me a lot in that task. However, doing some two=
basic tests, I found memory in both:</div><div><pre style=3D"white-space:p=
re-wrap;color:rgb(0,0,0);font-family:"dejavu sans mono""><font si=
ze=3D"1"><span style=3D"color:rgb(128,128,0)">#include</span><span style=3D=
"color:rgb(0,128,0);font-weight:bold"> <libgda.h><br></span><span sty=
le=3D"color:rgb(0,128,0);font-weight:bold"><br></span><span style=3D"color:=
rgb(0,0,128);font-weight:bold">int </span>main() {<br> <span style=3D"co=
lor:rgb(55,31,128)">GdaConnection </span>*connection;<br> g_print(<span =
style=3D"color:rgb(0,128,0);font-weight:bold">"CONNECTING</span><span =
style=3D"color:rgb(0,0,128);font-weight:bold">\n</span><span style=3D"color=
:rgb(0,128,0);font-weight:bold">"</span>);<br> connection =3D gda_c=
onnection_open_from_dsn(<span style=3D"color:rgb(0,128,0);font-weight:bold"=
>"<wbr>calvaris"</span>, <span style=3D"color:rgb(31,84,46);font-=
weight:bold">NULL</span>, <span style=3D"color:rgb(102,14,122);font-weight:=
bold;font-style:italic">GDA_CONNECTION_OPTIONS_READ_ON<wbr>LY</span>, <span=
style=3D"color:rgb(31,84,46);font-weight:bold">NULL</span>);<br> <span =
style=3D"color:rgb(0,0,128);font-weight:bold">if </span>(!connection) {<br>=
g_print(<span style=3D"color:rgb(0,128,0);font-weight:bold">"C=
ONNECTION FAILED</span><span style=3D"color:rgb(0,0,128);font-weight:bold">=
\n</span><span style=3D"color:rgb(0,128,0);font-weight:bold">"</span>)=
;<br> <span style=3D"color:rgb(0,0,128);font-weight:bold">return </s=
pan><span style=3D"color:rgb(31,84,46);font-weight:bold">EXIT_FAILURE</span=
>;<br> }<br> g_print(<span style=3D"color:rgb(0,128,0);font-weight:bo=
ld">"CONNECTED</span><span style=3D"color:rgb(0,0,128);font-weight:bol=
d">\n</span><span style=3D"color:rgb(0,128,0);font-weight:bold">"</spa=
n>);<br> g_object_unref(<span style=3D"color:rgb(31,84,46);font-weight:b=
old">G_OBJECT </span>(connection));<br> <span style=3D"color:rgb(0,0,128=
);font-weight:bold">return </span><span style=3D"color:rgb(31,84,46);font-w=
eight:bold">EXIT_SUCCESS</span>;<br>}</font></pre></div><div>result:</div><=
div><br></div><div><div><font face=3D"monospace, monospace" size=3D"1">CONN=
ECTING</font></div><div><font face=3D"monospace, monospace" size=3D"1">CONN=
ECTION FAILED</font></div><div><font face=3D"monospace, monospace" size=3D"=
1"><br></font></div><div><font face=3D"monospace, monospace" size=3D"1">=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D<wbr>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<wbr>=3D=3D=3D=3D=3D</font></div><div><fon=
t face=3D"monospace, monospace" size=3D"1">=3D=3D6364=3D=3DERROR: LeakSanit=
izer: detected memory leaks</font></div><div><font face=3D"monospace, monos=
pace" size=3D"1"><br></font></div><div><font face=3D"monospace, monospace" =
size=3D"1">Direct leak of 72 byte(s) in 3 object(s) allocated from:</font><=
/div><div><font face=3D"monospace, monospace" size=3D"1">=C2=A0 =C2=A0 #0 0=
x7fa242cd0cdd in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/lib<wbr>ls=
an.so.0+0xccdd)</font></div><div><font face=3D"monospace, monospace" size=
=3D"1">=C2=A0 =C2=A0 #1 0x7fa242a02780 in g_malloc0 (/lib/x86_64-linux-gnu/=
libglib<wbr>-2.0.so.0+0x4f780)</font></div><div><font face=3D"monospace, mo=
nospace" size=3D"1"><br></font></div><div><font face=3D"monospace, monospac=
e" size=3D"1">Indirect leak of 10 byte(s) in 1 object(s) allocated from:</f=
ont></div><div><font face=3D"monospace, monospace" size=3D"1">=C2=A0 =C2=A0=
#0 0x7fa242cd0795 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/lib<w=
br>lsan.so.0+0xc795)</font></div><div><font face=3D"monospace, monospace" s=
ize=3D"1">=C2=A0 =C2=A0 #1 0x7fa242a02728 in g_malloc (/lib/x86_64-linux-gn=
u/libglib<wbr>-2.0.so.0+0x4f728)</font></div><div><font face=3D"monospace, =
monospace" size=3D"1"><br></font></div><div><font face=3D"monospace, monosp=
ace" size=3D"1">SUMMARY: LeakSanitizer: 82 byte(s) leaked in 4 allocation(s=
).</font></div><div><font face=3D"monospace, monospace" size=3D"1"><br></fo=
nt></div><div><font face=3D"monospace, monospace" size=3D"1">Process finish=
ed with exit code 23</font></div></div><div><br></div><div>Same leak using =
a valid connection:</div><div><pre style=3D"white-space:pre-wrap;color:rgb(=
0,0,0);font-family:"dejavu sans mono""><font size=3D"1"><span sty=
le=3D"color:rgb(128,128,0)">#include</span><span style=3D"color:rgb(0,128,0=
);font-weight:bold"> <libgda.h><br></span><span style=3D"color:rgb(0,=
128,0);font-weight:bold"><br></span><span style=3D"color:rgb(0,0,128);font-=
weight:bold">int </span>main() {<br> <span style=3D"color:rgb(55,31,128)=
">GdaConnection </span>*connection;<br> g_print(<span style=3D"color:rgb=
(0,128,0);font-weight:bold">"CONNECTING</span><span style=3D"color:rgb=
(0,0,128);font-weight:bold">\n</span><span style=3D"color:rgb(0,128,0);font=
-weight:bold">"</span>);<br> connection =3D gda_connection_open_fro=
m_strin<wbr>g(<span style=3D"color:rgb(0,128,0);font-weight:bold">"SQL=
ite"</span>, <span style=3D"color:rgb(0,128,0);font-weight:bold">"=
;DB_DIR=3D.;DB_NAME=3Dtest.sqlite3<wbr>"</span>, <span style=3D"color:=
rgb(31,84,46);font-weight:bold">NULL</span>, <span style=3D"color:rgb(102,1=
4,122);font-weight:bold;font-style:italic">GDA_CONNECTION_OPTIONS_NONE</spa=
n>, <span style=3D"color:rgb(31,84,46);font-weight:bold">NULL</span>);<br> =
<span style=3D"color:rgb(0,0,128);font-weight:bold">if </span>(!connecti=
on) {<br> g_print(<span style=3D"color:rgb(0,128,0);font-weight:bold=
">"CONNECTION FAILED</span><span style=3D"color:rgb(0,0,128);font-weig=
ht:bold">\n</span><span style=3D"color:rgb(0,128,0);font-weight:bold">"=
;</span>);<br> <span style=3D"color:rgb(0,0,128);font-weight:bold">r=
eturn </span><span style=3D"color:rgb(31,84,46);font-weight:bold">EXIT_FAIL=
URE</span>;<br> }<br> g_print(<span style=3D"color:rgb(0,128,0);font-=
weight:bold">"CONNECTED</span><span style=3D"color:rgb(0,0,128);font-w=
eight:bold">\n</span><span style=3D"color:rgb(0,128,0);font-weight:bold">&q=
uot;</span>);<br> g_object_unref(<span style=3D"color:rgb(31,84,46);font=
-weight:bold">G_OBJECT </span>(connection));<br> <span style=3D"color:rg=
b(0,0,128);font-weight:bold">return </span><span style=3D"color:rgb(31,84,4=
6);font-weight:bold">EXIT_SUCCESS</span>;<br>}</font></pre></div><div>resul=
t:</div><div><br></div><div><div><font size=3D"1" face=3D"monospace, monosp=
ace">CONNECTING</font></div><div><font size=3D"1" face=3D"monospace, monosp=
ace">CONNECTED</font></div><div><font size=3D"1" face=3D"monospace, monospa=
ce"><br></font></div><div><font size=3D"1" face=3D"monospace, monospace">=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D<wbr>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<wbr>=3D=3D=3D=3D=3D</font></div><div><=
font size=3D"1" face=3D"monospace, monospace">=3D=3D6734=3D=3DERROR: LeakSa=
nitizer: detected memory leaks</font></div><div><font size=3D"1" face=3D"mo=
nospace, monospace"><br></font></div><div><font size=3D"1" face=3D"monospac=
e, monospace">Direct leak of 72 byte(s) in 3 object(s) allocated from:</fon=
t></div><div><font size=3D"1" face=3D"monospace, monospace">=C2=A0 =C2=A0 #=
0 0x7f4f60ea3cdd in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/lib<wbr=
>lsan.so.0+0xccdd)</font></div><div><font size=3D"1" face=3D"monospace, mon=
ospace">=C2=A0 =C2=A0 #1 0x7f4f60bd5780 in g_malloc0 (/lib/x86_64-linux-gnu=
/libglib<wbr>-2.0.so.0+0x4f780)</font></div><div><font size=3D"1" face=3D"m=
onospace, monospace"><br></font></div><div><font size=3D"1" face=3D"monospa=
ce, monospace">Indirect leak of 10 byte(s) in 1 object(s) allocated from:</=
font></div><div><font size=3D"1" face=3D"monospace, monospace">=C2=A0 =C2=
=A0 #0 0x7f4f60ea3795 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/li=
b<wbr>lsan.so.0+0xc795)</font></div><div><font size=3D"1" face=3D"monospace=
, monospace">=C2=A0 =C2=A0 #1 0x7f4f60bd5728 in g_malloc (/lib/x86_64-linux=
-gnu/libglib<wbr>-2.0.so.0+0x4f728)</font></div><div><font size=3D"1" face=
=3D"monospace, monospace"><br></font></div><div><font size=3D"1" face=3D"mo=
nospace, monospace">SUMMARY: LeakSanitizer: 82 byte(s) leaked in 4 allocati=
on(s).</font></div><div><font size=3D"1" face=3D"monospace, monospace"><br>=
</font></div><div><font size=3D"1" face=3D"monospace, monospace">Process fi=
nished with exit code 23</font></div></div><div><br></div><div>Why?! :-/</d=
iv><div><br></div><div>My CMake file:</div><div><pre style=3D"white-space:p=
re-wrap;color:rgb(0,0,0);font-family:"dejavu sans mono""><pre sty=
le=3D"white-space:pre-wrap;font-family:"dejavu sans mono""><font =
size=3D"1">cmake_minimum_required(<span style=3D"color:rgb(0,128,0);font-we=
ight:bold">VERSION 3.6</span>)<br>project(<span style=3D"color:rgb(0,128,0)=
;font-weight:bold">testes</span>)<br><br>set(<span style=3D"color:rgb(0,128=
,0);font-weight:bold">CMAKE_C_STANDARD 99</span>)<br><br>set(<span style=3D=
"color:rgb(0,128,0);font-weight:bold">CMAKE_C_FLAGS </span>"<span styl=
e=3D"color:rgb(0,128,0);font-weight:bold">-g -fsanitize=3Dleak</span>"=
)<br><br>add_definitions(<span style=3D"color:rgb(0,128,0);font-weight:bold=
">-I/usr/local/i<wbr>nclude/libgda-5.0</span>)<br>add_definitions(<span sty=
le=3D"color:rgb(0,128,0);font-weight:bold">-I/usr/local/i<wbr>nclude/libgda=
-5.0/libgda</span>)<br>add_definitions(<span style=3D"color:rgb(0,128,0);fo=
nt-weight:bold">-I/usr/include<wbr>/glib-2.0</span>)<br>add_definitions(<sp=
an style=3D"color:rgb(0,128,0);font-weight:bold">-I/usr/lib/x86<wbr>_64-lin=
ux-gnu/glib-2.0/include</span><wbr>)<br>add_definitions(<span style=3D"colo=
r:rgb(0,128,0);font-weight:bold">-I/usr/include<wbr>/libxml2</span>)<br><br=
>set(<span style=3D"color:rgb(0,128,0);font-weight:bold">SOURCE_FILES main.=
c</span>)<br>add_executable(<span style=3D"color:rgb(0,128,0);font-weight:b=
old">testes ${SOURCE_FILES}</span>)<br>target_link_libraries(<span style=3D=
"color:rgb(0,128,0);font-weight:bold">testes pthread glib-2.0 gobject-2.0 g=
da-5.0</span>)</font></pre></pre></div><div>My environment:</div><div><br><=
/div><div><font size=3D"1" face=3D"monospace, monospace">OS Xubuntu 16.04 6=
4 bits<br></font></div><div><font size=3D"1" face=3D"monospace, monospace">=
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)<br></font></div>=
<div><div><font size=3D"1" face=3D"monospace, monospace">$ pkg-config glib-=
2.0 libgda-5.0 --modversion=C2=A0</font></div><div><font size=3D"1" face=3D=
"monospace, monospace">2.48.1</font></div><div><font size=3D"1" face=3D"mon=
ospace, monospace">5.2.4</font></div></div><div><br></div><div>Thank you!</=
div></div><span class=3D"m_5984178140583942880gmail-m_-4453957749628055724g=
mail-HOEnZb"><font color=3D"#888888"><div><br></div>-- <br><div class=3D"m_=
5984178140583942880gmail-m_-4453957749628055724gmail-m_2962400152326086368g=
mail_signature"><div dir=3D"ltr"><div>Silvio Cl=C3=A9cio</div></div></div>
</font></span></div>
</blockquote></div><br><br clear=3D"all"><div><br></div></div></div><span c=
lass=3D"m_5984178140583942880gmail-HOEnZb"><font color=3D"#888888">-- <br><=
div class=3D"m_5984178140583942880gmail-m_-4453957749628055724gmail_signatu=
re"><div dir=3D"ltr"><div>Silvio Cl=C3=A9cio</div></div></div>
</font></span></div></div>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br><div class=
=3D"m_5984178140583942880gmail_signature"><div dir=3D"ltr"><div>Silvio Cl=
=C3=A9cio</div></div></div>
</div></div>
--001a113cffd0fd3d3a05470d7023--
--===============2515306323663317175==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
gnome-db-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-db-list
--===============2515306323663317175==--