Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding appointment into shared calendar fails #3801

Closed
ekric opened this issue Mar 11, 2017 · 5 comments
Closed

Adding appointment into shared calendar fails #3801

ekric opened this issue Mar 11, 2017 · 5 comments

Comments

@ekric
Copy link

ekric commented Mar 11, 2017

Steps to reproduce

  1. Share calendar with user (write access)
  2. Let the user the calendar is shared with create an appointment into the shared calendar
  3. The adding will fail, with an error message into the server log, defining both the users addresses in the user data doesn't solve the problem.

Expected behaviour

The appointment should be created into the shared calendar without error.

Actual behaviour

See above

Server configuration

Operating system: Ubuntu 16.04.2 LTS

Web server: nginx/1.10.0 (Ubuntu)

Database: 5.7.17-0ubuntu0.16.04.1 (Ubuntu)

PHP version: PHP 7.0.15-0ubuntu0.16.04.4

Nextcloud version: (see Nextcloud admin page) Nextcloud 11.0.2 (production)

Updated from an older Nextcloud/ownCloud or fresh install: Updated

Where did you install Nextcloud from: https://download.nextcloud.com/server/releases/nextcloud-11.0.2.zip

List of activated apps:
Enabled:

  • activity: 2.4.1
  • admin_audit: 1.1.0
  • calendar: 1.5.1
  • comments: 1.1.0
  • contacts: 1.5.3
  • dav: 1.1.1
  • direct_menu: 0.10.0
  • federatedfilesharing: 1.1.1
  • federation: 1.1.1
  • files: 1.6.1
  • files_pdfviewer: 1.0.1
  • files_sharing: 1.1.1
  • files_texteditor: 2.2
  • files_trashbin: 1.1.0
  • files_versions: 1.4.0
  • files_videoplayer: 1.0.0
  • firstrunwizard: 2.0
  • gallery: 16.0.0
  • logreader: 2.0.0
  • lookup_server_connector: 1.0.0
  • mail: 0.6.2
  • nextcloud_announcements: 1.0
  • notifications: 1.0.1
  • password_policy: 1.1.0
  • provisioning_api: 1.1.0
  • serverinfo: 1.1.1
  • sharebymail: 1.0.1
  • survey_client: 0.1.5
  • systemtags: 1.1.3
  • tasks: 0.9.5
  • templateeditor: 0.2
  • theming: 1.1.1
  • twofactor_backupcodes: 1.0.0
  • updatenotification: 1.1.1
  • workflowengine: 1.1.1
    Disabled:
  • encryption
  • external
  • files_accesscontrol
  • files_automatedtagging
  • files_external
  • files_retention
  • richdocuments
  • user_external
  • user_ldap
  • user_saml

The content of config/config.php:
{
"system": {
"instanceid": "ocaeb697abca",
"passwordsalt": "REMOVED SENSITIVE VALUE",
"datadirectory": "/srv/ncdata",
"dbtype": "mysql",
"version": "11.0.2.7",
"dbname": "nextcloud",
"dbhost": "localhost",
"dbtableprefix": "nc_",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"installed": true,
"forcessl": true,
"theme": "",
"maintenance": false,
"trusted_domains": [...],
"share_folder": "/Shared",
"loglevel": 0,
"log_authfailip": true,
"log_rotate_size": "104857600",
"secret": "REMOVED SENSITIVE VALUE",
"mail_from_address": "sharing-noreply",
"mail_smtpmode": "smtp",
"mail_domain": "...",
"mail_smtphost": "localhost",
"mail_smtpport": "25",
"memcache.local": "\OC\Memcache\Redis",
"filelocking.enabled": "true",
"memcache.distributed": "\OC\Memcache\Redis",
"memcache.locking": "\OC\Memcache\Redis",
"redis": {
"host": "localhost",
"port": 6379,
"timeout": 0
},
"trashbin_retention_obligation": "auto",
"htaccess.RewriteBase": "/",
"updater.release.channel": "production",
"updater.secret": "REMOVED SENSITIVE VALUE"
}
}

Are you using external storage, if yes which one: /srv/ncdata

Are you using encryption: no

Are you using an external user-backend, if yes which one: no

Client configuration

Browser: none, iOS Calendar App

Operating system: iOS 10.2.1

Logs

Nextcloud log (data/nextcloud.log)

TypeError: Argument 3 passed to Sabre\CalDAV\Schedule\Plugin::processICalendarChange() must be of the type array, null given, called in /var/www/servers/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Schedule/Plugin.php on line 372
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Schedule/Plugin.php - line 372: Sabre\CalDAV\Schedule\Plugin->processICalendarChange(NULL, Object(Sabre\VObject\Component\VCalendar), NULL, Array, false)
[internal function] Sabre\CalDAV\Schedule\Plugin->calendarObjectChange(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response), Object(Sabre\VObject\Component\VCalendar), 'calendars/Ina/g...', false, true)
/var/www/servers/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php - line 943: Sabre\Event\EventEmitter->emit('calendarObjectC...', Array)
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php - line 801: Sabre\CalDAV\Plugin->validateICalendar('BEGIN VCALENDAR...', 'calendars/Ina/g...', false, Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response), true)
[internal function] Sabre\CalDAV\Plugin->beforeCreateFile('calendars/Ina/g...', 'BEGIN VCALENDAR...', Object(OCA\DAV\CalDAV\Calendar), false)
/var/www/servers/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1070: Sabre\Event\EventEmitter->emit('beforeCreateFil...', Array)
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 525: Sabre\DAV\Server->createFile('calendars/Ina/g...', 'BEGIN VCALENDAR...', NULL)
[internal function] Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/var/www/servers/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method PUT', Array)
/var/www/servers/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/var/www/servers/nextcloud/apps/dav/appinfo/v1/caldav.php - line 91: Sabre\DAV\Server->exec()
/var/www/servers/nextcloud/remote.php - line 165: require_once('/var/www/server...')
{main}

Browser log

Doesn't happen in the browser client.

Workaround

if ($addresses == null) {
$addresses = [];
}

$this->processICalendarChange($oldObj, $vCal, $addresses, [], $modified);

@nickvergessen
Copy link
Member

Can you try if adding an email to your profile also solves the issue?

@ekric
Copy link
Author

ekric commented Mar 13, 2017

Both mail addresses were filled before.

@kchan101
Copy link

I also saw this error after upgrading to 11.0.2 using CalDAV-Sync client on Android.

Workaround above worked for me too.

@nickvergessen
Copy link
Member

Can you try:
apps/dav/appinfo/v1/caldav.php
find:

$server->addPlugin(new \Sabre\CalDAV\Schedule\Plugin());

replace with:

$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin());

@kchan101
Copy link

Above works for me. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants