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 680467 - Crash under camel_folder_search_search()
Crash under camel_folder_search_search()
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.6.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 680610 681615 682281 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-07-23 17:06 UTC by David Ronis
Modified: 2013-09-14 16:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screenshot showing weird message format (114.83 KB, image/png)
2012-07-23 17:12 UTC, David Ronis
  Details
eds patch (897 bytes, patch)
2012-08-21 10:13 UTC, Milan Crha
committed Details | Review

Description David Ronis 2012-07-23 17:06:25 UTC
I was deleting marking as spam and reading e-mail in the git/master:

Here's the backtrace:

Thread 22 (Thread 0x97431b70 (LWP 17073))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_by_uids
  • #5 camel_folder_search_by_uids
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 435
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 21 (Thread 0x99680b70 (LWP 17072))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_free
    at camel-local-folder.c line 292
  • #5 camel_folder_search_free
    at camel-folder.c line 2774
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 454
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 20 (Thread 0x96c31b70 (LWP 17074))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_free
    at camel-local-folder.c line 292
  • #5 camel_folder_search_free
    at camel-folder.c line 2774
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 454
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 19 (Thread 0xa4bffb70 (LWP 17070))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_free
    at camel-local-folder.c line 292
  • #5 camel_folder_search_free
    at camel-folder.c line 2774
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 454
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 18 (Thread 0xa65ffb70 (LWP 17069))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_by_uids
  • #5 camel_folder_search_by_uids
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 435
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 17 (Thread 0xa28f5b70 (LWP 17071))

  • #0 vee_data_equal
    at camel-vee-data-cache.c line 288
  • #1 vee_data_equal
    at camel-vee-data-cache.c line 279
  • #2 g_hash_table_lookup_node
    at ghash.c line 422
  • #3 g_hash_table_lookup
    at ghash.c line 1074
  • #4 camel_vee_data_cache_get_message_info_data
    at camel-vee-data-cache.c line 503
  • #5 vee_folder_merge_matching
    at camel-vee-folder.c line 268
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 447
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 16 (Thread 0x99e80b70 (LWP 17067))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_by_expression
  • #5 camel_folder_search_by_expression
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 433
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 15 (Thread 0x9a680b70 (LWP 17068))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_by_uids
  • #5 camel_folder_search_by_uids
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 435
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 13 (Thread 0xa0affb70 (LWP 17066))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_by_expression
  • #5 camel_folder_search_by_expression
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 433
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 12 (Thread 0x9faffb70 (LWP 17051))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_994
    from /lib/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #3 g_mutex_lock
    at gthread-posix.c line 208
  • #4 local_folder_search_free
    at camel-local-folder.c line 292
  • #5 camel_folder_search_free
    at camel-folder.c line 2774
  • #6 vee_folder_subfolder_changed
    at camel-vee-folder.c line 454
  • #7 vee_folder_process_changes
    at camel-vee-folder.c line 489
  • #8 session_do_job_cb
    at camel-session.c line 166
  • #9 run_in_thread
    at gsimpleasyncresult.c line 869
  • #10 io_job_thread
    at gioscheduler.c line 168
  • #11 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #12 g_thread_proxy
    at gthread.c line 801
  • #13 start_thread
    from /lib/libpthread.so.0
  • #14 clone
    from /lib/libc.so.6

Thread 1 (Thread 0x98680b70 (LWP 17077))

  • #0 g_hash_table_remove_all
    at ghash.c line 1341
  • #1 g_hash_table_destroy
    at ghash.c line 1049
  • #2 camel_folder_search_search
  • #3 local_folder_search_by_expression
  • #4 camel_folder_search_by_expression
  • #5 regen_list_exec
    at message-list.c line 4751
  • #6 mail_msg_proxy
    at mail-mt.c line 423
  • #7 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #8 g_thread_proxy
    at gthread.c line 801
  • #9 start_thread
    from /lib/libpthread.so.0
  • #10 clone
    from /lib/libc.so.6

Here's some console output:

