[evolution-patches] Fix for a crash while importing calendar items [exchange calendar]



Hi,
   Have attached the fix for the bug. Notify for authentication only when the mode changes from offline to online.

thanks, Chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-exchange/ChangeLog,v
retrieving revision 1.478
diff -u -p -r1.478 ChangeLog
--- ChangeLog	6 Mar 2006 09:27:05 -0000	1.478
+++ ChangeLog	6 Mar 2006 10:44:52 -0000
@@ -1,3 +1,10 @@
+2006-03-06  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes a crash.
+	* calendar/e-cal-backend-exchange.c:
+	(set_mode): Notify the client to authenticate only when
+	the mode is changed from offline to online.
+
 2006-03-06  Sushma Rai  <rsushma novell com>
 
 	* po/POTFILES.in : Removed the non existing files. 
Index: calendar/e-cal-backend-exchange.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/calendar/e-cal-backend-exchange.c,v
retrieving revision 1.63
diff -u -p -r1.63 e-cal-backend-exchange.c
--- calendar/e-cal-backend-exchange.c	4 Mar 2006 10:17:41 -0000	1.63
+++ calendar/e-cal-backend-exchange.c	6 Mar 2006 10:44:53 -0000
@@ -1245,6 +1245,7 @@ set_mode (ECalBackend *backend, CalMode 
 {
 	ECalBackendExchange *cbex;
 	ECalBackendExchangePrivate *priv;
+	gboolean re_open = FALSE;
 	
 	cbex = E_CAL_BACKEND_EXCHANGE (backend);
 	priv = cbex->priv;
@@ -1257,7 +1258,10 @@ set_mode (ECalBackend *backend, CalMode 
 			cal_mode_to_corba (mode));
 	}
 
+
 	g_mutex_lock (priv->set_lock);	
+	if ((priv->mode == CAL_MODE_LOCAL) && (mode == CAL_MODE_REMOTE))
+		re_open = TRUE;
 
 	switch (mode) {
 	
@@ -1270,7 +1274,7 @@ set_mode (ECalBackend *backend, CalMode 
 			priv->mode = CAL_MODE_REMOTE;
 		
 			e_cal_backend_notify_readonly (backend, priv->read_only);
-			if (is_loaded (backend))
+			if (is_loaded (backend) && re_open)
 				e_cal_backend_notify_auth_required(backend);
 			break;
 
Backtrace was generated from '/opt/gnome2/bin/evolution-2.6'

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1236019520 (LWP 28647)]
[New Thread -1503188064 (LWP 28974)]
[New Thread -1511580768 (LWP 28973)]
[New Thread -1528366176 (LWP 28716)]
[New Thread -1519973472 (LWP 28715)]
[New Thread -1502921824 (LWP 28698)]
[New Thread -1494135904 (LWP 28693)]
[New Thread -1485743200 (LWP 28692)]
[New Thread -1371874400 (LWP 28661)]
[New Thread -1363477600 (LWP 28660)]
[New Thread -1344865376 (LWP 28659)]
[New Thread -1361020000 (LWP 28650)]
[New Thread -1360938080 (LWP 28649)]
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb70b6f8b in __waitpid_nocancel () from /lib/libpthread.so.0
#2  0xb765ba3d in gnome_init_with_popt_table () from /opt/gnome/lib/libgnomeui-2.so.0
#3  <signal handler called>
#4  0xffffe410 in __kernel_vsyscall ()
#5  0xb6655870 in raise () from /lib/libc.so.6
#6  0xb6656f43 in abort () from /lib/libc.so.6
#7  0xb79a5019 in mono_handle_native_sigsegv () from /usr/lib/libmono.so.0
#8  0xb7965642 in mini_init () from /usr/lib/libmono.so.0
#9  <signal handler called>
#10 0xb6a69b9c in g_type_check_instance_cast () from /opt/gnome/lib/libgobject-2.0.so.0
#11 0xb78ab11a in reopen_with_auth (data=0x874d568) at e-cal.c:964
#12 0xb69dd0a1 in g_list_copy () from /opt/gnome/lib/libglib-2.0.so.0
#13 0xb69deabd in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#14 0xb69e1cbf in g_main_context_check () from /opt/gnome/lib/libglib-2.0.so.0
#15 0xb69e2069 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#16 0xb7181b83 in bonobo_main () from /opt/gnome/lib/libbonobo-2.so.0
#17 0x08060aad in main (argc=1, argv=0xbf9b6c74) at main.c:610

Thread 13 (Thread -1360938080 (LWP 28649)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b6776 in __nanosleep_nocancel () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7a5639e in _wapi_collection_init () from /usr/lib/libmono.so.0
No symbol table info available.
#3  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#4  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 12 (Thread -1361020000 (LWP 28650)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b37ec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb7a58efa in _wapi_handle_dump () from /usr/lib/libmono.so.0
No symbol table info available.
#3  0xb7a5b355 in _wapi_handle_timedwait_signal_handle () from /usr/lib/libmono.so.0
No symbol table info available.
#4  0xb7a5b465 in _wapi_handle_wait_signal_handle () from /usr/lib/libmono.so.0
No symbol table info available.
#5  0xb7a69178 in WaitForSingleObjectEx () from /usr/lib/libmono.so.0
No symbol table info available.
#6  0xb7a04722 in mono_object_register_finalizer () from /usr/lib/libmono.so.0
No symbol table info available.
#7  0x00000404 in ?? ()
No symbol table info available.
#8  0xffffffff in ?? ()
No symbol table info available.
#9  0x00000001 in ?? ()
No symbol table info available.
#10 0xb7a1a3ac in mono_get_special_static_data () from /usr/lib/libmono.so.0
No symbol table info available.
#11 0xb7a1bd69 in ves_icall_System_Threading_Thread_Thread_internal () from /usr/lib/libmono.so.0
No symbol table info available.
#12 0xb7a68684 in _wapi_timed_thread_exit () from /usr/lib/libmono.so.0
No symbol table info available.
#13 0xb7a83117 in GC_start_routine () from /usr/lib/libmono.so.0
No symbol table info available.
#14 0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#15 0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 11 (Thread -1344865376 (LWP 28659)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb77b0a25 in e_msgport_wait (mp=0x81f5240) at e-msgport.c:660
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1215828964, 0, 4001536, -1344867288, 1512218995, 
        1116691427}, __mask_was_saved = 0}}, __pad = {0xafd6f490, 0x0, 0xb70b2bb0, 0xafd6f3c8}}
	__cancel_routine = (void (*)(void *)) 0xb77b0764 <msgport_cleanlock>
	__cancel_arg = (void *) 0x81f5240
	not_first_call = 0
	msg = (EMsg *) 0xafd6fba0
