After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 406155 - evo
evo
Status: RESOLVED FIXED
Product: Evolution Exchange
Classification: Deprecated
Component: Connector
unspecified
Other All
: Normal critical
: ---
Assigned To: Veerapuram Varadhan
Ximian Connector QA
: 410141 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-02-09 17:30 UTC by Reid Thompson
Modified: 2007-06-19 15:45 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
spews out some debug information into terminal (728 bytes, patch)
2007-02-09 18:02 UTC, Veerapuram Varadhan
none Details | Review
Disables unwanted spews (460 bytes, patch)
2007-02-14 14:00 UTC, Veerapuram Varadhan
none Details | Review
More debug messages (1.65 KB, patch)
2007-02-26 20:20 UTC, Veerapuram Varadhan
none Details | Review
Proposed fix. (5.31 KB, patch)
2007-04-19 20:02 UTC, Veerapuram Varadhan
committed Details | Review

Description Reid Thompson 2007-02-09 17:30:30 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 ()

Thread 1 (Thread -1236866880 (LWP 3045))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 strlen
    from /lib/tls/i686/cmov/libc.so.6
  • #5 vfprintf
    from /lib/tls/i686/cmov/libc.so.6
  • #6 vasprintf
    from /lib/tls/i686/cmov/libc.so.6
  • #7 g_vasprintf
    from /usr/lib/libglib-2.0.so.0
  • #8 g_string_append_len
    from /usr/lib/libglib-2.0.so.0
  • #9 g_string_append_printf
    from /usr/lib/libglib-2.0.so.0
  • #10 patch_msg
    at e2k-context.c line 1387
  • #11 e2k_context_bproppatch_start
    at e2k-context.c line 1581
  • #12 e_folder_exchange_bproppatch_start
    at e-folder-exchange.c line 886
  • #13 mark_read
    at mail-stub-exchange.c line 1423
  • #14 process_flags
    at mail-stub-exchange.c line 1660
  • #15 g_source_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #16 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #17 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #18 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #19 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #20 main
    at main.c line 238
  • #0 __kernel_vsyscall


Other information:
Comment 1 Veerapuram Varadhan 2007-02-09 17:45:53 UTC
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?
Comment 2 Veerapuram Varadhan 2007-02-09 18:02:57 UTC
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.
Comment 3 Reid Thompson 2007-02-12 19:50:57 UTC
Patch applied - will forward debug spew
Comment 4 Veerapuram Varadhan 2007-02-14 13:59:40 UTC
(In reply to comment #3)
> Patch applied - will forward debug spew
> 
Thanks for the logs, Reid.  Can you apply the second one also?
 
Comment 5 Veerapuram Varadhan 2007-02-14 14:00:37 UTC
Created attachment 82534 [details] [review]
Disables unwanted spews
Comment 6 Veerapuram Varadhan 2007-02-23 16:36:51 UTC
*** Bug 410141 has been marked as a duplicate of this bug. ***
Comment 7 Veerapuram Varadhan 2007-02-26 20:20:15 UTC
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.
Comment 8 G-man 2007-02-28 19:54:43 UTC
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 9 Veerapuram Varadhan 2007-04-19 19:56:45 UTC
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) {
Comment 10 Veerapuram Varadhan 2007-04-19 20:01:03 UTC
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.
Comment 11 Veerapuram Varadhan 2007-04-19 20:02:33 UTC
Created attachment 86658 [details] [review]
Proposed fix.

Reid/GMan:  Can you see whether the attached patch fixes your problem?  TIA.
Comment 12 Reid Thompson 2007-04-23 15:23:25 UTC
At this time, this appears to have fixed the issue for me.
Comment 13 Veerapuram Varadhan 2007-06-19 15:45:39 UTC
Thanks a ton, Reid, for trying out my patches.  Fix has been committed to 2.10.3 and 2.11.3 versions.