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

Reply via email to