GNOME Bugzilla – Bug 514263
Evolution crashes when not logged in to several IMAP accounts
Last modified: 2010-08-23 04:18:27 UTC
Steps to reproduce: 1. Evolution is configured with 8 IMAP accounts on a courier-imap server 2. Log in to one account, Cancel the login for the others 3. After a while, usually around half-day to a day, evolution crashes Stack trace: gdb session: 1 GNU gdb 6.1.1 [FreeBSD] 2 Copyright 2004 Free Software Foundation, Inc. 3 GDB is free software, covered by the GNU General Public License, and you are 4 welcome to change it and/or distribute copies of it under certain conditions. 5 Type "show copying" to see the conditions. 6 There is absolutely no warranty for GDB. Type "show warranty" for details. 7 This GDB was configured as "i386-marcel-freebsd"... 8 (gdb) run 9 Starting program: /usr/local/bin/evolution 10 [New LWP 100213] 11 [New Thread 0x29901100 (LWP 100213)] 12 CalDAV Eplugin starting up ... 13 [New Thread 0x299a5100 (LWP 100162)] 14 [New Thread 0x29d55500 (LWP 100167)] 15 [New Thread 0x29d55600 (LWP 100172)] 16 [New Thread 0x29d55700 (LWP 100174)] 17 [New Thread 0x29d55c00 (LWP 100183)] 18 [Thread 0x29d55c00 (LWP 100183) exited] 19 [New Thread 0x2b520000 (LWP 100183)] 20 [New Thread 0x2b520e00 (LWP 100184)] 21 [Thread 0x2b520e00 (LWP 100184) exited] 22 [New Thread 0x2b577e00 (LWP 100184)] 23 [New Thread 0x2b711500 (LWP 100195)] 24 [New Thread 0x2bae1800 (LWP 100199)] 25 [New Thread 0x2bae1900 (LWP 100200)] 26 [New Thread 0x2bae1b00 (LWP 100204)] 27 [Thread 0x2bae1800 (LWP 100199) exited] 28 [Thread 0x2bae1900 (LWP 100200) exited] 29 [Thread 0x2bae1b00 (LWP 100204) exited] 30 [New Thread 0x29d55c00 (LWP 100204)] 31 [New Thread 0x2b520e00 (LWP 100199)] 32 [Thread 0x2b520e00 (LWP 100199) exited] 33 [New Thread 0x2bae1800 (LWP 100199)] 34 [New Thread 0x2bae1900 (LWP 100200)] 35 [Thread 0x2bae1900 (LWP 100200) exited] 36 [Thread 0x2bae1800 (LWP 100199) exited] ... 431 [New Thread 0x2b520e00 (LWP 100199)] 432 [Thread 0x2b520e00 (LWP 100199) exited] 433 (evolution:10552): e-data-server-DEBUG: Loading categories from "/home/ws/.evolution/categories.xml" 434 (evolution:10552): e-data-server-DEBUG: Loaded 29 categories 435 [New Thread 0x2bae1800 (LWP 100199)] 436 [New Thread 0x2bae1900 (LWP 100218)] 437 [Thread 0x2bae1900 (LWP 100218) exited] ... 3880 [New Thread 0x2bae1b00 (LWP 100246)] 3881 [Thread 0x2bae1b00 (LWP 100246) exited] 3882 3883 Program received signal SIGSEGV, Segmentation fault. 3884 [Switching to Thread 0x2b711500 (LWP 100195)] 3885 0x00000002 in ?? () 3886 (gdb) thread apply all bt 3887 3888 Thread 217 (Thread 0x2bae1800 (LWP 100199)): 3889 #0 0x297ae92b in poll () from /lib/libc.so.7 3890 #1 0x2971e7e2 in poll () from /lib/libthr.so.3 3891 #2 0x29586db5 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0 3892 #3 0x29587167 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0 3893 #4 0x282c7538 in startup_mainloop (arg=0x0) at e-book.c:3767 3894 #5 0x295a707f in g_thread_create_full () from /usr/local/lib/libglib-2.0.so.0 3895 #6 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3896 #7 0xbf4f9fec in ?? () 3897 3898 Thread 70 (Thread 0x2bca4100 (LWP 100183)): 3899 #0 0x297ae92b in poll () from /lib/libc.so.7 3900 #1 0x2971e7e2 in poll () from /lib/libthr.so.3 3901 #2 0x29586db5 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0 3902 #3 0x29587167 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0 3903 #4 0x28c737d8 in link_io_thread_fn () from /usr/local/lib/libORBit-2.so.0 3904 #5 0x295a707f in g_thread_create_full () from /usr/local/lib/libglib-2.0.so.0 3905 #6 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3906 #7 0x00000000 in ?? () 3907 3908 Thread 15 (Thread 0x29d55c00 (LWP 100204)): 3909 #0 0x29770307 in _umtx_op () from /lib/libc.so.7 3910 #1 0x29727969 in pthread_cleanup_push () from /lib/libthr.so.3 3911 #2 0x297261ec in pthread_cond_init () from /lib/libthr.so.3 3912 #3 0x2972631d in pthread_cond_wait () from /lib/libthr.so.3 3913 #4 0x295660d2 in g_async_queue_sort () from /usr/local/lib/libglib-2.0.so.0 3914 #5 0x2854ac50 in e_msgport_wait (msgport=0x29d279c0) at e-msgport.c:684 3915 #6 0x2854b595 in thread_dispatch (din=0x29d83060) at e-msgport.c:1048 3916 #7 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3917 #8 0xbf3f8fec in ?? () 3918 3919 Thread 11 (Thread 0x2b711500 (LWP 100195)): 3920 #0 0x00000002 in ?? () 3921 3922 Thread 10 (Thread 0x2b577e00 (LWP 100184)): 3923 #0 0x297ae92b in poll () from /lib/libc.so.7 3924 #1 0x2971e7e2 in poll () from /lib/libthr.so.3 3925 #2 0x2856fddf in PR_Poll () from /usr/local/lib/libplds4.so.1 3926 #3 0x28269875 in stream_read (stream=0x2b566800, 3927 buffer=0x29dfc400 "A02488 OK STORE completed.\r\n5 OK FETCH completed.\r\nRecent)\r\n* OK [PERMANENTFLAGS (\\Draft \\Answered \\Flagged \\Del 3927 eted \\Seen)] Limited\r\n* 297 EXISTS\r\n* 0 RECENT\r\n* OK [UIDVALIDITY 1183781170] Ok\r\n* OK ["..., n=1024) at camel-tcp-stream-ssl.c:385 3928 #4 0x28324242 in camel_stream_read (stream=0x2b566800, 3929 buffer=0x29dfc400 "A02488 OK STORE completed.\r\n5 OK FETCH completed.\r\nRecent)\r\n* OK [PERMANENTFLAGS (\\Draft \\Answered \\Flagged \\Del 3929 eted \\Seen)] Limited\r\n* 297 EXISTS\r\n* 0 RECENT\r\n* OK [UIDVALIDITY 1183781170] Ok\r\n* OK ["..., n=1024) at camel-stream.c:98 3930 #5 0x28321622 in camel_stream_buffer_gets (sbf=0x29de1e00, buf=0xbf2f7994 "", max=1024) at camel-stream-buffer.c:411 3931 #6 0x2b452534 in camel_imap_store_readline (store=0x29dad800, dest=0xbf2f7dd0, ex=0x2c7a649c) at camel-imap-store.c:3029 3932 #7 0x2b440bcd in camel_imap_command_response (store=0x29dad800, response=0xbf2f7e10, ex=0x2c7a649c) at camel-imap-command.c:300 3933 #8 0x2b440f04 in imap_read_response (store=0x29dad800, ex=0x2c7a649c) at camel-imap-command.c:376 3934 #9 0x2b44063b in camel_imap_command (store=0x29dad800, folder=0x2993c614, ex=0x2c7a649c, fmt=0x0) at camel-imap-command.c:118 3935 #10 0x2b44306b in imap_refresh_info (folder=0x2993c614, ex=0x2c7a649c) at camel-imap-folder.c:527 3936 #11 0x28239b99 in disco_refresh_info (folder=0x2993c614, ex=0x2c7a649c) at camel-disco-folder.c:269 3937 #12 0x2824b455 in camel_folder_refresh_info (folder=0x2993c614, ex=0x2c7a649c) at camel-folder.c:302 3938 #13 0x2b3b5650 in refresh_folder_refresh (mm=0x2c7a6480) at mail-ops.c:1585 3939 #14 0x2b3b1148 in mail_msg_received (e=0x29d7afb0, msg=0x2c7a6480, data=0x0) at mail-mt.c:582 3940 #15 0x2854b45f in thread_received_msg (e=0x29d7afb0, m=0x2c7a6480) at e-msgport.c:1005 3941 #16 0x2854b64d in thread_dispatch (din=0x29d7afb0) at e-msgport.c:1072 3942 #17 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3943 #18 0x00000000 in ?? () 3944 3945 Thread 6 (Thread 0x29d55700 (LWP 100174)): 3946 #0 0x29770307 in _umtx_op () from /lib/libc.so.7 3947 #1 0x29727969 in pthread_cleanup_push () from /lib/libthr.so.3 3948 #2 0x297261ec in pthread_cond_init () from /lib/libthr.so.3 3949 #3 0x2972631d in pthread_cond_wait () from /lib/libthr.so.3 3950 #4 0x295660d2 in g_async_queue_sort () from /usr/local/lib/libglib-2.0.so.0 3951 #5 0x2854ac50 in e_msgport_wait (msgport=0x29d279c0) at e-msgport.c:684 3952 #6 0x2854b595 in thread_dispatch (din=0x29d83060) at e-msgport.c:1048 3953 #7 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3954 #8 0x00000000 in ?? () 3955 3956 Thread 5 (Thread 0x29d55600 (LWP 100172)): 3957 #0 0x29770307 in _umtx_op () from /lib/libc.so.7 3958 #1 0x29727969 in pthread_cleanup_push () from /lib/libthr.so.3 3959 #2 0x297261ec in pthread_cond_init () from /lib/libthr.so.3 3960 #3 0x2972631d in pthread_cond_wait () from /lib/libthr.so.3 3961 #4 0x295660d2 in g_async_queue_sort () from /usr/local/lib/libglib-2.0.so.0 3962 #5 0x2854ac50 in e_msgport_wait (msgport=0x29d279c0) at e-msgport.c:684 3963 #6 0x2854b595 in thread_dispatch (din=0x29d83060) at e-msgport.c:1048 3964 #7 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3965 #8 0x00000000 in ?? () 3966 3967 Thread 4 (Thread 0x29d55500 (LWP 100167)): 3968 #0 0x29770307 in _umtx_op () from /lib/libc.so.7 3969 #1 0x29727969 in pthread_cleanup_push () from /lib/libthr.so.3 3970 #2 0x297261ec in pthread_cond_init () from /lib/libthr.so.3 3971 #3 0x2972631d in pthread_cond_wait () from /lib/libthr.so.3 3972 #4 0x295660d2 in g_async_queue_sort () from /usr/local/lib/libglib-2.0.so.0 3973 #5 0x2854ac50 in e_msgport_wait (msgport=0x29d279c0) at e-msgport.c:684 3974 #6 0x2854b595 in thread_dispatch (din=0x29d83060) at e-msgport.c:1048 3975 #7 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3976 #8 0x00000000 in ?? () 3977 3978 Thread 3 (Thread 0x299a5100 (LWP 100162)): 3979 #0 0x29770307 in _umtx_op () from /lib/libc.so.7 3980 #1 0x29727969 in pthread_cleanup_push () from /lib/libthr.so.3 3981 #2 0x297261ec in pthread_cond_init () from /lib/libthr.so.3 3982 #3 0x2972631d in pthread_cond_wait () from /lib/libthr.so.3 3983 #4 0x295660d2 in g_async_queue_sort () from /usr/local/lib/libglib-2.0.so.0 3984 #5 0x2854ac50 in e_msgport_wait (msgport=0x29d279c0) at e-msgport.c:684 3985 #6 0x2854b595 in thread_dispatch (din=0x29d83060) at e-msgport.c:1048 3986 #7 0x2971fac7 in pthread_getprio () from /lib/libthr.so.3 3987 #8 0x00000000 in ?? () 3988 3989 Thread 2 (Thread 0x29901100 (LWP 100213)): 3990 #0 0x29770307 in _umtx_op () from /lib/libc.so.7 3991 #1 0x297278dd in pthread_cleanup_push () from /lib/libthr.so.3 3992 #2 0x29723aca in pthread_mutex_unlock () from /lib/libthr.so.3 3993 #3 0x2854b92d in e_thread_put (e=0x29d7af60, msg=0x2c7b7500) at e-msgport.c:1152 3994 #4 0x2b3b5caa in mail_get_messagex (folder=0x2993c614, uid=0x2e7c2298 "36358", done=0x2b37ba60 <emfv_list_done_message_selected>, data=0x2b51c00 3994 0, thread=0x29d7af60) 3995 at mail-ops.c:1836 3996 #5 0x2b37befd in emfv_message_selected_timeout (data=0x2b51c000) at em-folder-view.c:2424 3997 #6 0x29584176 in g_source_get_current_time () from /usr/local/lib/libglib-2.0.so.0 3998 #7 0x29583a06 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0 3999 #8 0x29586d82 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0 4000 #9 0x29587167 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0 4001 #10 0x28b99f13 in bonobo_main () from /usr/local/lib/libbonobo-2.so.0 4002 #11 0x0805f916 in main (argc=1, argv=0xbfbfe9c0) at main.c:602 4003 #0 0x00000002 in ?? () 4004 (gdb) quit 4005 The program is running. Exit anyway? (y or n) Other information: Some other symptoms witnessed prior to crashing include: - opening a new message fails displaying "Unable to retrieve message/Unable to retrieve message: Bad file descriptor". Clicking on an already retrieved message, then returning to the previous message then displays the message correctly. - often the crash would happen upon clicking Inbox after returning to the computer and seeing a 'new message' notification. Following are excerpts from a CAMEL_DEBUG=all log (not from same session as the included gdb): Get a set of these periodically for each account for which the login was cancelled: 2040 CamelException.set(0xbf7fcf00, 3, 'User canceled operation.') 2041 CamelException.set(0xbf7fcf00, 3, 'You did not enter a password.') 2042 CamelException.setv(0x0, 303, 'Server unexpectedly disconnected: Unknown error') %grep "CamelException.*'Server unexpectedly disconnected" $thislog | wc -l 2152 When evo crashes the log usually seems to end with a Literal and in these cases often (always?) preceded by the pair of "Failed to cache" errors: 315022 CamelException.setv(0x0, 2, 'Failed to cache : No such file or directory') 315023 CamelException.setv(0x2b4c88dc, 2, 'Failed to cache : No such file or directory') 315024 Literal: -->X-Envelope-From: owner-freebsd-stable@freebsd.org the remainder of the log contains a substantial portion of this message but not the complete message. Also get numerous instances of those "Failed to cache" errors (always in pairs). %grep -E "CamelException.*'Failed to cache" $thislog | wc -l 174
I still see this problem on 2.26.1.1. If someone can direct me as to which further information will be most useful in tracking this down I'll endeavour to provide it.
3883 Program received signal SIGSEGV, Segmentation fault. 3884 [Switching to Thread 0x2b711500 (LWP 100195)] 3885 0x00000002 in ?? () 3919 Thread 11 (Thread 0x2b711500 (LWP 100195)): 3920 #0 0x00000002 in ?? () Maybe you can try to get a better stacktrace?
Created attachment 134847 [details] gdb capture (expurgated) I just tried gdb again with current version (2.26.1.1) but output is similar: 12830 Program received signal SIGSEGV, Segmentation fault. 12831 [Switching to Thread 0x29c02250 (LWP 100311)] 12832 0x00000000 in ?? () 12833 (gdb) thread apply all bt 12834 12859 12860 Thread 4531 (Thread 0x29c02250 (LWP 100311)): 12861 #0 0x00000000 in ?? () 12862 I've attached an expurgated copy of the gdb session in case someone sees a clue in it - the bulk of the lines like those below have been removed for easier perusal:- e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: No matching results) e-data-server-ui-Message: Key file does not have group 'Passwords-Mail' [New Thread 0x29c02360 (LWP 100317)] [Thread 0x29c02360 (LWP 100317) exited] What can I try to get something useful for analysis?
Hey! Thanks for being so responsive :) 2715 (evolution:6825): e-table-CRITICAL **: ect_check: assertion `(gaec->cell_view != NULL)' failed Those look bad. I'd set G_DEBUG=fatal_criticals and obtain a stacktrace again. Those criticals shouldn't happen and attempted to save you from crashing. You can also set E2K_DEBUG to 4 to increase the log level.
Created attachment 135000 [details] gdb capture (expurgated) with G_DEBUG=fatal_criticals Another gdb capture (expurgated), this time with G_DEBUG=fatal_criticals and evolution recompiled with symbols (freebsd port compiled with WITH_DEBUG).
Please disable accessibility to avoid this particular crash. *** This bug has been marked as a duplicate of bug 330728 ***