calContacts Gmail sync error

Problem

Hi ! One of my gmail accounts (I have 2 others working just fine) is not being correctly synced. Everything looks fine, the mails of the account appear on the interface, but a few moments later a red box appears telling me that an error was encountered while syncing. Thanks !

Context

The issue is reproductible everytime for this gmail account. I tried deleting it and putting it again and it still doesn’t work

Email Provider

Gmail

Setup

  • OS and Version: macos 11.7
    • Installation Method: installer
  • Mailspring Version: 1.10.7

Error log

Blockquote
Mailspring Version: 1.10.7-5008ecc3
Platform: darwin
Account State: sync_error
Account Provider: gmail
IMAP Server: imap.gmail.com
SMTP Server: smtp.gmail.com
1228 [2022-12-16 18:10:09.564] [background] [info] Marking all folders as busy
1228 [2022-12-16 18:10:09.565] [background] [info] Syncing folder list…
1228 [2022-12-16 18:10:11.059] [background] [info] Syncing folder list…
1228 [2022-12-16 18:10:11.327] [background] [info] syncFolderUIDRange for [Gmail]/Tous les messages, UIDs: 1 - 0, Heavy: false
1228 [2022-12-16 18:10:12.511] [foreground] [info] syncFolderChangesViaCondstore - [Gmail]/Tous les messages: modseq 3172198 to 3172198, uidnext 33771 to 33771
1228 [2022-12-16 18:10:12.557] [foreground] [info] Idling on folder [Gmail]/Tous les messages
1228 [2022-12-16 18:10:20.449] [metadataExpiration] [info] Scanning for expired metadata
1228 [2022-12-16 18:10:20.449] [metadataExpiration] [info] – Will wake for next expiration in 7200sec
1228 [2022-12-16 18:10:20.576] [background] [info] - [Gmail]/Tous les messages: remote=20085, local=10015, remoteUID=9n7c4YvJkEBZnMK2cqcHL4gVxTBx6LNaJbTvC41fy
1228 [2022-12-16 18:10:20.623] [background] [info] - Fetching full headers for 1024 (of 10070 needed)
1228 [2022-12-16 18:10:23.764] [background] [warning] [SLOW] Transaction=insertMessage > 80ms (160ms, 0 waiting to aquire)
1228 [2022-12-16 18:10:23.932] [background] [warning] [SLOW] Transaction=insertMessage > 80ms (95ms, 0 waiting to aquire)
1228 [2022-12-16 18:10:24.093] [background] [warning] [SLOW] Transaction=insertMessage > 80ms (81ms, 0 waiting to aquire)
1228 [2022-12-16 18:10:24.920] [background] [warning] [SLOW] Transaction=insertMessage > 80ms (97ms, 0 waiting to aquire)
1228 [2022-12-16 18:10:25.093] [background] [warning] [SLOW] Transaction=insertMessage > 80ms (85ms, 0 waiting to aquire)
1228 [2022-12-16 18:10:26.822] [background] [warning] [SLOW] Transaction=insertMessage > 80ms (93ms, 0 waiting to aquire)
1228 [2022-12-16 18:10:26.917] [calContacts] [critical]
*** Mailspring Sync
*** An abort error (SIGABRT) occurred during program execution:
*** system functions that detect corrupt state.
1228 [2022-12-16 18:10:27.057] [calContacts] [critical] *** Stack trace (line numbers are approximate):
*** 0x7fff2067a406 abort()
*** 0x7fff206797d8 err()
*** in mailsync nlohmann::basic_json const& nlohmann::basic_json::operator(char const*) const
*** in mailsync GoogleContactsWorker::applyJSONToContact(shared_ptr, nlohmann::basic_json const&)
*** in mailsync GoogleContactsWorker::run()::$_0::operator()(nlohmann::basic_json) const
*** in mailsync decltype(static_cast(fp)(static_cast(fp0))) __invoke(GoogleContactsWorker::run()::$_0&, nlohmann::basic_json&&)
*** in mailsync GoogleContactsWorker::paginateGoogleCollection(string, string, string, function)
*** in mailsync GoogleContactsWorker::run()
*** in mailsync runCalContactsSyncWorker()
*** in mailsync main::$_7::operator()() const
*** in mailsync void* __thread_proxy(void*)
*** 0x7fff20721443 thread_start()