(evolution:16792): e-table-WARNING **: Icon 'mail-unread' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-read' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-replied' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-forward' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-attachment' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'emblem-important' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-attachment' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-attachment' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-unread' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'emblem-important' not present in theme

(evolution:16792): e-table-WARNING **: Icon 'mail-attachment' not present in theme

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-menu-tool-button.c-CRITICAL **: menu_tool_button_clone_image: assertion `image_type == GTK_IMAGE_ICON_NAME' failed

(evolution:16792): Gtk-CRITICAL **: gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed

(evolution:16792): e-menu-tool-button.c-CRITICAL **: menu_tool_button_clone_image: assertion `image_type == GTK_IMAGE_ICON_NAME' failed

(evolution:16792): Gtk-CRITICAL **: gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but visible=0 child_visible=1 parent GtkBox 0x9f004c80 mapped=1

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but visible=0 child_visible=1 parent GtkBox 0x9f004c80 mapped=1

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab3b28 is mapped but visible=0 child_visible=1 parent GtkBox 0x9f004c80 mapped=1

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but visible=0 child_visible=1 parent GtkBox 0xa3178f0 mapped=1

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but visible=0 child_visible=1 parent GtkBox 0xa3178f0 mapped=1

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but not visible

(evolution:16792): Gtk-WARNING **: EAttachmentBar 0x8ab38d0 is mapped but visible=0 child_visible=1 parent GtkBox 0xa3178f0 mapped=1

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_compute_height: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed

