On Sun, 2014-02-02 at 11:22 +1300, Jane Atkinson wrote:
> Probably not connected with this behaviour, but I regularly see an error
> message:
> [ERROR] GLib: Source ID 9 was not found when attempting to remove it
Where exactly do you see that? Does it appear in any of the log files?
> Usually it's ID 9 but occasionally is another number.
That looks like a real bug. I can't reproduce it here because the
warning was only added in a fairly recent glib version (the one for
GNOME 3.12).
commit a919be3d39150328874ff647fb2c2be7af3df996
Author: Bastien Nocera <[email protected]>
Date: Wed Oct 23 15:38:58 2013 +0200
gmain: Warn when g_source_remove() fails
Trying to remove a non-existent source should really be
a programming error, as the programmer could be trying to
use the wrong function to remove a callback, as seen when
GtkScrolledWindow tried to remove ID from another function
using g_source_remove().
Can you try to track it down?
Attached is a test program which should trigger the warning. Compile
with:
gcc -g -o test-remove test-remove.c `pkg-config --cflags --libs glib-2.0`
Then run with
G_DEBUG=fatal_criticals gdb ./test-remove
$ run
[crash]
$ where
At least I think it'll crash, thanks to G_DEBUG=fatal_criticals.
Once you can catch it like this, try the same with syncevo-dbus-server
(assuming that this is where the problem occurs - see my question
above).
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
#include <glib.h>
#include <stdio.h>
static gboolean timeout(gpointer data) { return FALSE; }
int main(int argc, char **argv)
{
int tag = g_timeout_add_seconds(1, timeout, "foo bar");
printf("tag: %d\n", tag);
printf("first remove: %s\n", g_source_remove(tag) ? "okay" : "failed");
printf("second remove: %s\n", g_source_remove(tag) ? "okay" : "failed");
return 0;
}
_______________________________________________
SyncEvolution mailing list
[email protected]
https://lists.syncevolution.org/mailman/listinfo/syncevolution