On 08/08/10 10:27, Bernhard D wrote:
> I've also installed libglib2.0-0-dbg and made the backtrace again (see
> attached gdb2.txt).
> #4 0x00007ffff510d88c in free () from /lib/libc.so.6
> #5 0x000000000042d5ad in dvb_database_sqlite_sqlite_database_exec_sql
> (self=<value optimized out>, sql=<value optimized out>, error=0x7ffff1b9eb98)
> at src/database/sqlite/SqliteDatabase.c:430
Thanks for the backtrace, it looks quite useful. Can you check if the attached
patch fixes the crash? I can provide you an i386 .deb, but not an amd64. Just
apply the patch to the unpacked source and rebuild it (dpkg-buildpackage should
be enough).
Thanks,
Emilio
Index: debian/patches/series
===================================================================
--- debian/patches/series (revisión: 24802)
+++ debian/patches/series (copia de trabajo)
@@ -0,0 +1 @@
+01_fix_invalid_free.patch
Index: debian/patches/01_fix_invalid_free.patch
===================================================================
--- debian/patches/01_fix_invalid_free.patch (revisión: 0)
+++ debian/patches/01_fix_invalid_free.patch (revisión: 0)
@@ -0,0 +1,15 @@
+--- a/src/database/sqlite/SqliteDatabase.c
++++ b/src/database/sqlite/SqliteDatabase.c
+@@ -427,10 +427,10 @@
+ if (_inner_error_ != NULL) {
+ if (_inner_error_->domain == DVB_DATABASE_SQL_ERROR) {
+ g_propagate_error (error, _inner_error_);
+- _g_free0 (errmsg);
++ sqlite_free (errmsg);
+ return;
+ } else {
+- _g_free0 (errmsg);
++ sqlite_free (errmsg);
+ g_critical ("file %s: line %d: uncaught error:
%s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string
(_inner_error_->domain), _inner_error_->code);
+ g_clear_error (&_inner_error_);
+ return;