#3  0xb77b12ff in thread_dispatch (din=0x81f51e0) at e-msgport.c:1022
	e = (EThread *) 0x81f51e0
	m = (EMsg *) 0x0
	info = (struct _thread_info *) 0x8241078
	self = 2950101920
#4  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 10 (Thread -1363477600 (LWP 28660)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb77b0a25 in e_msgport_wait (mp=0x81f5240) at e-msgport.c:660
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1215828964, 0, 4001536, -1363479512, 1531879795, 
        1116691427}, __mask_was_saved = 0}}, __pad = {0xaebaf490, 0x0, 0xb70b2bb0, 0xaebaf3c8}}
	__cancel_routine = (void (*)(void *)) 0xb77b0764 <msgport_cleanlock>
	__cancel_arg = (void *) 0x81f5240
	not_first_call = 0
	msg = (EMsg *) 0xaebafba0
#3  0xb77b12ff in thread_dispatch (din=0x81f51e0) at e-msgport.c:1022
	e = (EThread *) 0x81f51e0
	m = (EMsg *) 0x0
	info = (struct _thread_info *) 0x824edd0
	self = 2931489696
#4  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 9 (Thread -1371874400 (LWP 28661)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b5f2b in __read_nocancel () from /lib/libpthread.so.0
No symbol table info available.
#2  0xaec09224 in do_read (marshal=0x8274738, buf=0x8239f50 "\b", len=4) at camel-stub-marshal.c:90
	nread = -1363098888
#3  0xaec09349 in marshal_read (marshal=0x8274738, buf=0xae3ad3e7 "\213\b��g\225�8G'\b", len=1)
    at camel-stub-marshal.c:117
	avail = 0
	nread = -1371876312
#4  0xaec0949b in marshal_getc (marshal=0x8274738) at camel-stub-marshal.c:149
	buf = -117 '\213'
#5  0xaec09567 in decode_uint32 (marshal=0x8274738, dest=0xae3ad444) at camel-stub-marshal.c:177
	value = 0
	v = -1371876400
