Skip to content

After updating to 20.0.6 Error: Undefined index is spamming log file聽#25338

Description

@MelBourbon

How to use GitHub

  • Please use the 馃憤 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Update Nextcloud server to 20.0.6
  2. Check log files

Expected behaviour

No new errors should be shown in log files

Actual behaviour

Following error is repeatedly shown in log file (

Error: Undefined index: {http://owncloud.org/ns}owner-principal at /var/www/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php#1789

Server configuration

Operating system: Ubuntu 18.02
Web server: Nginx
Database: MariaDB
PHP version: 7.4.14
Nextcloud version: 20.0.6
Updated from an older Nextcloud/ownCloud or fresh install: Update from 20.0.5

Signing status:

Signing status ``` No errors have been found. ```

List of activated apps:

App list
  - accessibility: 1.6.0
  - activity: 2.13.4
  - admin_audit: 1.10.0
  - announcementcenter: 4.0.0
  - apporder: 0.11.0
  - calendar: 2.1.3
  - cloud_federation_api: 1.3.0
  - comments: 1.10.0
  - contacts: 3.4.3
  - contactsinteraction: 1.1.0
  - dashboard: 7.0.0
  - dav: 1.16.2
  - deck: 1.2.3
  - documentserver_community: 0.1.8
  - drawio: 0.9.8
  - federatedfilesharing: 1.10.2
  - federation: 1.10.1
  - files: 1.15.0
  - files_external: 1.11.1
  - files_fulltextsearch: 20.0.0
  - files_markdown: 2.3.1
  - files_pdfviewer: 2.0.1
  - files_rightclick: 0.17.0
  - files_sharing: 1.12.2
  - files_texteditor: 2.14.0
  - files_trashbin: 1.10.1
  - files_versions: 1.13.0
  - files_videoplayer: 1.9.0
  - firstrunwizard: 2.9.0
  - forms: 2.1.0
  - fulltextsearch: 20.0.0
  - fulltextsearch_elasticsearch: 20.0.0
  - logreader: 2.5.0
  - lookup_server_connector: 1.8.0
  - mail: 1.7.2
  - nextcloud_announcements: 1.9.0
  - notifications: 2.8.0
  - oauth2: 1.8.0
  - onlyoffice: 6.2.0
  - password_policy: 1.10.1
  - photos: 1.2.3
  - privacy: 1.4.0
  - provisioning_api: 1.10.0
  - recommendations: 0.8.0
  - riotchat: 0.6.19
  - serverinfo: 1.10.0
  - settings: 1.2.0
  - sharebymail: 1.10.0
  - support: 1.3.0
  - survey_client: 1.8.0
  - systemtags: 1.10.0
  - tasks: 0.13.6
  - text: 3.1.0
  - theming: 1.11.0
  - twofactor_backupcodes: 1.9.0
  - twofactor_gateway: 0.17.0
  - twofactor_nextcloud_notification: 3.1.0
  - twofactor_totp: 5.0.0
  - updatenotification: 1.10.0
  - user_ldap: 1.10.2
  - user_status: 1.0.1
  - viewer: 1.4.0
  - weather_status: 1.0.0
  - workflowengine: 2.2.0

Nextcloud configuration:

Config report
"system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "server.roeslr.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "share_folder": "\/Mit mir geteilt",
        "overwrite.cli.url": "https:\/\/server.roeslr.com",
        "dbtype": "mysql",
        "version": "20.0.6.1",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "overwriteprotocol": "https",
        "logtimezone": "Europe\/Berlin",
        "auth.bruteforce.protection.enabled": false,
        "filelocking.enabled": "true",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0
        },
        "maintenance": false,
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpsecure": "ssl",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 2,
        "updater.release.channel": "stable",
        "twofactor_enforced": "false",
        "twofactor_enforced_groups": [],
        "twofactor_enforced_excluded_groups": {
            "overwriteprotocol": "https",
            "0": "Bots"
        },
        "mail_sendmailmode": "smtp",
        "mysql.utf8mb4": true,
        "app_install_overwrite": [
            "calendar"
        ],
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }

Are you using external storage, if yes which one: no

Are you using encryption: no

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

