High Sierra address book does not sync

Hi,

I’m running Nextcloud 12.0.3 together with the contacts app. The sync clients are one MacBook running High Sierra and one iPhone, running iOS 11. While I don’t have any issues with my iOS device, my MacBook does not sync since I’ve upgraded to High Sierra.

If I remove my Nextcloud Server from the contacts app in high sierra and add it again, an initial sync is done. If change a contact on my MacBook, this is also correctly synced and after a while, I will see the new contact on my iPhone.

However, if add a contact on my iPhone, the new contacts is also synced to Nextcloud, but never synced to the MacBook.
As I can see, it seems to be an issue with the contacts app on High Sierra. I’ve noticed, that if I change the sync interval time to 15 minutes, it will go back to “automatic” if I relaunch the contacts app.

Does anybody else is experiencing the same issue and is there a solution to fix this?

Hi @kfincei,

sounds a bit like this issue: https://github.com/nextcloud/contacts/issues/399
Are you able to reproduce this?

Regards,
Alex

Hi @irgendwie,

This is exactly the same issue I’m experiencing and I’m able to reproduce it.

Regards

Since ownCloud and Nextcloud still share more or less the same dav backend (sabredav), maybe it could be helpful to look through the workarounds proposed in the contributions of a thread in the ownCloud forums (https://central.owncloud.org/t/owncloud-9-1-1-1-2-macos-sierra-carddav-not-working-solved/3481). If you are successful with any of them, maybe you can share your solution here, such that others who may be affected are also able to solve the issue.

1 Like

Hello,

The issue mentioned in the Owncloud forum is a completely different issue. He coulndn’t sync in the first place because he specified the wrong path. Because I have a working rewrite rule, there is now difference if I add the account “manually” or “advanced”. As mentioned, the initial sync works, only the updates aren’t snyced

Ok, thanks for checking! Sorry, but I have no real idea, what we can do here for now - since it seems to be an issue in the Mac contacts application.
You could check the nextcloud log for errors, but I doubt that there is anything log’ed which helps in this case.
Do you get “sync requests” from the app at your Nextcloud? You could also check your web servers access log for that.

You can check the access logs of your webserver and check if your Mac tries to access (perhaps this fails for some reason). If not, it seems to be a client issue.

I’ve checked the access logs already and I see that my mac accesses the CardDAV part. Well, probably it’s a client issue, but I don’t think that I’m the only one experiencing this.

Hi @kfincei !
First I don’t see that the issue you discribe in your first post is identical to the issue discribed in the Github post mentioned by @irgendwie in the second post ( https://github.com/nextcloud/contacts/issues/399 ).

I can reproduce the error happening when I create a second address book and try to sync to the Mac (I think it is well known that Mac treatment of multiple address books as well as groups is not conforming to the CalDAV standard, while iOS does).

On the other hand, I can’t reproduce the issue that you describe above: I have created a test contact on my iPhone, which synced without any problem to my Mac (10.13.1).

So my first question would be, do you have multiple address books on your NextCloud account?

Hi, in my OS X address book sync always the Contacts from a shared address book from other user. Is this still not enabled, the contacts are synced well. Also is it not possible to sync different addressnbooks form the nextcloud.
Is there en solution for this bug?

Sometime i see the different address books (shared and own) in my OS X App but the are empty.

Thx for our support

Hi @macnex,

You’re right. To be honest, on the first sight, the issue mentioned on
https://github.com/nextcloud/contacts/issues/399, looked for me as the
same issue, but it’s clearly not.

No, I don’t have multiple address book on my account. I wasn’t even
aware, that multiple accounts were possible.

You’ve mentioned, that you was able to reproduce this issue, when you
had multiple address books. How exactly did you create these address books?

@kfincei
Use the NextCloud web frontend. Go to the Contacts App. Click “Settings” on the bottom left. A list of your address books appears, at the bottom of the list an empty field. There you can fill in the name of the desired, new address book. By typing “enter” or clicking on the arrow, the address book is created.
Each contact (on the right) will now have a drop down menu at the bottom where you can select a different address book: the contact will be moved to the selected address book.

Once you move at least one contact to a second address book you’ve created, the MacOS Contacts program will not sync correctly anymore. This is the issue described in the github link ( https://github.com/nextcloud/contacts/issues/399 ).

@macnex
Thanks for the explanation.
I did check my settings and I have only address book and I never had a second address book.

Did you set up your account in the Address Book settings or the System Setttings -> Internet Accounts ? I had most success with the second. Furthermore, I always use “account type: automatic” and enter username@server.name (without any path) and password in the two fields. This seems to be the most reliable method.

@macnex

Actually I’ve never added the account with the automatic mode. I’ve deleted the account and added it afterwards in automatic mode as you have described. As before, the initial sync was fine, but it does not sync afterwards - so no change there.

Please open system console (console.app) and search for carddav. There should be an entry for AddressBookSourceSync every n minutes (where n is the preset sync interval). Maybe you also find an error message there?

Hi,

This is interesting. As mentioned before, it does not make any difference if I change the sync interval - it will always go back to “automatic”, if I restart the contacts app. Looking at the log, I see messages when I start the contacts app, but every n minutes (even if I change this during runtime).

I’ve pasted the log bellow, but I don’t see any error and I can’t really say if the log messages are “normal”.

Any help here is highly appreciated.

standard	16:28:56.634849 +0100	Contacts	-awakeFromLoad
standard	16:28:56.635224 +0100	Contacts	-setServername: <private>  Parsed into scheme: https  host: <private>  port: 0  path: <private>
standard	16:28:56.635630 +0100	Contacts	-initWithUID: called on thread: <private>
standard	16:28:56.636095 +0100	Contacts	-clearPrincipalProperties
standard	16:28:56.636163 +0100	Contacts	-clearHomeContainers
standard	16:28:57.183064 +0100	AddressBookSourceSync	-awakeFromLoad
standard	16:28:57.183250 +0100	AddressBookSourceSync	-setServername: <private>  Parsed into scheme: https  host: <private>  port: 0  path: <private>
standard	16:28:57.183485 +0100	AddressBookSourceSync	-initWithUID: called on thread: <Main>
standard	16:28:57.184686 +0100	AddressBookSourceSync	-clearPrincipalProperties
standard	16:28:57.184723 +0100	AddressBookSourceSync	-clearHomeContainers
standard	16:28:57.185101 +0100	AddressBookSourceSync	Watching reachability for host <private>
standard	16:28:57.185282 +0100	AddressBookSourceSync	push: addPushObserver for <private> in <private>
standard	16:28:57.185397 +0100	AddressBookSourceSync	push: removePushObserver: removing self <private> uid <private> from center (null)
standard	16:28:57.185439 +0100	AddressBookSourceSync	push: Push not enabled. No transports:(null) or keys:(null)
standard	16:28:57.185473 +0100	AddressBookSourceSync	push: -setPushIsActive: NO, currently NO
standard	16:28:57.246126 +0100	AddressBookSourceSync	SetupCustomPropertiesOnAddressBook(<private>)
standard	16:29:07.185433 +0100	AddressBookSourceSync	-sourceShouldRefresh: (null)
standard	16:29:07.185510 +0100	AddressBookSourceSync	-serverSyncInProgress returning NO
standard	16:29:07.185580 +0100	AddressBookSourceSync	isAccountProperlyInitialized: YES  Host: YES  User: YES  Password: YES
standard	16:29:07.185632 +0100	AddressBookSourceSync	canTalkToServer:  YES  (AcctIsInitialized: YES  IsOnline: YES)
standard	16:29:07.185675 +0100	AddressBookSourceSync	-sourceShouldRefresh calling [self scheduleFullSync]
standard	16:29:07.185839 +0100	AddressBookSourceSync	Request to schedule sync: (null) from thread: <private>
standard	16:29:07.185997 +0100	AddressBookSourceSync	-serverSyncInProgress returning NO
standard	16:29:07.186171 +0100	AddressBookSourceSync	Scheduling sync from thread: <private>
standard	16:29:07.186818 +0100	AddressBookSourceSync	-startSync (<private>) running on thread: <private>
standard	16:29:07.186873 +0100	AddressBookSourceSync	-serverSyncInProgress returning YES
standard	16:29:07.187512 +0100	AddressBookSourceSync	isAccountProperlyInitialized: YES  Host: YES  User: YES  Password: YES
standard	16:29:07.187577 +0100	AddressBookSourceSync	canTalkToServer:  YES  (AcctIsInitialized: YES  IsOnline: YES)
standard	16:29:07.202786 +0100	AddressBookSourceSync	-clearHomeContainers
standard	16:29:07.202964 +0100	AddressBookSourceSync	-getPrincipalInfo:[_controller supportsRequestCompressionAtURL:<private>]
standard	16:29:07.203041 +0100	AddressBookSourceSync	-[CDXAccount clearAuthMethodsTried]
standard	16:29:07.203698 +0100	AddressBookSourceSync	Looking up (assumed existing) account with identifier <private>
standard	16:29:07.346209 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.433036 +0100	AddressBookSourceSync	-[CDXAccount handleAuthenticateAgainstProtectionSpace:withConnection:]:<private> withConnection:<private>
standard	16:29:07.433092 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.433121 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.433253 +0100	AddressBookSourceSync	-[CDXAccount handleAuthenticateAgainstProtectionSpace:withConnection:] <private> was already tried 0x
standard	16:29:07.433386 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private>
standard	16:29:07.433552 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private> returning NO because last auth was not NSURLAuthenticationMethodNegotiate
standard	16:29:07.433711 +0100	AddressBookSourceSync	-[CDXAccount handleTrustChallenge:withConnection:]:<private> withConnection:<private>
standard	16:29:07.433819 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private>
standard	16:29:07.434007 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private> returning NO because last auth was not NSURLAuthenticationMethodNegotiate
standard	16:29:07.434138 +0100	AddressBookSourceSync	-[CDXAccount recordAuthMethod:withConnection:]:<private> withConnection:<private>
standard	16:29:07.434389 +0100	AddressBookSourceSync	-[CDXAccount recordAuthMethod:withConnection:]:_authMethodsTried <private>
standard	16:29:07.607689 +0100	AddressBookSourceSync	-[CDXAccount handleAuthenticateAgainstProtectionSpace:withConnection:]:<private> withConnection:<private>
standard	16:29:07.607728 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.607864 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.608010 +0100	AddressBookSourceSync	-[CDXAccount handleAuthenticateAgainstProtectionSpace:withConnection:] <private> was already tried 0x
standard	16:29:07.608114 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private>
standard	16:29:07.608262 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private> returning NO because last auth was not NSURLAuthenticationMethodNegotiate
standard	16:29:07.608626 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.608789 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.608887 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.755895 +0100	AddressBookSourceSync	-getPrincipalInfo:_controller.account.compressRequests == NO
standard	16:29:07.756041 +0100	AddressBookSourceSync	-getPrincipalInfo:[_controller principalPropertiesAtURL:<private>]
standard	16:29:07.756112 +0100	AddressBookSourceSync	-[CDXAccount clearAuthMethodsTried]
standard	16:29:07.756463 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.756917 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.757006 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.864626 +0100	AddressBookSourceSync	-getHomeInfo:[_controller containersAtURLs:<private>]
standard	16:29:07.864704 +0100	AddressBookSourceSync	-[CDXAccount clearAuthMethodsTried]
standard	16:29:07.865031 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.865544 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.897594 +0100	AddressBookSourceSync	-[CDXAccount handleAuthenticateAgainstProtectionSpace:withConnection:]:<private> withConnection:<private>
standard	16:29:07.897665 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.897733 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.897993 +0100	AddressBookSourceSync	-[CDXAccount handleAuthenticateAgainstProtectionSpace:withConnection:] <private> was already tried 0x
standard	16:29:07.898222 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private>
standard	16:29:07.898514 +0100	AddressBookSourceSync	-[CDXAccount shouldRetryKerberosAuthWithConnection:]:<private> returning NO because last auth was not NSURLAuthenticationMethodNegotiate
standard	16:29:07.898771 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:07.898829 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:08.041758 +0100	AddressBookSourceSync	self.homeInfo: <private>
standard	16:29:08.041928 +0100	AddressBookSourceSync	self.searchInfo: <private>
standard	16:29:08.052858 +0100	AddressBookSourceSync	Local me name: (null) || server me: (null)
standard	16:29:08.053234 +0100	AddressBookSourceSync	### SYNCHRONIZING <private> ###
standard	16:29:08.285898 +0100	AddressBookSourceSync	-_fillCache 563 records: 560 people, 3 groups
standard	16:29:08.286611 +0100	AddressBookSourceSync	-[CDXAccount clearAuthMethodsTried]
standard	16:29:08.286937 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:08.287203 +0100	AddressBookSourceSync	Using cached _acAccount <private>
problem	16:29:08.424854 +0100	AddressBookSourceSync	-_handleAddsOrModifies:<private> <private>
standard	16:29:08.426170 +0100	AddressBookSourceSync	### SYNCHRONIZATION of ALL (<private>), Error (null), Errors <private> ###
standard	16:29:08.426234 +0100	AddressBookSourceSync	### SYNCHRONIZATION CLEANUP ###
standard	16:29:08.426491 +0100	AddressBookSourceSync	### SYNCHRONIZATION DONE ###
standard	16:29:08.426684 +0100	AddressBookSourceSync	push: addPushObserver for <private> in <private>
standard	16:29:08.426798 +0100	AddressBookSourceSync	push: removePushObserver: removing self <private> uid <private> from center (null)
standard	16:29:08.426862 +0100	AddressBookSourceSync	push: removePushObserver: removing self <private> uid <private> from center (null)
standard	16:29:08.426876 +0100	AddressBookSourceSync	-[CDXController cancelActions] self <0x7f851fd01670> on thread <Main>
standard	16:29:08.426909 +0100	AddressBookSourceSync	push: Push not enabled. No transports:(null) or keys:(null)
standard	16:29:08.426948 +0100	AddressBookSourceSync	push: -setPushIsActive: NO, currently NO
standard	16:29:08.426945 +0100	AddressBookSourceSync	-startSync (<private>) done
standard	16:29:16.644783 +0100	AddressBookSourceSync	-sourceShouldRefresh: (null)
standard	16:29:16.644878 +0100	AddressBookSourceSync	-serverSyncInProgress returning NO
standard	16:29:16.644945 +0100	AddressBookSourceSync	isAccountProperlyInitialized: YES  Host: YES  User: YES  Password: YES
standard	16:29:16.644994 +0100	AddressBookSourceSync	canTalkToServer:  YES  (AcctIsInitialized: YES  IsOnline: YES)
standard	16:29:16.645039 +0100	AddressBookSourceSync	-sourceShouldRefresh calling [self scheduleFullSync]
standard	16:29:16.645093 +0100	AddressBookSourceSync	Request to schedule sync: (null) from thread: <Main>
standard	16:29:16.645160 +0100	AddressBookSourceSync	-serverSyncInProgress returning NO
standard	16:29:16.645209 +0100	AddressBookSourceSync	Scheduling sync from thread: <Main>
standard	16:29:16.645786 +0100	AddressBookSourceSync	-startSync (<private>) running on thread: <private>
standard	16:29:16.645841 +0100	AddressBookSourceSync	-serverSyncInProgress returning YES
standard	16:29:16.646121 +0100	AddressBookSourceSync	isAccountProperlyInitialized: YES  Host: YES  User: YES  Password: YES
standard	16:29:16.646168 +0100	AddressBookSourceSync	canTalkToServer:  YES  (AcctIsInitialized: YES  IsOnline: YES)
standard	16:29:16.649219 +0100	AddressBookSourceSync	-clearHomeContainers
standard	16:29:16.649406 +0100	AddressBookSourceSync	-getHomeInfo:[_controller containersAtURLs:<private>]
standard	16:29:16.649703 +0100	AddressBookSourceSync	-[CDXAccount clearAuthMethodsTried]
standard	16:29:16.649998 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:16.650437 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:16.796770 +0100	AddressBookSourceSync	self.homeInfo: <private>
standard	16:29:16.796941 +0100	AddressBookSourceSync	self.searchInfo: <private>
standard	16:29:16.804386 +0100	AddressBookSourceSync	Local me name: (null) || server me: (null)
standard	16:29:16.804494 +0100	AddressBookSourceSync	### SYNCHRONIZING <private> ###
standard	16:29:17.053346 +0100	AddressBookSourceSync	-_fillCache 563 records: 560 people, 3 groups
standard	16:29:17.054245 +0100	AddressBookSourceSync	-[CDXAccount clearAuthMethodsTried]
standard	16:29:17.054623 +0100	AddressBookSourceSync	Using cached _acAccount <private>
standard	16:29:17.054939 +0100	AddressBookSourceSync	Using cached _acAccount <private>
problem	16:29:17.194719 +0100	AddressBookSourceSync	-_handleAddsOrModifies:<private> <private>
standard	16:29:17.195575 +0100	AddressBookSourceSync	### SYNCHRONIZATION of ALL (<private>), Error (null), Errors <private> ###
standard	16:29:17.195628 +0100	AddressBookSourceSync	### SYNCHRONIZATION CLEANUP ###
standard	16:29:17.195748 +0100	AddressBookSourceSync	### SYNCHRONIZATION DONE ###
standard	16:29:17.195835 +0100	AddressBookSourceSync	push: addPushObserver for <private> in <private>
standard	16:29:17.195942 +0100	AddressBookSourceSync	push: removePushObserver: removing self <private> uid <private> from center (null)
standard	16:29:17.195998 +0100	AddressBookSourceSync	push: Push not enabled. No transports:(null) or keys:(null)
standard	16:29:17.196042 +0100	AddressBookSourceSync	-startSync (<private>) done
standard	16:29:17.196085 +0100	AddressBookSourceSync	push: -setPushIsActive: NO, currently NO
standard	16:29:17.196405 +0100	AddressBookSourceSync	push: removePushObserver: removing self <private> uid <private> from center (null)
standard	16:29:17.196542 +0100	AddressBookSourceSync	-[CDXController cancelActions] self <0x7f851fd01670> on thread <Main>

Hi @kfincei,
only difference to my logfile seems to be lines about TIC TLS event , do you have those? Do you use SSL encryption for the connection?

By the way, my setting regarding to the connection interval behave like yours - it snaps back to “automatic” after each restart of the program. I guess a parameter setting that exists in AddressBook’s preferences is only considered if it corresponds to a setting in System Preferences’ “Internet Accounts”. So it doesn’t really make sense to use AddressBook’s preferences at all, rather do all settings in System Preferences (and as you can’t change to non-SSL connections there, maybe this is simply not possible anymore?).

BTW, sorry for answering so late, I didn’t get notified by mail that you had answered.

Hello,

a little bit late, but maybe not to late.

I had the same issue. The first sync was fine, but after that, I couldn’t sync anymore. After month of searching I find the problem.

I use nginx. In the documentation of nextcloud 10 the following lines are written:

error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

after commenting them out, syncing works fine.

If the problem still accords, change

fastcgi_intercept_errors on;

to

fastcgi_intercept_errors off;

and test syncing again. Maybe that a hint for the real problem.

Greetings,
Daniel

2 Likes

Thank you!! This issue was driving me insane and I was about to just go back to iCloud calendar and contacts. Commenting out those two lines in the nginx default file worked perfectly.

1 Like