GNOME Bugzilla – Bug 314544
E-D-S prints warning messages too the console when program shutdowns
Last modified: 2009-08-25 15:00:42 UTC
Please describe the problem: Hi, I'm using the E-D-S package 1.2.1 from Ubuntu Hoary in Pentium IV. The EDS backend will print the following message when program shutdowns: *** (process:27100): WARNING **: FIXME: wait for completion unimplemented The number following is the pid of the program. A program that displays this bug is shown here http://lists.ximian.com/pipermail/evolution-hackers/2005-August/006238.html. and another one here (thi one uses a bonobo_main) http://lists.ximian.com/pipermail/evolution-hackers/2005-August/006271.html The message gets printed frequently but not always. The following tests from evolution-data-server have the same behaviour (at least in my machine): http://cvs.gnome.org/viewcvs/evolution-data-server/calendar/tests/ecal/test-recur.c?rev=1.3&view=markup http://cvs.gnome.org/viewcvs/evolution-data-server/calendar/tests/ecal/test-search.c?rev=1.2&view=markup http://cvs.gnome.org/viewcvs/evolution-data-server/addressbook/tests/ebook/test-ebook.c?rev=1.6&view=markup An easy workaround is to put a sleep before program termination. This will eventually get rid of the message. Program 1 that exhibits the bug ------------------------------- #include <stdio.h> #include <libebook/e-book.h> #include <libebook/e-contact.h> #include <libecal/e-cal.h> #include <libecal/e-cal-time-util.h> ECal* open_calendar() { ECal* cal; GError* error = 0; cal = e_cal_new_system_calendar(); e_cal_open(cal, FALSE, &error); if (error) printf("ERROR!"); return cal; } static void get_all_appointments() { GError* error = 0; GList* appts, *l; e_cal_get_object_list_as_comp(open_calendar(), "#t", &appts, &error); if(error) printf("ERROR"); for (l = appts; l;l = l->next) { ECalComponent *ev_appt = E_CAL_COMPONENT(l->data); g_object_unref(ev_appt); } g_list_free(appts); g_object_unref(cal); } int main(int argc, char** argv) { g_type_init(); get_all_appointments(); return 0; } Program 2 that exhibits the bug ------------------------------- #include <stdio.h> #include <unistd.h> #include <libebook/e-book.h> #include <libebook/e-contact.h> #include <libecal/e-cal.h> #include <libecal/e-cal-time-util.h> #include <libbonobo-2.0/libbonobo.h> gboolean end_program=FALSE; ECal* open_calendar() { ECal* cal; GError* error = 0; cal = e_cal_new_system_calendar(); e_cal_open(cal, FALSE, &error); if (error) printf("ERROR!"); return cal; } static void get_all_appointments() { GError* error = 0; GList* appts, *l; ECal* cal = open_calendar(); e_cal_get_object_list_as_comp(cal, "#t", &appts, &error); if((error)||( e_cal_get_load_state (cal) != E_CAL_LOAD_LOADED)) printf("ERROR\n"); for (l = appts; l;l = l->next) { ECalComponent *ev_appt = E_CAL_COMPONENT(l->data); g_object_unref(ev_appt); } g_list_free(appts); g_object_unref(cal); } gboolean cb_work(void *data) { get_all_appointments(); bonobo_main_quit(); return FALSE; } int main(int argc, char** argv) { g_type_init(); bonobo_init(&argc,argv); bonobo_activate(); if(bonobo_is_initialized()) printf("Init (pid %i)\n", getpid()); g_idle_add(cb_work, NULL); bonobo_main(); bonobo_debug_shutdown(); if(!bonobo_is_initialized()) printf("Not init!\n"); return 0; } Steps to reproduce: 1. Compile one of the above programs 2. Execute 3. Actual results: The message reported will not be displayed always, but quite frequently on my machine. Expected results: No strange message printed. I actually discovered this when writing some patches for Tom Copeland's binding revolution Does this happen every time? Just quite frequently Other information: More information is available in the evolution-hackers thread started here http://lists.ximian.com/pipermail/evolution-hackers/2005-August/006238.html with the name "Strange console messages when accessing e-d-s through the libecal C API." A brief explanation of the message seems to come from the fact that the CORBA orb is shutdown while there is a process for completion. This message is a very probable explanation of what is happening: http://lists.ximian.com/pipermail/evolution-hackers/2005-August/006272.html
I think this has long since been fixed. Closing as obsolete.