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"> &lt;libgda.h&gt;<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">&quot;SQLite&quot;</span>, <span style=3D"c=
olor:rgb(0,128,0);font-weight:bold">&quot;DB_DIR=3D.;DB_NAME=3Dtest&quot;</=
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">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">sil=
[email protected]</a>&gt;</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">&lt;<a href=3D"mailto:silvioprog@gma=
il.com" target=3D"_blank">[email protected]</a>&gt;</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&#39;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:&quot;dejavu sans mono&quot;"><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"> &lt;libgda.h&gt;<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">&quot;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">&quot;</span>);<br>    connection =3D gda_c=
onnection_open_from_dsn(<span style=3D"color:rgb(0,128,0);font-weight:bold"=
>&quot;<wbr>calvaris&quot;</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">&quot;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">&quot;</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">&quot;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">&quot;</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:&quot;dejavu sans mono&quot;"><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"> &lt;libgda.h&gt;<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">&quot;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">&quot;</span>);<br>    connection =3D gda_connection_open_fro=
m_strin<wbr>g(<span style=3D"color:rgb(0,128,0);font-weight:bold">&quot;SQL=
ite&quot;</span>, <span style=3D"color:rgb(0,128,0);font-weight:bold">&quot=
;DB_DIR=3D.;DB_NAME=3Dtest.sqlite3<wbr>&quot;</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=
">&quot;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">&quot=
;</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">&quot;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:&quot;dejavu sans mono&quot;"><pre sty=
le=3D"white-space:pre-wrap;font-family:&quot;dejavu sans mono&quot;"><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>&quot;<span styl=
e=3D"color:rgb(0,128,0);font-weight:bold">-g -fsanitize=3Dleak</span>&quot;=
)<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==--