Re: [gnome-db] memory leak in gda-postgres-recordset.c



yes, thank you, right now I have compiled libgda 1.9 without problems, but it 
seems to be a couple of changes in the error handling... I modify my code, 
but I can't connect to the database, here is my code:

#define MY_DATABASE_TYPE "PostgreSQL"

struct MyDatabase {
        gchar *dsn;
        GdaClient *client;
        GdaConnection *connection;
};

SipDatabase *my_database_new(const char *dsn) {
        g_assert(dsn != NULL);
        GError *err = NULL;
        MyDatabase *database = g_new(MyDatabase, 1);
        database->dsn = g_strdup(dsn);
        database->client = gda_client_new();
        database->connection = gda_client_open_connection_from_string(
                database->client, MY_DATABASE_TYPE, dsn, 0, &err);
        if (database->connection != NULL) {
                return database;
        } else {
                fprintf (stderr, "Unable to connecte to database: %s\n", 
err->message);
                return NULL;
        }
}

I am getting this error:

Unable to connecte to database: Data source GDA-Temporary-Data-Source-0 not 
found in configuration

what does this means?? do I need something else? or some initialization not 
needed in previews versions? 

Thanks

On Wed 22 Mar 2006 06:26, Rodrigo Moya wrote:
> On Tue, 2006-03-21 at 20:02 -0500, Manuel Arguelles wrote:
> > Hello list,
> >
> > I'm using libgda for postgresql database handling and according to
> > valgrind there's seem to be leak:
> >
> > 42717 bytes in 491 blocks are definitely lost in loss record 122 of 123
> >     at 0x3414D06F: realloc (vg_replace_malloc.c:196)
> >     by 0x347323D1: vasprintf (in /lib/tls/libc-2.3.6.so)
> >     by 0x34232DB6: g_vasprintf (in /usr/lib/libglib-2.0.so.0.800.6)
> >     by 0x34222C65: g_strdup_vprintf (in /usr/lib/libglib-2.0.so.0.800.6)
> >     by 0x34222C8A: g_strdup_printf (in /usr/lib/libglib-2.0.so.0.800.6)
> >     by 0x3497B6C2: guess_table_name (gda-postgres-recordset.c:614)
> >     by 0x3497BCEC: gda_postgres_recordset_new
> > (gda-postgres-recordset.c:821) by 0x349762B1: process_sql_commands
> > (gda-postgres-provider.c:729) by 0x34977105:
> > gda_postgres_provider_execute_command
> > (gda-postgres-provider.c:1092)
> >     by 0x341C973E: gda_server_provider_execute_command
> > (gda-server-provider.c:491)
> >     by 0x341BA763: gda_connection_execute_command (gda-connection.c:807)
> >     by 0x341BA887: gda_connection_execute_single_command
> > (gda-connection.c:858)
> >
> > searching in the web I found that this seems to be fixed:
> >
> > http://www.archivum.info/cvs-commits-list%40gnome.org/2005-06/msg02283.ht
> >ml
> >
> > but I have no idea in which version, I'm using debian and the packages
> > that I have installed are:
> >
> >  libgda2-3      1.2.2-1        GNOME Data Access library for GNOME2
> >  libgda2-3-dbg  1.2.2-1        GDA2 library and debugging symbols
> >  libgda2-common 1.2.2-1        Common files for GNOME Data Access library
> > f libgda2-dev    1.2.2-1        Development files for GNOME Data Access
> > libr
> >
> > this is the last version right?? 1.2.2? I have tried to compile from cvs
> > but no without any luck... libgda compiles ok, but when I try to compile
> > my program I get a lot of unresolved symbols (related to gnomedb?) and I
> > can't compile libgnomedb this is the error:
> >
> > # ./autogen.sh
> > using autoconf for autoconf
> > using automake-1.9 for automake
> > checking for libtool >= 1.5...
> >   testing libtoolize... found 1.5.6
> > checking for glib-gettext >= 2.2.0...
> >   testing glib-gettextize... found 2.8.6
> > checking for intltool >= 0.30...
> >   testing intltoolize... found 0.33
> > checking for pkg-config >= 0.14.0...
> >   testing pkg-config... found 0.17.2
> > Checking for required M4 macros...
> > Checking for forbidden M4 macros...
> > **Warning**: I am going to run `configure' with no arguments.
> > If you wish to pass any to it, please specify them on the
> > `./autogen.sh' command line.
> >
> > Processing ./configure.in
> > Running libtoolize...
> > Running glib-gettextize... Ignore non-fatal messages.
> > Copying file mkinstalldirs
> > Copying file po/Makefile.in.in
> >
> > Please add the files
> >   codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
> >   progtest.m4
> > from the /usr/share/aclocal directory to your autoconf macro directory
> > or directly to your aclocal.m4 file.
> > You will also need config.guess and config.sub, which you can get from
> > ftp://ftp.gnu.org/pub/gnu/config/.
> >
> > Running intltoolize...
> > no need for patching file 'Makefile.in.in'
> > Running aclocal-1.9...
> > aclocal:configure.in:85: warning: macro `AM_GCONF_SOURCE_2' not found in
> > library
> > configure.in:46: warning: AC_ARG_PROGRAM invoked multiple times
> > Running autoconf...
> > configure.in:46: warning: AC_ARG_PROGRAM invoked multiple times
> > Running automake-1.9...
> > configure.in:46: warning: AC_ARG_PROGRAM invoked multiple times
> > control-center/Makefile.am:3: `INCLUDES' is the old name for
> > `AM_CPPFLAGS' (or `*_CPPFLAGS')
> > data/Makefile.am:8: GCONF_SCHEMAS_INSTALL does not appear in
> > AM_CONDITIONAL extra/Makefile.am:1: `INCLUDES' is the old name for
> > `AM_CPPFLAGS' (or `*_CPPFLAGS')
> > glade/Makefile.am:3: `INCLUDES' is the old name for `AM_CPPFLAGS' (or
> > `*_CPPFLAGS')
> > libgnomedb/Makefile.am:5: `INCLUDES' is the old name for `AM_CPPFLAGS'
> > (or `*_CPPFLAGS')
> > libgnomedb/data-entries/plugins/Makefile.am:4: `INCLUDES' is the old name
> > for `AM_CPPFLAGS' (or `*_CPPFLAGS')
> > libgnomedb/graph/Makefile.am:5: `INCLUDES' is the old name for
> > `AM_CPPFLAGS' (or `*_CPPFLAGS')
> > testing/Makefile.am:11: `INCLUDES' is the old name for `AM_CPPFLAGS' (or
> > `*_CPPFLAGS')
> >
> > then ./configure fails with:
> > configure: creating ./config.status
> > config.status: error: cannot find input file: Makefile.in
> >
> > i ran automake and then:
> > configure: creating ./config.status
> > config.status: creating Makefile
> > config.status: creating libgnomedb.spec
> > config.status: creating libgnomedb-2.0.pc
> > config.status: creating control-center/Makefile
> > config.status: creating data/Makefile
> > config.status: creating doc/Makefile
> > config.status: creating doc/libgnomedb-C.omf
> > config.status: error: cannot find input file: doc/C/Makefile.in
> >
> > and I can't run automake in that directory (doc/C)
> >
> > I'm really lost here, and my program is reaching out of memory
> > condition...
>
> it seems to me you are missing some -devel packages. First, you need
> gconf2-devel (or the equivalent in your distro), also, gtk-doc seems to
> be missing also.

-- 
Manuel Argüelles
Software Engineer
Wireless ZT



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]