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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
MelBourbon opened this issue Jan 26, 2021 · 8 comments
Closed
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug needs info stale Ticket or PR with no recent activity

Comments

@MelBourbon
Copy link

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

@MelBourbon MelBourbon added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Jan 26, 2021
@MelBourbon
Copy link
Author

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

@bene33
Copy link

bene33 commented Feb 16, 2021

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

@radoeka
Copy link

radoeka commented Apr 5, 2021

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....

@radoeka
Copy link

radoeka commented Apr 6, 2021

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...

@szaimen
Copy link
Contributor

szaimen commented Jul 2, 2021

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

@Pofilo
Copy link

Pofilo commented Jul 2, 2021

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

@Pofilo
Copy link

Pofilo commented Jul 2, 2021

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.

@ghost
Copy link

ghost commented Aug 1, 2021

This issue has been automatically marked as stale because it has not had recent activity and seems to be missing some essential information. It will be closed if no further activity occurs. Thank you for your contributions.

@ghost ghost added the stale Ticket or PR with no recent activity label Aug 1, 2021
@ghost ghost closed this as completed Aug 15, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug needs info stale Ticket or PR with no recent activity
Projects
None yet
Development

No branches or pull requests

5 participants