Crash removing element from TreeSet with a comparator function
Steps to reproduce
- Start geary built from commit geary@bad2acec
- Click a big conversation that is being loaded from database before it finished loading
- Wait for conversation to stop loading
Expected
It got loaded.
Actual
Geary crashes.
Additional information
It's not always reproducible, but most of the times it crashes.
Stacktrace:
#0 0x00007ffff7c984be in () at /usr/lib/libgee-0.8.so.2
#1 0x00007ffff7c98639 in () at /usr/lib/libgee-0.8.so.2
#2 0x00007ffff7c98639 in () at /usr/lib/libgee-0.8.so.2
#3 0x00007ffff7c98b99 in () at /usr/lib/libgee-0.8.so.2
#4 0x000055555575c280 in util_cache_lru_get_entry (self=0x7fff74002150, key=0x7fff4812a230 "eliz@gnu.org") at ../src/client/util/util-cache.vala:104
#5 0x0000555555711719 in application_contact_store_load_co (_data_=0x555558f00c90) at ../src/client/application/application-contact-store.vala:77
#6 0x0000555555711551 in application_contact_store_load (self=0x555556e57070, mailbox=0x7fff4c047e10, cancellable=0x555557266b90, _callback_=0x5555556aa2c9 <conversation_message_load_contacts_ready>, _user_data_=0x5555584d3d30) at ../src/client/application/application-contact-store.vala:16
#7 0x00005555556aa51b in conversation_message_load_contacts_co (_data_=0x5555584d3d30) at ../src/client/conversation-viewer/conversation-message.vala:642
#8 0x00005555556aa27e in conversation_message_load_contacts (self=0x555558b63330, cancellable=0x555557266b90, _callback_=0x555555688898 <conversation_email_load_contacts_ready>, _user_data_=0x555557d42650) at ../src/client/conversation-viewer/conversation-message.vala:18
#9 0x0000555555688980 in conversation_email_load_contacts_co (_data_=0x555557d42650) at ../src/client/conversation-viewer/conversation-email.vala:568
#10 0x000055555568884d in conversation_email_load_contacts (self=0x55555870bf80, _callback_=0x55555569b10d <conversation_list_box_load_full_email_ready>, _user_data_=0x5555588968e0) at ../src/client/conversation-viewer/conversation-email.vala:19
#11 0x000055555569b39f in conversation_list_box_load_full_email_co (_data_=0x5555588968e0) at ../src/client/conversation-viewer/conversation-list-box.vala:901
#12 0x000055555569b14d in conversation_list_box_load_full_email_ready (source_object=0x555556e53790, _res_=0x555557508700, _user_data_=0x5555588968e0) at ../src/client/conversation-viewer/conversation-list-box.vala:892
#13 0x00007ffff7486dcc in () at /usr/lib/libgio-2.0.so.0
#14 0x00007ffff74877a5 in () at /usr/lib/libgio-2.0.so.0
#15 0x00005555557c3d7c in geary_app_email_store_fetch_email_async_co (_data_=0x7fff4c0683a0) at ../src/engine/app/app-email-store.vala:87
#16 0x00005555557c38fa in geary_app_email_store_fetch_email_async_ready (source_object=0x555556e53790, _res_=0x5555572543d0, _user_data_=0x7fff4c0683a0) at ../src/engine/app/app-email-store.vala:82
#17 0x00007ffff7486dcc in () at /usr/lib/libgio-2.0.so.0
#18 0x00007ffff74877a5 in () at /usr/lib/libgio-2.0.so.0
#19 0x00005555557c76a2 in geary_app_email_store_do_folder_operation_async_co (_data_=0x5555572a4020) at ../src/engine/app/app-email-store.vala:155
#20 0x00005555557c597e in geary_app_email_store_do_folder_operation_async_ready (source_object=0x5555567fbda0, _res_=0x5555588af820, _user_data_=0x5555572a4020) at ../src/engine/app/app-email-store.vala:163
#21 0x00007ffff7486dcc in () at /usr/lib/libgio-2.0.so.0
#22 0x00007ffff74877a5 in () at /usr/lib/libgio-2.0.so.0
#23 0x00005555559c2f01 in geary_imap_engine_minimal_folder_real_close_async_co (_data_=0x5555588b5670) at ../src/engine/imap-engine/imap-engine-minimal-folder.vala:269
#24 0x00005555559c2baf in geary_imap_engine_minimal_folder_close_async_ready (source_object=0x5555573668d0, _res_=0x5555572f9a50, _user_data_=0x5555588b5670) at ../src/engine/imap-engine/imap-engine-minimal-folder.vala:268
#25 0x00007ffff7486dcc in () at /usr/lib/libgio-2.0.so.0
#26 0x00007ffff74877a5 in () at /usr/lib/libgio-2.0.so.0
#27 0x00005555559df690 in geary_imap_engine_replay_operation_wait_for_ready_async_co (_data_=0x7fff4c0a5400) at ../src/engine/imap-engine/imap-engine-replay-operation.vala:170
#28 0x00005555559df483 in geary_imap_engine_replay_operation_wait_for_ready_async_ready (source_object=0x7fff48212160, _res_=0x7fff4810f3c0, _user_data_=0x7fff4c0a5400) at ../src/engine/imap-engine/imap-engine-replay-operation.vala:171
#29 0x00007ffff7486dcc in () at /usr/lib/libgio-2.0.so.0
#30 0x00007ffff74877a5 in () at /usr/lib/libgio-2.0.so.0
#31 0x00005555558a112d in geary_nonblocking_lock_real_wait_async_co (_data_=0x5555588b55e0) at ../src/engine/nonblocking/nonblocking-lock.vala:194
#32 0x00005555558a0d07 in _geary_nonblocking_lock_real_wait_async_co_gsource_func (self=0x5555588b55e0) at nonblocking-lock.c:639
#33 0x00005555558fc94c in geary_scheduler_scheduled_instance_on_callback (self=0x7fff4c177ea0) at ../src/engine/util/util-scheduler.vala:66
#34 0x00005555558fc401 in _geary_scheduler_scheduled_instance_on_callback_gsource_func (self=0x7fff4c177ea0) at src/engine/src@engine@@geary-engine@sta/util/util-scheduler.c:282
#35 0x00007ffff7afd661 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#36 0x00007ffff7aff739 in () at /usr/lib/libglib-2.0.so.0
#37 0x00007ffff7aff77e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#38 0x00007ffff745ef5e in g_application_run () at /usr/lib/libgio-2.0.so.0
#39 0x0000555555594e32 in _vala_main (args=0x7fffffffdf28, args_length1=1) at ../src/client/application/main.vala:33
#40 0x0000555555594e7b in main (argc=1, argv=0x7fffffffdf28) at ../src/client/application/main.vala:7
System: Archlinux.