Re: [gnome-db] GDA3 crash in debian



Hello Vivien,

Thanks for your help. We're using debian lenny and we don't plan to change to 
squeeze until it's stable, but... we'll it seems that we have to change our 
plans!

We'll have to make packages for lots of different things (we distribute a 
complete cd with multiple applications) if we change to sid or squeeze. In 
fact, we was using libgda2-3 (1.2.4-1.2 debian lenny dpkg), wich is quite 
old, and it's time to change! 

Ok, I understand, it's time to change lot of things, I think I'll compile gda4 
from sources and lets see what happens. 

Also, lots of thanks for your work programming gda, it has been an invaluable 
tool for us to keep the sql code simple.

Alberto.

El Viernes, 22 de Enero de 2010 15:46, Vivien Malerba escribió:
> 2010/1/22 Alberto Roman Linacero <aroman alienvault com>:
> > Dear all,
> >
> > I'm getting a segmentation fault inside libgda3 when I try to insert data
> > into mysql.
> >
> > This is the backtrace:
> >
> > [New Thread 0x6ab79950 (LWP 6316)]
> > [New Thread 0x67b73950 (LWP 6318)]
> > *** glibc detected *** /newcode/src/oss-serv: double free or corruption
> > (fasttop): 0x00007fb67000ec70 ***
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread 0x40a73950 (LWP 6000)]
> > 0x00007fb68065da1b in ?? () from /lib/libc.so.6
> > (gdb) bt
> > #0  0x00007fb68065da1b in ?? () from /lib/libc.so.6
> > #1  0x00007fb6806602c6 in ?? () from /lib/libc.so.6
> > #2  0x00007fb680661788 in calloc () from /lib/libc.so.6
> > #3  0x00007fb68271f2cb in ?? () from /lib64/ld-linux-x86-64.so.2
> > #4  0x00007fb68271b0b8 in ?? () from /lib64/ld-linux-x86-64.so.2
> > #5  0x00007fb68271cf1d in ?? () from /lib64/ld-linux-x86-64.so.2
> > #6  0x00007fb682726711 in ?? () from /lib64/ld-linux-x86-64.so.2
> > #7  0x00007fb682722376 in ?? () from /lib64/ld-linux-x86-64.so.2
> > #8  0x00007fb68272610b in ?? () from /lib64/ld-linux-x86-64.so.2
> > #9  0x00007fb6806edca0 in ?? () from /lib/libc.so.6
> > #10 0x00007fb682722376 in ?? () from /lib64/ld-linux-x86-64.so.2
> > #11 0x00007fb6806edd55 in ?? () from /lib/libc.so.6
> > #12 0x00007fb6806ede47 in __libc_dlopen_mode () from /lib/libc.so.6
> > #13 0x00007fb6806ca4fa in ?? () from /lib/libc.so.6
> > #14 0x00007fb680948ea3 in pthread_once () from /lib/libpthread.so.0
> > #15 0x00007fb6806ca62c in backtrace () from /lib/libc.so.6
> > #16 0x00007fb6806583bc in ?? () from /lib/libc.so.6
> > #17 0x00007fb68065d948 in ?? () from /lib/libc.so.6
> > #18 0x00007fb68065fa56 in free () from /lib/libc.so.6
> > #19 0x00007fb68229ab2a in gda_delimiterparse () at parser.y:123
> > #20 0x00007fb68229cc85 in gda_delimiter_parse_with_error
> > (sqlquery=0x7fb6740cf650 "START TRANSACTION", error=0x40a72f10) at
> > gda-sql-delimiter.c:160
> > #21 0x00007fb68229d518 in gda_delimiter_split_sql
> > (sql_text=0x7fb674000020 "\001") at gda-sql-delimiter.c:239
> > #22 0x00007fb67f914891 in process_sql_commands (reclist=0x0,
> > cnc=0x276fe00, sql=0x7fb6740cf650 "START TRANSACTION") at
> > gda-mysql-provider.c:437 #23 0x00007fb68221bf0b in
> > gda_connection_execute_command (cnc=0x276fe00, cmd=0x7fb67404b860,
> > params=0x0, error=0x0) at gda-connection.c:1144 #24 0x00007fb68221c0ba in
> > gda_connection_execute_non_select_command (cnc=0x276fe00, cmd=<value
> > optimized out>, params=0x0, error=0x0) at gda-connection.c:1302
> > #25 0x000000000040d828 in sim_database_execute_no_query
> > (database=0x2765760, buffer=0x7fb67402b790 "START TRANSACTION") at
> > sim-database.c:329
> >
> > I'm preparing the command with the standard:
> >
> >  command = gda_command_new (buffer,
> >                             GDA_COMMAND_TYPE_SQL,
> >                             GDA_COMMAND_OPTION_STOP_ON_ERRORS);
> >
> > Then I just execute:
> >
> >  ret = gda_connection_execute_non_select_command (database->_priv->conn,
> > command, NULL, NULL);
> >
> > And sometimes it does a segfault.
> >
> > I'm using the default libgda3 binaries that debian lenny 64 bits
> > provides:
> >
> > libgda3-3                           3.0.2-5
> > libgda3-3-dbg                    3.0.2-5
> > libgda3-bin                         3.0.2-5
> > libgda3-common                3.0.2-5
> > libgda3-dev                        3.0.2-5
> > libgda3-doc                        3.0.2-5
> > libgda3-mysql                    3.0.2-5
> >
> > Please, do you have some idea about how to debug or to fix this? When I
> > use gda_connection_execute_select_command() everything goes fine.
>
> The crash happens within the SQL parser which Libgda uses internally.
> I don't know the crash reason, but this version of Libgda is not
> maintained anymore and you should use version 4 which is actively
> maintained and has much fewer bugs than version 3. You can get that
> version either by compiling it from sources (it has very few
> dependencies) or using the  libgda-4.0-dev package in sid or squeeze.
>
> Regards,
>
> Vivien


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