@Dmitry: Are you sure that you always have a valid id when calling g_source_remove(id), and that you call that function for each id only once?
@Dmitry: remove( id), and that you call that function for each id only once?
Are you sure that you always have a valid id when calling g_source_