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;

Reply via email to