I have just set up the account by choosing the imap/smtp option, and it looks to work just fine

I’m having the same problem. When I use my work email, those accounts are exemplary, but one of my personal Gmail accounts will work on the first install and then get the error popup. Is any support rep here to help with this, or should I ask for a refund and use Canary Mail? On MacBook Pro M1 with Ventura OS.

I’m also having the same problem. I imagine revoking the scope for contacts could help.

Mailspring Version: 1.10.8-8ea2a61f
Platform: linux
Account State: sync_error
Account Provider: gmail
IMAP Server: imap.gmail.com
SMTP Server: smtp.gmail.com
--------------------------------------------
*** ??:?                        GoogleContactsWorker::paginateGoogleCollection(string, string, string, function)
*** ??:?                        GoogleContactsWorker::run()
*** ??:?                        runCalContactsSyncWorker()
*** main.cpp:?                  main::{lambda()#4}::operator()() const
*** main.cpp:?                  _Bind_simple::operator()()
*** main.cpp:?                  thread::_Impl::_M_run()
*** thread.o:?                  execute_native_thread_routine()
***

382407 [2023-01-08 00:40:57.698] [main] [info] Identity created at 1673138457 - using ID Schema 1
382407 [2023-01-08 00:40:57.698] [main] [info] ------------- Starting Sync (<redacted>@gmail.com) ---------------
382407 [2023-01-08 00:40:57.701] [metadata] [info] Metadata sync disabled, not logged in.
382407 [2023-01-08 00:41:01.702] [background] [info] Fetching XOAuth2 access token (gmail) for ac8c6ae4
382407 [2023-01-08 00:41:01.847] [background] [info] Marking all folders as `busy`
382407 [2023-01-08 00:41:01.848] [background] [info] Syncing folder list...
382407 [2023-01-08 00:41:02.459] [background] [info] Syncing folder list...
382407 [2023-01-08 00:41:02.742] [background] [info] Sync loop deleting unlinked messages with phase 2.
382407 [2023-01-08 00:41:02.747] [background] [info] Sync loop complete.
382407 [2023-01-08 00:41:03.067] [foreground] [info] syncFolderChangesViaCondstore - [Gmail]/All Mail: modseq 3267503 to 3267503, uidnext 31961 to 31961
382407 [2023-01-08 00:41:03.128] [foreground] [info] Idling on folder [Gmail]/All Mail
382407 [2023-01-08 00:41:12.700] [metadataExpiration] [info] Scanning for expired metadata
382407 [2023-01-08 00:41:12.700] [metadataExpiration] [info] -- Will wake for next expiration in 7200sec
382407 [2023-01-08 00:41:19.068] [calContacts] [critical] 
***
*** Mailspring Sync 
*** An abort error (SIGABRT) occurred during program execution: 
*** system functions that detect corrupt state.
***

382407 [2023-01-08 00:41:19.091] [calContacts] [critical] *** Stack trace (line numbers are approximate):
*** (unknown)                   gsignal()
*** (unknown)                   abort()
*** ??:?                        nlohmann::basic_json const& nlohmann::basic_json::operator[](char const*) const
*** ??:?                        GoogleContactsWorker::applyJSONToContact(shared_ptr, nlohmann::basic_json const&)
*** GoogleContactsWorker.cpp:?  GoogleContactsWorker::run()::{lambda(nlohmann::basic_json)#1}::operator()(nlohmann::basic_json) const
*** ??:?                        GoogleContactsWorker::paginateGoogleCollection(string, string, string, function)
*** ??:?                        GoogleContactsWorker::run()
*** ??:?                        runCalContactsSyncWorker()
*** main.cpp:?                  main::{lambda()#4}::operator()() const
*** main.cpp:?                  _Bind_simple::operator()()
*** main.cpp:?                  thread::_Impl::_M_run()
*** thread.o:?                  execute_native_thread_routine()
***

Attempted a fix here fix(MailSync/GoogleContactsWorker.cpp): enable contact sync to gracefully handle when a contact has a name but not a display name by ww-daniel-mora · Pull Request #8 · Foundry376/Mailspring-Sync · GitHub

I’m having the same problem. Revoking scope for contacts resolves the issue. I’m looking forward the PR addressing this to be merged.

Thanks

@kofm this fix has bee merged