[IMAPx] Crash from camel_imapx_conn_manager_ref_connection()
For an email account I set up “Number of concurrent connections to use: 1” and I started Evolution under “CAMEL_DEBUG=imapx:io”. Before evolution has checked the status of all mailboxes, I closed it. The camel_debug file ends with:
[imapx:A] I/O: 'A00154 STATUS "Other Users/MM/CC" (MESSAGES UNSEEN UIDVALIDITY UIDNEXT HIGHESTMODSEQ)'
[imapx:A] I/O: '* STATUS "Other Users/MM/CC" (MESSAGES 396 UIDNEXT 399 UIDVALIDITY 1136383176 UNSEEN 0 HIGHESTMODSEQ 13555)
A00154 OK Completed'
(evolution:22649): GLib-GObject-CRITICAL **: 10:14:43.258: g_object_ref: assertion 'old_val > 0' failed
Excerpt from the backtrace:
Thread 1 (Thread 0x7f1e1effd700 (LWP 22660)):
#0 0x00007f1e5178358d in g_type_check_instance (type_instance=type_instance@entry=0xaaaaaaaaaaaaaaaa) at ../gobject/gtype.c:4129
#1 0x00007f1e51770cd9 in g_signal_handler_disconnect (instance=0xaaaaaaaaaaaaaaaa, handler_id=12297829382473034410) at ../gobject/gsignal.c:2627
_g_boolean_var_ = <optimized out>
handler = <optimized out>
__FUNCTION__ = "g_signal_handler_disconnect"
#2 0x00007f1e5482e165 in operation_finalize (object=0x7f1d68002320) at /git/gnome/evolution-data server/src/camel/camel-operation.c:162
priv = 0x7f1d680022e0
__FUNCTION__ = "operation_finalize"
#3 0x00007f1e51763d8d in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3346
weak_locations = <optimized out>
old_ref = <optimized out>
__FUNCTION__ = "g_object_unref"
object = 0x7f1d68002320
__FUNCTION__ = "g_object_unref"
#4 0x00007f1e51763d8d in g_object_unref (_object=0x7f1d68002320) at ../gobject/gobject.c:3238
object = 0x7f1d68002320
__FUNCTION__ = "g_object_unref"
#5 0x00007f1e342c395f in camel_imapx_conn_manager_ref_connection (conn_man=conn_man@entry=0x5bac70 [CamelIMAPXConnManager], mailbox=<optimized out>, out_is_new_connection=out_is_new_connection@entry=0x7f1e1effca00, cancellable=0x7f1d68002320, cancellable@entry=0x7f1d60003f50 [CamelOperation], error=error@entry=0x7f1e1effcba8) at /git/gnome/evolution-data-server/src/camel/providers/imapx/camel-imapx-conn-manager.c:973
cinfo = <optimized out>
imapx_store = 0x98f3a0 [CamelIMAPXStore]
session = 0x8a1690 [EMailUISession]
local_error = 0x0
__FUNCTION__ = "camel_imapx_conn_manager_ref_connection"
#6 0x00007f1e342c4278 in camel_imapx_conn_manager_run_job_sync (conn_man=conn_man@entry=0x5bac70 [CamelIMAPXConnManager], job=job@entry=0x7f1e1036f500, finish_before_job=finish_before_job@entry=0x7f1e342c1bb0 <imapx_conn_manager_matches_sync_changes_or_refresh_info>, cancellable=cancellable@entry=0x7f1d60003f50 [CamelOperation], error=error@entry=0x7f1e1effcba8) at /git/gnome/evolution-data-server/src/camel/providers/imapx/camel-imapx-conn-manager.c:1201
link = <optimized out>
cinfo = <optimized out>
success = 0
is_new_connection = 0
local_error = 0x0
__FUNCTION__ = "camel_imapx_conn_manager_run_job_sync"
#7 0x00007f1e342c6250 in camel_imapx_conn_manager_sync_changes_sync (conn_man=conn_man@entry=0x5bac70 [CamelIMAPXConnManager], mailbox=mailbox@entry=0x7f1e3003c150 [CamelIMAPXMailbox], cancellable=cancellable@entry=0x7f1d60003f50 [CamelOperation], error=error@entry=0x7f1e1effcba8) at /git/gnome/evolution-data-server/src/camel/providers/imapx/camel-imapx-conn-manager.c:1905
job = 0x7f1e1036f500
folder = 0x0
need_to_expunge = 0
expunge = 0
success = <optimized out>
__FUNCTION__ = "camel_imapx_conn_manager_sync_changes_sync"
#8 0x00007f1e342c6fe7 in imapx_synchronize_sync (folder=0x7f1e1424b780 [CamelIMAPXFolder], expunge=0, cancellable=0x7f1d60003f50 [CamelOperation], error=0x7f1e1effcba8) at /git/gnome/evolution-data-server/src/camel/providers/imapx/camel-imapx-folder.c:850
store = <optimized out>
imapx_store = <optimized out>
conn_man = 0x5bac70 [CamelIMAPXConnManager]
mailbox = 0x7f1e3003c150 [CamelIMAPXMailbox]
success = 0
#9 0x00007f1e548744c3 in camel_folder_synchronize_sync (folder=0x7f1e1424b780 [CamelIMAPXFolder], expunge=0, cancellable=0x7f1d60003f50 [CamelOperation], error=0x7f1e1effcba8) at /git/gnome/evolution-data-server/src/camel/camel-folder.c:3982
class = 0x7f1e1400e6e0
success = 1
__FUNCTION__ = "camel_folder_synchronize_sync"
#10 0x00007f1e3635014a in refresh_folders_exec (m=0x7f1e153e0230, cancellable=0x7f1d60003f50 [CamelOperation], error=<optimized out>) at /git/gnome/evolution/src/mail/mail-send-recv.c:1488
folder = 0x7f1e1424b780 [CamelIMAPXFolder]
i = 129
success = <optimized out>
delete_junk = 0
expunge = 0
known_errors = 0x7f1dfc00af60
mail_backend = 0x96a150 [EMailShellBackend]
local_error = 0x0
handler_id = 48800
#11 0x00007f1e364befe7 in mail_msg_proxy (msg=0x7f1e153e0230) at /git/gnome/evolution/src/libemail-engine/mail-mt.c:381
cancellable = 0x7f1d60003f50 [CamelOperation]
#12 0x00007f1e516a2ee3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:308
task = 0x7f1e153e0230
pool = 0xe7c6a0
#13 0x00007f1e516a257d in g_thread_proxy (data=0x7f1e0c0018a0) at ../glib/gthread.c:805
thread = 0x7f1e0c0018a0
__FUNCTION__ = "g_thread_proxy"
#14 0x00007f1e4be3df65 in start_thread (arg=<optimized out>) at pthread_create.c:486
ret = <optimized out>
pd = <optimized out>
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139767345829632, -311769973508718916, 139767354218350, 139767354218351, 139767345829632, 6001392, 400929373068279484, 401041488319299260}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#15 0x00007f1e4bd6fdef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Repeating the action has not led to a crash.