#6  0xaec0977f in camel_stub_marshal_decode_uint32 (marshal=0x8274738, dest=0xae3ad444) at camel-stub-marshal.c:262
No locals.
#7  0xaec09f84 in status_main (data=0x8274518) at camel-stub.c:109
	stub_object = (CamelObject *) 0x8274518
	stub = (CamelStub *) 0x8274518
	status_channel = (CamelStubMarshal *) 0x8274738
	retval = 11
#8  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#9  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 8 (Thread -1485743200 (LWP 28692)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb77b0a25 in e_msgport_wait (mp=0x81f5240) at e-msgport.c:660
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1215828964, 0, 4001536, -1485745112, 1384448371, 
        1116691427}, __mask_was_saved = 0}}, __pad = {0xa7715490, 0x0, 0xb70b2bb0, 0xa77153c8}}
	__cancel_routine = (void (*)(void *)) 0xb77b0764 <msgport_cleanlock>
	__cancel_arg = (void *) 0x81f5240
	not_first_call = 0
	msg = (EMsg *) 0xa7715ba0
#3  0xb77b12ff in thread_dispatch (din=0x81f51e0) at e-msgport.c:1022
	e = (EThread *) 0x81f51e0
	m = (EMsg *) 0x0
	info = (struct _thread_info *) 0x84c5490
	self = 2809224096
#4  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 7 (Thread -1494135904 (LWP 28693)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb77b0a25 in e_msgport_wait (mp=0x81f5240) at e-msgport.c:660
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1215828964, 0, 4001536, -1494137816, 1392841075, 
        1116691427}, __mask_was_saved = 0}}, __pad = {0xa6f14490, 0x0, 0xb70b2bb0, 0xa6f143c8}}
	__cancel_routine = (void (*)(void *)) 0xb77b0764 <msgport_cleanlock>
	__cancel_arg = (void *) 0x81f5240
	not_first_call = 0
	msg = (EMsg *) 0xa6f14ba0
#3  0xb77b12ff in thread_dispatch (din=0x81f51e0) at e-msgport.c:1022
	e = (EThread *) 0x81f51e0
	m = (EMsg *) 0x0
	info = (struct _thread_info *) 0x84c4d20
	self = 2800831392
#4  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 6 (Thread -1502921824 (LWP 28698)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb66e07b3 in poll () from /lib/libc.so.6
No symbol table info available.
#2  0xb69e1cf3 in g_main_context_check () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#3  0xb69e2069 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#4  0xb7102f10 in link_set_io_thread () from /opt/gnome/lib/libORBit-2.so.0
No symbol table info available.
#5  0xb69fc89f in g_thread_create_full () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#6  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 5 (Thread -1519973472 (LWP 28715)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb77b0a25 in e_msgport_wait (mp=0x81f5100) at e-msgport.c:660
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1215828964, 0, 4001536, -1519975384, 1351831923, 
        1116691427}, __mask_was_saved = 0}}, __pad = {0xa5670490, 0x0, 0xb70b2bb0, 0xa56703c8}}
	__cancel_routine = (void (*)(void *)) 0xb77b0764 <msgport_cleanlock>
	__cancel_arg = (void *) 0x81f5100
	not_first_call = 0
	msg = (EMsg *) 0x81f3190
#3  0xb77b12ff in thread_dispatch (din=0x81f50a0) at e-msgport.c:1022
	e = (EThread *) 0x81f50a0
	m = (EMsg *) 0x0
	info = (struct _thread_info *) 0x0
	self = 2774993824
#4  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 4 (Thread -1528366176 (LWP 28716)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb77b0a25 in e_msgport_wait (mp=0x81f5190) at e-msgport.c:660
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1215828964, 0, 4001536, -1528368088, 1360175475, 
        1116691427}, __mask_was_saved = 0}}, __pad = {0xa4e6f490, 0x0, 0xb70b2bb0, 0xa4e6f3c8}}
	__cancel_routine = (void (*)(void *)) 0xb77b0764 <msgport_cleanlock>
	__cancel_arg = (void *) 0x81f5190
	not_first_call = 0
	msg = (EMsg *) 0x81f51c0
#3  0xb77b12ff in thread_dispatch (din=0x81f5130) at e-msgport.c:1022
	e = (EThread *) 0x81f5130
	m = (EMsg *) 0x0
	info = (struct _thread_info *) 0x0
	self = 2766601120
