Nextcloud version (eg, 20.0.5): 20.0.7
Operating system and version (eg, Ubuntu 20.04): slackware-current_x86_64
Apache or nginx version (eg, Apache 2.4.25): 1.12.2
PHP version (eg, 7.4): 7.4.13
The issue you are facing:
I can’t synchronize the contacts. I got an HTTP error 500 from nextcloud server. It seems, the issue is related to a the parser for VCARD/VCALENDAR.
Davx application dump the following error:
SYNCHRONIZATION INFO
Account: Account {name=Recently contacted (user@domain.com WQ), type=at.bitfire.davdroid.address_book}
Authority: com.android.contacts
EXCEPTION
at.bitfire.dav4jvm.exception.HttpException: HTTP 500 Internal Server Error
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:5)
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:3)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:1)
at at.bitfire.dav4jvm.DavAddressBook.multiget(DavAddressBook.kt:10)
at at.bitfire.davdroid.syncadapter.ContactsSyncManager$downloadRemote$1.invoke(ContactsSyncManager.kt:2)
at at.bitfire.davdroid.syncadapter.ContactsSyncManager$downloadRemote$1.invoke(ContactsSyncManager.kt:1)
at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:1)
at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:8)
at at.bitfire.davdroid.syncadapter.ContactsSyncManager.downloadRemote(ContactsSyncManager.kt:2)
at at.bitfire.davdroid.syncadapter.SyncManager$syncRemote$1$1$1.invokeSuspend(SyncManager.kt:2)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:19)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
HTTP REQUEST
Request{method=REPORT, url=https://domain.com/remote.php/dav/addressbooks/users/foo/z-app-generated--contactsinteraction--recent/, headers=[Depth:0, Accept-Encoding:br,gzip]}
<?xml version='1.0' encoding='UTF-8' ?><CARD:addressbook-multiget xmlns="DAV:" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><getcontenttype /><getetag /><CARD:address-data content-type="text/vcard" version="4.0" /></prop><href>/remote.php/dav/addressbooks/users/foo/z-app-generated--contactsinteraction--recent/1</href></CARD:addressbook-multiget>
HTTP RESPONSE
Response{protocol=http/1.1, code=500, message=Internal Server Error, url=https://domain.com/remote.php/dav/addressbooks/users/foo/z-app-generated--contactsinteraction--recent/}
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\VObject\ParseException</s:exception>
<s:message>This parser only supports VCARD and VCALENDAR files</s:message>
</d:error>
REMOTE RESOURCE
https://domain.com/remote.php/dav/addressbooks/users/foo/z-app-generated--contactsinteraction--recent/
Is this the first time you’ve seen this error? (Y/N): Y
Steps to replicate it:
- Start Davx
- Execute the synchronization
- HTTP Error 500 on nextcloud server side
The output of your Nextcloud log in Admin > Logging:
{"reqId":"84anfkYfE5cMNxwR6nog","level":4,"time":"2021-02-09T14:42:02+00:00","remoteAddr":"10.42.42.5","user":"thomas","app":"webdav","method":"REPORT","url":"/remote.php/dav/addressbooks/users/thomas/z-app-generated--contactsinteraction--recent/","message":{"Exception":"Sabre\\VObject\\ParseException","Message":"This parser only supports VCARD and VCALENDAR files","Code":0,"Trace":[{"file":"/var/www/nextcloud/3rdparty/sabre/vobject/lib/Parser/MimeDir.php","line":90,"function":"parseDocument","class":"Sabre\\VObject\\Parser\\MimeDir","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/vobject/lib/Reader.php","line":47,"function":"parse","class":"Sabre\\VObject\\Parser\\MimeDir","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/CardDAV/Plugin.php","line":820,"function":"read","class":"Sabre\\VObject\\Reader","type":"::"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/CardDAV/Plugin.php","line":249,"function":"convertVCard","class":"Sabre\\CardDAV\\Plugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/CardDAV/Plugin.php","line":194,"function":"addressbookMultiGetReport","class":"Sabre\\CardDAV\\Plugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"report","class":"Sabre\\CardDAV\\Plugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":720,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpReport","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":251,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/apps/dav/lib/Server.php","line":332,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/remote.php","line":167,"args":["/var/www/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/sabre/vobject/lib/Parser/MimeDir.php","Line":163,"CustomMessage":"--"},"userAgent":"Thunderbird CalDAV/CardDAV","version":"20.0.7.1","id":"6022a05b420d4"}
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'instanceid' => 'xxx',
'passwordsalt' => 'xxx',
'secret' => 'xxx',
'trusted_domains' =>
array (
0 => 'xxx',
),
'datadirectory' => '/var/www/nextcloud/data',
'dbtype' => 'pgsql',
'version' => '20.0.7.1',
'overwrite.cli.url' => 'https://xxx',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'xxx',
'dbpassword' => 'xxx',
'installed' => true,
'mail_smtpmode' => 'smtp',
'mail_smtpsecure' => 'tls',
'mail_sendmailmode' => 'smtp',
'mail_from_address' => 'xxx',
'mail_domain' => 'xxx',
'mail_smtpauthtype' => 'PLAIN',
'mail_smtpauth' => 1,
'mail_smtphost' => 'xxx',
'mail_smtpport' => 'xxx',
'mail_smtpname' => 'xxx',
'mail_smtppassword' => 'xxx',
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => '/var/run/redis/redis.sock',
'port' => 0,
'timeout' => 1.5,
),
'maintenance' => false,
'theme' => '',
'loglevel' => 2,
);
The output of your Apache/nginx/system log in /var/log/____
:
nothing has been found at the corresponding date.