Activity

  1. MelBourbon commented on Jan 28, 2021

    @MelBourbon
    Author

    After 2 days operation log entry is currently not newly created.

  2. bene33 commented on Feb 16, 2021

    @bene33

    Same thing here, when i search for something, this error appears.

  3. radoeka commented on Apr 5, 2021

    @radoeka

    Any update about this error?
    Is this due to the Nextcloud update to 20.0.6, or was the calendar app updated at the same time?
    And is the updated calendar app perhaps the reason of the message?

    Running NC-20.0.8, the index fails at the same line (1789)

    Some investigation:
    The line called before the failing one is searchPrincipalUri in CalDavBackend.php.
    In this function at line 1769 the function getCalendarsForUser is called:
    1769 $calendars = $this->getCalendarsForUser($principalUri);

    This function is defined at:
    287 public function getCalendarsForUser($principalUri) {
    ....
    418 is the last line

    I diffed the CalDavBackend (from the backups I still had, 20.0.4, 20.0.5 and 20.0.7 and of course 20.0.8)
    The only difference I found is between 20.0.4 and 20.0.5:

    `# cat nextcloud-20.0.4-5.diff
    diff -u nextcloud-20.0.4-20210102/CalDavBackend.php nextcloud-20.0.5-20210130/CalDavBackend.php
    --- nextcloud-20.0.4-20210102/CalDavBackend.php 2021-04-05 19:37:10.384502656 +0200
    +++ nextcloud-20.0.5-20210130/CalDavBackend.php 2021-04-05 19:37:33.180104246 +0200
    @@ -344,10 +344,7 @@
    $principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
    $principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));

    •           $principals = array_map(function ($principal) {
      
    •                   return urldecode($principal);
      
    •           }, $principals);
      
    •           $principals[]= $principalUri;
      
    •           $principals[] = $principalUri;
      
                $fields = array_values($this->propertyMap);
                $fields[] = 'a.id';
      

    @@ -2728,11 +2725,13 @@
    * @PARAM string $uriName
    * @PARAM string $uriOrigin
    * @PARAM string $uriDestination

    •    * @param string $newUriName (optional) the new uriName
         */
      
    •   public function moveCalendar($uriName, $uriOrigin, $uriDestination) {
      
    •   public function moveCalendar($uriName, $uriOrigin, $uriDestination, $newUriName = null) {
                $query = $this->db->getQueryBuilder();
                $query->update('calendars')
                        ->set('principaluri', $query->createNamedParameter($uriDestination))
      
    •                   ->set('uri', $query->createNamedParameter($newUriName ?: $uriName))
                        ->where($query->expr()->eq('principaluri', $query->createNamedParameter($uriOrigin)))
                        ->andWhere($query->expr()->eq('uri', $query->createNamedParameter($uriName)))
                        ->execute();
      

    `
    The diff is in the function that is included in failing code....

    Could it be that the removed code:
    `# cat nextcloud-20.0.4-5.diff
    diff -u nextcloud-20.0.4-20210102/CalDavBackend.php nextcloud-20.0.5-20210130/CalDavBackend.php
    --- nextcloud-20.0.4-20210102/CalDavBackend.php 2021-04-05 19:37:10.384502656 +0200
    +++ nextcloud-20.0.5-20210130/CalDavBackend.php 2021-04-05 19:37:33.180104246 +0200
    @@ -344,10 +344,7 @@
    $principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
    $principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));

    •           $principals = array_map(function ($principal) {
      
    •                   return urldecode($principal);
      
    •           }, $principals);
      
    •           $principals[]= $principalUri;
      
    •           $principals[] = $principalUri;
      
                $fields = array_values($this->propertyMap);
                $fields[] = 'a.id';
      

    `

    nextcloud-20.0.4-5.zip

    Is the reason for index issue???

    When this is the case the indeed, the issue is to be logged with Nextcloud Calendar or even with the 3rd party providing apps/dav/lib/CalDAV/CalDavBackend.php....

  4. radoeka commented on Apr 6, 2021

    @radoeka

    Yesterday I added the lines that were removed back.
    Before that the error msg was regularly seen in my log. Since adding the lines back, the error is no longer there.

    The lines to put back are:
    (at line 349 in apps/dav/lib/CalDAV/CalDavBackend.php )

    # https://github.com/nextcloud/server/issues/25338
    $principals = array_map(function ($principal) {
        return urldecode($principal);
    }, $principals);
    

    It looks like this code prevents the error messages...

  5. szaimen commented on Jul 2, 2021

    @szaimen
    Contributor

    Is this Issue still valid in NC21.0.3? If not, please close this issue. Thanks! :)

  6. Pofilo commented on Jul 2, 2021

    @Pofilo

    I can test it later today. I'll keep in touch in this ticket !

  7. Pofilo commented on Jul 2, 2021

    @Pofilo

    Having the issue on 20.0.10 and not having it anymore on 21.0.3.
    It could be good if someone else confirms that the problem is fixed.

  8. ghost added
    staleTicket or PR with no recent activity
    on Aug 1, 2021
  9. ghost closed this as completedon Aug 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmapbugneeds infostaleTicket or PR with no recent activity

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions