Admin admin@awib.it writes:
"Reliably" means what exactly?
- At progress of 66%?
- after e.g. 9611 Mails?
- whenever a specific Mail is touched?
Reliably means "before the sync finishes", but not at a specific point. I have about 2GB of mail I'm trying to sync, and the furthest the sync has gotten is about 1GB of the way in.
I looked at the core dump some more and I sort of get what's going on, although I don't understand the code well enough to fix the issue. The imapc_client is being called in a re-entrant way, in the sense that imapc_client_run() is called, and then while that imapc_client_run() function is being invoked and is on the call stack, the event loop gets triggered again and calls imapc_connection_input(). That causes imapc_client_run() to be called with the same imapc_client object, and this is what causes the assertion to fail. You can see this in the stack trace I posted, and I was able to confirm in GDB that the two invocations of imapc_client_run_pre() on the call stack both refer to the same imapc_client struct.
-- Evan Klitzke pgp: 0x157EFCACBC648422 e: evan@eklitzke.org w: https://eklitzke.org