[evolution-patches] A crash for CamelDiscoStore
- From: jeff cai <Jeff Cai Sun COM>
- To: Evolution patches List <evolution-patches gnome org>
- Subject: [evolution-patches] A crash for CamelDiscoStore
- Date: Fri, 18 Nov 2005 11:34:00 +0800
Hi
Here is the crash stack
[1] __lwp_park(0x0, 0x0), at 0xd07c2749
[2] mutex_lock_queue(0xcfd32400, 0x0, 0x8079f5c, 0x0), at 0xd07bb56c
[3] slow_lock(0xcfd32400, 0x8079f5c, 0x0), at 0xd07bbe40
[4] mutex_lock_impl(0x8079f5c, 0x0), at 0xd07bbf36
[5] _mutex_lock(0x8079f5c), at 0xd07bc042
[6] segv_redirect(0xb, 0x0, 0xcc65b9ac), at 0x8064029
[7] __sighndlr(0xb, 0x0, 0xcc65b9ac, 0x8063fc3), at 0xd07c27ef
---- called from signal handler with signal 11 (SIGSEGV) ------
=>[8] camel_disco_diary_empty(0x0), at 0xce91fbb8
[9] disco_connect(0x82ce678, 0x0), at 0xce921094
[10] camel_service_connect(0x82ce678, 0x0), at 0xce9409d7
[11] camel_imap_store_connected(0x82ce678, 0x0), at 0xcc6877b1
[12] camel_imap_folder_fetch_data(0x96c4ac0, 0xbc5d4c8, 0xa3f1c28,
0x0, 0x0), at 0xcc67f035
[13] write_to_stream(0x8c3ce70, 0x8a6cb08), at 0xcc68b528
[14] camel_data_wrapper_write_to_stream(0x8c3ce70, 0x8a6cb08), at
0xcfc136ad
[15] efh_text_plain(0x83e90e8, 0x8930c18, 0x862d850, 0xccef25b0), at
0xcce83e74
[16] em_format_part_as(0x83e90e8, 0x8930c18, 0x862d850, 0xa99b540), at
0xcce87dae
[17] emf_multipart_mixed(0x83e90e8, 0x8930c18, 0x89a77c8, 0xccef2748),
at 0xcce88cd0
[18] em_format_part_as(0x83e90e8, 0x8930c18, 0x89a77c8, 0xaa9c830), at
0xcce87dae
[19] em_format_part(0x83e90e8, 0x8930c18, 0x89a77c8), at 0xcce87e43
[20] efh_format_message(0x83e90e8, 0x8930c18, 0x89a77c8, 0xccef2640),
at 0xcce861cc
[21] efh_format_do(0x8c3db58), at 0xcce84c0e
[22] mail_msg_received(0x81a5920, 0x8c3db58, 0x0), at 0xccea6087
[23] thread_dispatch(0x81a5920), at 0xd03df700
[24] _thr_setup(0xcfd32400), at 0xd07c22ea
[25] _lwp_start(), at 0xd07c26f0
We can see that parameter of function 'camel_disco_diary_empty' is null.
When camel disco diary is null, it indicates that no need to resync on
the disk files. I give a patch, pls review it.
? camel-mime-tables.c
? providers/groupwise/.deps
? providers/groupwise/.libs
? providers/groupwise/camel-groupwise-folder.lo
? providers/groupwise/camel-groupwise-journal.lo
? providers/groupwise/camel-groupwise-provider.lo
? providers/groupwise/camel-groupwise-store-summary.lo
? providers/groupwise/camel-groupwise-store.lo
? providers/groupwise/camel-groupwise-summary.lo
? providers/groupwise/camel-groupwise-transport.lo
? providers/groupwise/camel-groupwise-utils.lo
? providers/groupwise/libcamelgroupwise.la
? providers/imap/patch_printf
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/ChangeLog,v
retrieving revision 1.2486
diff -u -r1.2486 ChangeLog
--- ChangeLog 23 Oct 2005 15:44:33 -0000 1.2486
+++ ChangeLog 12 Nov 2005 06:47:23 -0000
@@ -1,3 +1,8 @@
+2005-11-12 Jeff Cai <jeff cai sun com>
+
+ * camel-disco-store.c: (disco_connect):
+ If no diary is created, no need to do resync.
+
2005-10-23 Parthasarathi Susarla <sparthasarathi novell com>
** See bug #218177
Index: camel-disco-store.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-disco-store.c,v
retrieving revision 1.16
diff -u -r1.16 camel-disco-store.c
--- camel-disco-store.c 31 Aug 2005 04:21:56 -0000 1.16
+++ camel-disco-store.c 12 Nov 2005 06:47:24 -0000
@@ -159,6 +159,9 @@
case CAMEL_DISCO_STORE_RESYNCING:
if (!CDS_CLASS (service)->connect_online (service, ex))
return FALSE;
+
+ if ( !store->diary )
+ return TRUE;
d(printf(" diary is %s\n", camel_disco_diary_empty(store->diary)?"empty":"not empty"));
if (camel_disco_diary_empty (store->diary))
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]