#4  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 3 (Thread -1511580768 (LWP 28973)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb69c6ba2 in g_async_queue_lock () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#3  0xb69fe4e2 in g_thread_pool_push () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#4  0xb69fc89f in g_thread_create_full () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#5  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 2 (Thread -1503188064 (LWP 28974)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b3576 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb69c6ba2 in g_async_queue_lock () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#3  0xb69fe4e2 in g_thread_pool_push () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#4  0xb69fc89f in g_thread_create_full () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#5  0xb70b03bb in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6  0xb66e998e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 1 (Thread -1236019520 (LWP 28647)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb70b6f8b in __waitpid_nocancel () from /lib/libpthread.so.0
No symbol table info available.
#2  0xb765ba3d in gnome_init_with_popt_table () from /opt/gnome/lib/libgnomeui-2.so.0
No symbol table info available.
#3  <signal handler called>
No symbol table info available.
#4  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#5  0xb6655870 in raise () from /lib/libc.so.6
No symbol table info available.
#6  0xb6656f43 in abort () from /lib/libc.so.6
No symbol table info available.
#7  0xb79a5019 in mono_handle_native_sigsegv () from /usr/lib/libmono.so.0
No symbol table info available.
#8  0xb7965642 in mini_init () from /usr/lib/libmono.so.0
No symbol table info available.
#9  <signal handler called>
No symbol table info available.
#10 0xb6a69b9c in g_type_check_instance_cast () from /opt/gnome/lib/libgobject-2.0.so.0
No symbol table info available.
#11 0xb78ab11a in reopen_with_auth (data=0x874d568) at e-cal.c:964
	status = 134784436
#12 0xb69dd0a1 in g_list_copy () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#13 0xb69deabd in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#14 0xb69e1cbf in g_main_context_check () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#15 0xb69e2069 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
No symbol table info available.
#16 0xb7181b83 in bonobo_main () from /opt/gnome/lib/libbonobo-2.so.0
No symbol table info available.
#17 0x08060aad in main (argc=1, argv=0xbf9b6c74) at main.c:610
	options = {{longName = 0x80654a9 "component", shortName = 99 'c', argInfo = 1, arg = 0x8067860, val = 0, 
    descrip = 0x80654b4 "Start Evolution activating the specified component", argDescrip = 0x0}, {
    longName = 0x80654e7 "offline", shortName = 0 '\0', argInfo = 0, arg = 0x806784c, val = 0, 
    descrip = 0x80654ef "Start in offline mode", argDescrip = 0x0}, {longName = 0x8065505 "online", shortName = 0 '\0', 
    argInfo = 0, arg = 0x8067848, val = 0, descrip = 0x806550c "Start in online mode", argDescrip = 0x0}, {
    longName = 0x8065521 "force-shutdown", shortName = 0 '\0', argInfo = 0, arg = 0x8067854, val = 0, 
    descrip = 0x8065530 "Forcibly shut down all Evolution components", argDescrip = 0x0}, {
    longName = 0x806555c "force-migrate", shortName = 0 '\0', argInfo = 0, arg = 0x8067858, val = 0, 
    descrip = 0x806556c "Forcibly re-migrate from Evolution 1.4", argDescrip = 0x0}, {longName = 0x8065593 "debug", 
    shortName = 0 '\0', argInfo = 1, arg = 0x8067864, val = 0, 
    descrip = 0x806559c "Send the debugging output of all components to a file.", argDescrip = 0x0}, {
    longName = 0x80655d3 "disable-eplugin", shortName = 0 '\0', argInfo = 0, arg = 0x806785c, val = 0, 
    descrip = 0x80655e4 "Disable loading of any plugins.", argDescrip = 0x0}, {longName = 0x8065604 "setup-only", 
    shortName = 0 '\0', argInfo = 1073741824, arg = 0x8067850, val = 0, descrip = 0x0, argDescrip = 0x0}, {longName = 0x0, 
    shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}
	client = (GConfClient *) 0x8095000
	skip_warning_dialog = 1
	uri_list = (GSList *) 0x0
	popt_context_value = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, 
      v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, 
      v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
	program = (GnomeProgram *) 0x806efa8
	popt_context = (poptContext) 0x8071f38
	args = (const char **) 0x0
	icon_list = (GList *) 0x806e848
	filename = 0xb6749c80 ""
#0  0xffffe410 in __kernel_vsyscall ()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]