(evolution:16792): e-table-CRITICAL **: e_table_header_draw_button: assertion `ecol->pixbuf != NULL' failed
Segmentation fault (core dumped)
Comment 1 Milan Crha 2012-07-23 17:10:54 UTC
Is this the machine you run 3.4.x core components, or those 3.5.x?
Comment 2 David Ronis 2012-07-23 17:12:13 UTC
Created attachment 219518 [details]
Screenshot showing weird message format

Here's a screenshot showing a broken message.  The real message is several lines long.
Comment 3 Milan Crha 2012-07-23 17:25:49 UTC
I'm afraid your 3.5.4 stack is too much cutting edge, not all projects were ported to eds changes, missing icons and that scary list of runtime warnings... I hope 3.5.90 will be better here.
Comment 4 Milan Crha 2012-07-23 17:27:16 UTC
(oops, this particular crash may be unrelated to 3.5.4 stack, though)
Comment 5 Milan Crha 2012-07-25 09:58:55 UTC
Hmm, I do not understand this crash. The backtrace shows crash point under:
   g_hash_table_destroy (hash_table=0xffffffff)
the hash_table is obviously wrong, but I do not see how that can happen. All the searching in the backtrace happens on one folder, it's very busy now, but all the access to CamelFolderSearch structure is guarded with a lock. Furthermore, the hash table to be destroyed is a private member of the CamelFolderSearch, which cannot be accessed from the outside, and it's always either NULL or a valid pointer. Well, obviously not always, when it's crashing for you :(
Comment 6 Milan Crha 2012-07-25 17:33:38 UTC
*** Bug 680610 has been marked as a duplicate of this bug. ***
Comment 7 Milan Crha 2012-07-25 18:00:41 UTC
Regarding icons, I have some at:
   /usr/share/icons/gnome/16x16/status/gtk-missing-image.png
there is also mail-unread.png, mail-read.png and the others you have shown in critical warnings in comment #0.
Comment 8 David Ronis 2012-07-25 18:07:19 UTC
I have them too:

/opt/gnome/share/icons/gnome/16x16/status
-rw-r--r-- 1 ronis ronis 648 Jul 25 10:33 mail-attachment.png
-rw-r--r-- 1 ronis ronis 621 Jul 25 10:33 mail-read.png
-rw-r--r-- 1 ronis ronis 819 Jul 25 10:33 mail-replied.png
-rw-r--r-- 1 ronis ronis 637 Jul 25 10:33 mail-signed.png
-rw-r--r-- 1 ronis ronis 823 Jul 25 10:33 mail-signed-verified.png
-rw-r--r-- 1 ronis ronis 773 Jul 25 10:33 mail-unread.png
Comment 9 Milan Crha 2012-07-26 15:10:17 UTC
Maybe the gtk-icon-theme doesn't know about that folder, then failing when searching for the icon. I see the default search paths for icons are:
   g_get_home_dir() /.icons
   g_get_user_data_dir() /icons
   xdg_data_dirs[j] /icons
   xdg_data_dirs[j] /pixmaps
maybe add /opt/gnome/share/ to your XDG_DATA_DIR environment variable?
Comment 10 Milan Crha 2012-08-14 20:56:34 UTC
Downstream bug report about the same from 3.5.5:
https://bugzilla.redhat.com/show_bug.cgi?id=848187


Thread 1 (Thread 0x7f88cb26d700 (LWP 7047))

  • #0 g_hash_table_remove_all
    at ghash.c line 1342
  • #1 g_hash_table_destroy
    at ghash.c line 1049
  • #2 camel_folder_search_search
  • #3 imapx_search_by_expression
  • #4 camel_folder_search_by_expression
  • #5 regen_list_exec
    at message-list.c line 4755
  • #6 mail_msg_proxy
    at mail-mt.c line 423
  • #7 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #8 g_thread_proxy
    at gthread.c line 801
  • #9 start_thread
    at pthread_create.c line 308
  • #10 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 114

Comment 11 Adam Williamson 2012-08-14 21:03:47 UTC
I've hit 848187 at least twice since upgrading to f18 yesterday, note.
Comment 12 Milan Crha 2012-08-15 11:33:30 UTC
Hrm, you are lucky. I cannot reproduce this under valgrind, I left evolution running for some time, and even it received updates on the Inbox it didn't show up this issue.
Comment 13 Adam Williamson 2012-08-15 16:04:32 UTC
I haven't seen the crash since fixing the 'only display subscribed folders' thing, though that doesn't _prove_ it's gone away I guess. It's still behaving oddly in other ways, though.
Comment 14 Milan Crha 2012-08-17 09:07:32 UTC
*** Bug 681615 has been marked as a duplicate of this bug. ***
Comment 15 Milan Crha 2012-08-20 19:26:29 UTC
*** Bug 682281 has been marked as a duplicate of this bug. ***
Comment 16 Milan Crha 2012-08-20 19:27:15 UTC
From the above duplicate:
I was browsing my e-mail with this morning's git/master of evo and related
programs.   I was deleting, individually, about 8 consecutive e-mails,
basically, rapid-fire clicks on the delete button
Comment 17 Milan Crha 2012-08-20 20:33:14 UTC
Hrm, I deleted half of my local folder and no luck, evolution didn't crash. I think this has something to do with search folders, those which are reading your Inbox (the bug #682281 was about deletion in On This Computer/Inbox). I didn't use exactly the Inbox folder, but I guess it doesn't matter that much.

Maybe if one of you could share your ~/.config/evolution/mail/vfolders.xml with me (feel free to send it privately, just name the bug number in the message subject), then I can try to tweak it here and test with it.
Comment 18 Milan Crha 2012-08-21 10:04:03 UTC
Thanks for the vfolders.xml, David, it helped me to reproduce the issue here.
Comment 19 Milan Crha 2012-08-21 10:13:20 UTC
Created attachment 221974 [details] [review]
eds patch

for evolution-data-server;

Such a stupid mistake I did. I added code to not do searching when the search was cancelled. It makes sense, but I didn't realize that I'm skipping the whole function to the place which is using search->priv, but on a local variable, which wasn't initialized. The reproducibility was also tricky, it worked fine for me on the first shot, but when I made involved your Unread folder (unread with "includes threads"), then deleting messages which were used by the unread folder triggered the crash pretty easily.
Comment 20 Milan Crha 2012-08-21 10:14:54 UTC
Created commit 934a3cf in eds master (3.5.91+)