Nextcloud version (eg, 12.0.2): 13.0.1
Operating system and version (eg, Ubuntu 17.04): FreeBSD 11.1
Apache or nginx version (eg, Apache 2.4.25): nginx 1.12.2_11,2
PHP version (eg, 7.1): 7.1.16
The issue you are facing:
The lighting plugin in Thunderbird displays a reminder for a calendar entry.
If I click on close I see the following log lines:
nextcloud.log
{"reqId":"JiMKSddekEqsV80TnS9r","level":4,"time":"2018-04-13T17:11:03+00:00","remoteAddr":"_REMOVED_","user":"idefix","app":"webdav","method":"PUT","url":"\/remote.php\/dav\/calendars\/_REMOVED_\/privat\/9a31b6f6-4bbe-4636-a37f-f27ec194ce5b.ics","message":"Exception: {\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\UnsupportedMediaType\",\"Message\":\"Validation error in iCalendar: ATTACH MUST NOT appear more than once in a VALARM component\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CalDAV\\\/Plugin.php(772): Sabre\\\\CalDAV\\\\Plugin->validateICalendar('BEGIN:VCALENDAR...', 'calendars\\\/idefi...', false, Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response), false)\\n#1 [internal function]: Sabre\\\\CalDAV\\\\Plugin->beforeWriteContent('calendars\\\/idefi...', Object(OCA\\\\DAV\\\\CalDAV\\\\CalendarObject), 'BEGIN:VCALENDAR...', false)\\n#2 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#3 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1128): Sabre\\\\Event\\\\EventEmitter->emit('beforeWriteCont...', Array)\\n#4 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(513): Sabre\\\\DAV\\\\Server->updateFile('calendars\\\/idefi...', 'BEGIN:VCALENDAR...', NULL)\\n#5 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#7 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#8 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#9 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/apps-pkg\\\/dav\\\/lib\\\/Server.php(283): Sabre\\\\DAV\\\\Server->exec()\\n#10 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/apps-pkg\\\/dav\\\/appinfo\\\/v2\\\/remote.php(35): OCA\\\\DAV\\\\Server->exec()\\n#11 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/remote.php(164): require_once('\\\/usr\\\/local\\\/www\\\/...')\\n#12 {main}\",\"File\":\"\\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CalDAV\\\/Plugin.php\",\"Line\":917}","userAgent":"Mozilla\/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko\/20100101 Thunderbird\/52.7.0 Lightning\/5.4.7","version":"13.0.1.1"}
in the nginx access log I see:
==> access.log <==
_REMOVED_ - idefix [13/Apr/2018:19:11:03 +0200] "PUT /remote.php/dav/calendars/idefix/privat/9a31b6f6-4bbe-4636-a37f-f27ec194ce5b.ics HTTP/2.0" 415 294 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 Lightning/5.4.7"
Is this the first time you’ve seen this error? (Y/N): Y
Steps to replicate it:
- Wait till the calendar entry triggers the reminder
- Click on close and see the error message, the popup in Thunderbird does not close
The output of your Nextcloud log in Admin > Logging:
Sabre\DAV\Exception\UnsupportedMediaType: Validation error in iCalendar: ATTACH MUST NOT appear more than once in a VALARM component
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php - line 772: Sabre\CalDAV\Plugin->validateICalendar('BEGIN VCALENDAR...', 'calendars/idefi...', false, Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response), false)
[internal function] Sabre\CalDAV\Plugin->beforeWriteContent('calendars/idefi...', Object(OCA\DAV\CalDAV\CalendarObject), 'BEGIN VCALENDAR...', false)
/usr/local/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1128: Sabre\Event\EventEmitter->emit('beforeWriteCont...', Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 513: Sabre\DAV\Server->updateFile('calendars/idefi...', 'BEGIN VCALENDAR...', NULL)
[internal function] Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/usr/local/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method PUT', Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/usr/local/www/nextcloud/apps-pkg/dav/lib/Server.php - line 283: Sabre\DAV\Server->exec()
/usr/local/www/nextcloud/apps-pkg/dav/appinfo/v2/remote.php - line 35: OCA\DAV\Server->exec()
/usr/local/www/nextcloud/remote.php - line 164: require_once('/usr/local/www/...')
{main}
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'instanceid' => '_REMOVED_',
'passwordsalt' => '_REMOVED_',
'datadirectory' => '/usr/local/clouddata',
'dbtype' => 'mysql',
'version' => '13.0.1.1',
'dbname' => 'owncloud',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => '_REMOVED_',
'dbpassword' => '_REMOVED_',
'installed' => true,
'forcessl' => true,
'loglevel' => 0,
'theme' => '',
'maintenance' => false,
'trusted_domains' =>
array (
0 => '_REMOVED_',
1 => '_REMOVED_',
2 => '_REMOVED_',
3 => '_REMOVED_',
4 => '_REMOVED_',
),
'secret' => '_REMOVED_',
'debug' => false,
'trashbin_retention_obligation' => 'auto',
'preview_libreoffice_path' => '/usr/local/bin/soffice',
'overwrite.cli.url' => 'https://_REMOVED_',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/usr/local/www/nextcloud/apps',
'url' => '/apps',
'writable' => true,
),
1 =>
array (
'path' => '/usr/local/www/nextcloud/apps-pkg',
'url' => '/apps-pkg',
'writable' => false,
),
),
);