I tried gtodo-0.14 on my system. It compiles without
any problems, but when I try to run it I get the following:
$ gtodo
(nil) : Freed()
xmlMallocBreakpoint reached on block 0
Segmentation fault
Running under gdb gives out this:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 25738)]
0x40483893 in xmlMemFree () from /usr/lib/libxml2.so.2
(gdb) bt
#0 0x40483893 in xmlMemFree () from /usr/lib/libxml2.so.2
#1 0x00000000 in ?? ()
Right now most of my libraries do not have debugging
support, therefore I cannot get any more information
from gdb...
Library versions:
libxml2: 2.6.8
libxslt: 1.1.5
gconf2: 2.4.0.1
If there is any more info I can provide, let me know (a
followup here will do the trick)...
Logged In: YES
user_id=541380
The following not-very-clean patch seems to work-around this
problem:
diff -uNr gtodo-0.14/libgtodo/libgtodo.h
gtodo-0.14/libgtodo/libgtodo.h
--- gtodo-0.14/libgtodo/libgtodo.h 2004-02-15
17:59:02.000000000 +0200
+++ gtodo-0.14/libgtodo/libgtodo.h 2004-04-04
15:33:14.000000000 +0300
@@ -5,6 +5,8 @@
/* the GError stuff */
#define LIBGTODO_ERROR
g_quark_from_static_string("libgtodo-error-quark")
+#define xmlFree(x) if (x != NULL) xmlFree(x)
+
enum{
LIBGTODO_ERROR_OK, /* no error */
LIBGTODO_ERROR_FAILED,
It simply protects all calls of xmlFree() against a null
argument...