I finally got around to look into the log. It is 2 MB big and really hard to render anonymous.
At first sight there’s some weird stuff going on, I’m not really sure about. msync gets a lot (over 4000…) of those messages:
[D] unknown:0 - " <d:response>"
[D] unknown:0 - " <d:status>HTTP/1.1 404 Not Found</d:status>"
[D] unknown:0 - " <d:href>/remote.php/dav/addressbooks/users/redacted/contacts/<32charlongid>.vcf</d:href>"
[D] unknown:0 - " <d:propstat>"
[D] unknown:0 - " <d:prop/>"
[D] unknown:0 - " <d:status>HTTP/1.1 418 I’m a teapot</d:status>"
[D] unknown:0 - " </d:propstat>"
[D] unknown:0 - " </d:response>"
But this doesn’t have to be related to the contact duplicating bug. It is possible that those are all the duplicated contacts I already deleted… the number could add up to it.
At the end it says
[W] unknown:0 - void CardDav::upsyncResponse() error: QNetworkReply::NetworkError(UnknownContentError) ( 412 )
[D] unknown:0 - “<?xml version=\"1.0\" encoding=\"utf-8\"?>”
[D] unknown:0 - “<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns\“>”
[D] unknown:0 - " <s:exception>Sabre\DAV\Exception\PreconditionFailed</s:exception>”
[D] unknown:0 - " <s:message>An If-Match header was specified and the resource did not exist</s:message>"
[D] unknown:0 - " <s:header>If-Match</s:header>"
[D] unknown:0 - “</d:error>”
[W] unknown:0 - CardDAV sync for account: 33 finished with error: 412
One interesting thing is, that might be the error or could be totally not relevant:
Every UID ends usually with BUT not the entries that are causing the problems. Is it possible that the addressbook doesn’t set the UID properly somehow and that irritates somewhere some part?
So. I’m not going to post the full log due to it being almost impossible to properly render it anonymous. But if you like to, we can have a debug session with desktop sharing and stuff and I can let you have a look at it directly.