GNOME Bugzilla – Bug 406155
evo
Last modified: 2007-06-19 15:45:39 UTC
Steps to reproduce: 1. leave evolution running, exchange eventually crashes 2. 3. Stack trace: Memory status: size: 71303168 vsize: 0 resident: 71303168 share: 0 rss: 16732160 rss_rlim: 0 CPU usage: start_time: 1171038717 rtime: 0 utime: 266 stime: 0 cutime:219 cstime: 0 timeout: 47 it_real_value: 0 frequency: 0 Backtrace was generated from '/usr/libexec/evolution-exchange' Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1236866880 (LWP 3045)] [New Thread -1238189152 (LWP 3048)] 0xffffe410 in __kernel_vsyscall ()
+ Trace 109336
Thread 1 (Thread -1236866880 (LWP 3045))
Other information:
Hi Reid, How frequent is the crash for you? Will it be possible for you to try a patch that spews some debugging information, w.r.t the crash?
Created attachment 82236 [details] [review] spews out some debug information into terminal This patch will print some debug information that are required to fix this bug. Please attach the screen dump, when you are able to reproduce the crash. If it prints any sensitive information, you can directly mail me the screen dump. TIA.
Patch applied - will forward debug spew
(In reply to comment #3) > Patch applied - will forward debug spew > Thanks for the logs, Reid. Can you apply the second one also?
Created attachment 82534 [details] [review] Disables unwanted spews
*** Bug 410141 has been marked as a duplicate of this bug. ***
Created attachment 83416 [details] [review] More debug messages This obsoletes the other two patches. More debug statements to conclude a proper fix. Please test with the patch and attach the log of Evolution-exchange-storage process. TIA.
Was able to apply the patch but it fails to compile. I get this error: mail-stub-exchange.c: In function 'dump_tag_update_values': mail-stub-exchange.c:1621: error: expected ':' before ')' token make[2]: *** [mail-stub-exchange.lo] Error 1
Comment on attachment 83416 [details] [review] More debug messages >Index: mail/mail-stub-exchange.c >=================================================================== >--- mail/mail-stub-exchange.c (revision 1306) >+++ mail/mail-stub-exchange.c (working copy) >@@ -43,7 +43,7 @@ > #include <exchange-hierarchy.h> > #include <mapi.h> > >-#define d(x) >+#define d(x) (x) > > #define PARENT_TYPE MAIL_TYPE_STUB > static MailStubClass *parent_class = NULL; >@@ -190,9 +190,13 @@ > MailStubExchangeFolder *mfld = value; > int i; > >+ d(g_print ("%s:%s:%d: freeing mfld: name=[%s]\n", __FILE__, __PRETTY_FUNCTION__, __LINE__, >+ mfld->name)); >+ > e_folder_exchange_unsubscribe (mfld->folder); > g_signal_handlers_disconnect_by_func (mfld->folder, storage_folder_changed, mfld); > g_object_unref (mfld->folder); >+ mfld->folder = NULL; > > for (i = 0; i < mfld->messages->len; i++) > free_message (mfld->messages->pdata[i]); >@@ -1610,6 +1614,13 @@ > g_warning ("update_tags: %d", status); > } > >+static void dump_tag_update_values (GQuark key_id, gpointer data, >+ gpointer user_data) >+{ >+ d(g_print ("Dumping tag_update_values: \n")); >+ d(g_print ("Key=[%s], value=[%s]\n", g_quark_to_string (key_id), data ? ((char *)data):"{NULL}"); >+} >+ > static gboolean > process_flags (gpointer user_data) > { >@@ -1622,6 +1633,12 @@ > > for (i = 0; i < mfld->changed_messages->len; i++) { > mmsg = mfld->changed_messages->pdata[i]; >+ >+ if (!mmsg->href) { >+ d(g_print ("%s:%s:%d: mfld = [%s], type=[%d]\n", __FILE__, __PRETTY_FUNCTION__, >+ __LINE__, mfld->name, mfld->type)); >+ g_datalist_foreach (&mmsg->tag_updates, dump_tag_update_values, NULL); >+ } > > if (mmsg->change_mask & MAIL_STUB_MESSAGE_SEEN) { > if (mmsg->change_flags & MAIL_STUB_MESSAGE_SEEN) {
Change: + d(g_print ("Key=[%s], value=[%s]\n", g_quark_to_string (key_id), data ? (char *)data):"{NULL}"); to + d(g_print ("Key=[%s], value=[%s]\n", g_quark_to_string (key_id), data ? ((char *)data):"{NULL}"); and it will compile properly.
Created attachment 86658 [details] [review] Proposed fix. Reid/GMan: Can you see whether the attached patch fixes your problem? TIA.
At this time, this appears to have fixed the issue for me.
Thanks a ton, Reid, for trying out my patches. Fix has been committed to 2.10.3 and 2.11.3 versions.