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

[Bug]: NotImplementedException is thrown when I try to access calDav Calendars #49959

Open
5 of 8 tasks
MaggiWuerze opened this issue Dec 22, 2024 · 3 comments
Open
5 of 8 tasks
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 30-feedback bug feature: caldav Related to CalDAV internals

Comments

@MaggiWuerze
Copy link

MaggiWuerze commented Dec 22, 2024

⚠️ This issue respects the following points: ⚠️

Bug description

After updating to either 29 or 30, I can't sync calendars with new devices. In Dav5X I can connect to the server and the contact tab is populated, but the calendars stay empty (see the attached log).

When I try to query the calendars via curl, the initial list work, but querying calendar items leads to the NotImplemented error (see curl.txt)

The .well-known addresses for cal and carddav (e.g. https://cloud.domain.de/.well-known/caldav) are redirected to https://cloud.domain.de/remote.php/dav/

My traefik config for calDav, which has worked for years:

  - traefik.http.middlewares.nextcloud_redirect.redirectregex.permanent=true
  - traefik.http.middlewares.nextcloud_redirect.redirectregex.regex=/.well-known/(card|cal)dav
  - traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement=/remote.php/dav/

But I also tried:

  - traefik.http.middlewares.nextcloud_redirectregex.redirectregex.permanent=true
  - traefik.http.middlewares.nextcloud_redirectregex.redirectregex.regex='https://(.*)/.well-known/(?:card|cal)dav/'
  - traefik.http.middlewares.nextcloud_redirectregex.redirectregex.replacement='https://$${1}/remote.php/dav/'

Steps to reproduce

  1. Updating to v29 or 30 I guess

Expected behavior

Calendars can be synced with new clients

Nextcloud Server version

30

Operating system

Debian/Ubuntu

PHP engine version

8.3

Web server

NginX (Behind Traefik3)

Database engine version

Postgres

Is this bug present after an update or on a fresh install?

Upgraded to a Major version (ex 28 to 29)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

    "system": {
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "apps_paths": [
            {
                "path": "\/nextcloud\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/nextcloud\/apps2",
                "url": "\/apps2",
                "writable": true
            }
        ],
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.domain.de"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "onlyoffice": {
            "jwt_secret": "***REMOVED SENSITIVE VALUE***",
            "jwt_header": "Authorization"
        },
        "maintenance_window_start": 1,
        "overwrite.cli.url": "https:\/\/cloud.maggiwuerze.de",
        "overwriteprotocol": "https",
        "dbtype": "pgsql",
        "version": "30.0.4.1",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "Etc\/UTC",
        "logdateformat": "Y-m-d H:i:s",
        "maintenance": false,
        "updater.release.channel": "stable",
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "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***",
        "mail_smtpsecure": "ssl",
        "loglevel": 0,
        "trashbin_retention_obligation": "auto, 30",
        "mail_sendmailmode": "smtp",
        "default_phone_region": "DE"
    }
}

List of activated Apps

  - app_api: 4.0.3
  - calendar: 5.0.8
  - circles: 30.0.0
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contactsinteraction: 1.11.0
  - dav: 1.31.1
  - dav_push: 0.0.1
  - drawio: 3.0.3
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_3dmodelviewer: 0.0.14
  - files_downloadlimit: 3.0.0
  - files_external: 1.22.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - forms: 4.3.4
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - nextcloud_announcements: 2.0.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - onlyoffice: 9.5.0
  - password_policy: 2.0.0
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - support: 2.0.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - tasks: 0.16.1
  - text: 4.1.0
  - theming: 2.5.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - updatenotification: 1.20.0
  - viewer: 3.0.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Disabled:
  - activity: 3.0.0 (installed 2.21.1)
  - admin_audit: 1.20.0
  - analytics: 5.2.0 (installed 5.2.0)
  - audioplayer: 3.4.1 (installed 3.4.1)
  - breezedark: 29.0.0 (installed 29.0.0)
  - bruteforcesettings: 3.0.0 (installed 2.2.0)
  - dashboard: 7.10.0 (installed 7.0.0)
  - encryption: 2.18.0
  - extract: 1.3.6 (installed 1.3.6)
  - files_3d: 0.5.0 (installed 0.5.0)
  - files_clipboard: 0.7.1 (installed 0.7.1)
  - files_rightclick: 0.15.1 (installed 1.6.0)
  - firstrunwizard: 3.0.0 (installed 2.1)
  - flowupload: 1.1.3 (installed 1.1.3)
  - google_synchronization: 3.0.0 (installed 3.0.0)
  - mail: 4.1.0 (installed 4.1.0)
  - metadata: 0.21.0 (installed 0.21.0)
  - news: 25.1.1 (installed 25.1.1)
  - notes: 4.11.0 (installed 4.11.0)
  - photos: 3.0.2 (installed 2.5.0)
  - richdocuments: 8.5.3 (installed 8.5.3)
  - richdocumentscode: 24.4.1002 (installed 24.4.1002)
  - spreed: 20.1.1 (installed 20.1.1)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0
  - unsplash: 3.0.3 (installed 3.0.3)
  - user_ldap: 1.21.0
  - user_status: 1.10.0 (installed 1.0.1)
  - weather_status: 1.10.0 (installed 1.0.0)

Nextcloud Signing status


Nextcloud Logs

Exception thrown: Sabre\DAV\Exception\NotImplemented 

ArgumentCountError next() expects exactly 1 argument, 0 given

StackTrace from the NotImplementedException:

see stack.txt

Additional info

curl.txt
davx5-log.txt
stack.txt

@MaggiWuerze MaggiWuerze added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Dec 22, 2024
@kesselb kesselb added the feature: caldav Related to CalDAV internals label Dec 22, 2024
@kesselb
Copy link
Contributor

kesselb commented Dec 22, 2024

Thanks for your bug report 👍

Could be related to #48678.

I'm not sure if the error triggered by your curl request related to the problem when syncing with dav x5.

cc @SebastianKrupinski @st3iny

@MaggiWuerze
Copy link
Author

MaggiWuerze commented Dec 22, 2024

That sounds familiar and is also the error I get when requesting calendar details via curl. Good to know I'm not alone :D

@SebastianKrupinski
Copy link
Contributor

For easier reference:

{
    "reqId": "Y7NVRcDUasCZZwCiCqyy",
    "level": 0,
    "time": "2024-12-21 23:16:01",
    "remoteAddr": "192.168.178.84",
    "user": "admin",
    "app": "webdav",
    "method": "PROPFIND",
    "url": "/remote.php/dav/calendars/admin",
    "message": "Exception thrown: Sabre\\DAV\\Exception\\NotImplemented",
    "userAgent": "curl/7.81.0",
    "version": "30.0.4.1",
    "exception": {
        "Exception": "Sabre\\DAV\\Exception\\NotImplemented",
        "Message": "",
        "Code": 0,
        "Trace": [
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php",
                "line": 218,
                "function": "getChildren",
                "class": "OCA\\DAV\\CalDAV\\Trashbin\\DeletedCalendarObjectsCollection",
                "type": "->",
                "args": []
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 900,
                "function": "getChildren",
                "class": "Sabre\\DAV\\Tree",
                "type": "->",
                "args": [
                    "calendars/admin/trashbin/objects"
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 914,
                "function": "generatePathNodes",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    {
                        "__class__": "Sabre\\DAV\\PropFind"
                    }
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 914,
                "function": "generatePathNodes",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    {
                        "__class__": "Sabre\\DAV\\PropFind"
                    }
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 982,
                "function": "generatePathNodes",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    {
                        "__class__": "Sabre\\DAV\\PropFind"
                    },
                    [
                        {
                            "__class__": "Sabre\\DAV\\PropFind"
                        },
                        {
                            "__class__": "OCA\\DAV\\CalDAV\\CalendarHome"
                        }
                    ]
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 1662,
                "function": "getPropertiesIteratorForPath",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    "calendars/admin",
                    [
                        "{DAV:}resourcetype",
                        "{DAV:}displayname"
                    ],
                    -1
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 1647,
                "function": "writeMultiStatus",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    {
                        "__class__": "Sabre\\Xml\\Writer",
                        "elementMap": [],
                        "contextUri": "/remote.php/dav/",
                        "namespaceMap": {
                            "DAV:": "d",
                            "http://sabredav.org/ns": "s",
                            "urn:ietf:params:xml:ns:caldav": "cal",
                            "http://calendarserver.org/ns/": "cs",
                            "http://owncloud.org/ns": "oc",
                            "http://nextcloud.org/ns": "nc"
                        },
                        "classMap": []
                    },
                    {
                        "__class__": "Generator"
                    },
                    false
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                "line": 346,
                "function": "generateMultiStatus",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    {
                        "__class__": "Generator"
                    },
                    false
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                "line": 89,
                "function": "httpPropFind",
                "class": "Sabre\\DAV\\CorePlugin",
                "type": "->",
                "args": [
                    {
                        "__class__": "Sabre\\HTTP\\Request"
                    },
                    {
                        "__class__": "Sabre\\HTTP\\Response"
                    }
                ]
            },
            {
                "file": "/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 472,
                "function": "emit",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    "method:PROPFIND",
                    [
                        {
                            "__class__": "Sabre\\HTTP\\Request"
                        },
                        {
                            "__class__": "Sabre\\HTTP\\Response"
                        }
                    ]
                ]
            },
            {
                "file": "/nextcloud/apps/dav/lib/Connector/Sabre/Server.php",
                "line": 43,
                "function": "invokeMethod",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    {
                        "__class__": "Sabre\\HTTP\\Request"
                    },
                    {
                        "__class__": "Sabre\\HTTP\\Response"
                    }
                ]
            },
            {
                "file": "/nextcloud/apps/dav/lib/Server.php",
                "line": 371,
                "function": "start",
                "class": "OCA\\DAV\\Connector\\Sabre\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/nextcloud/apps/dav/appinfo/v2/remote.php",
                "line": 19,
                "function": "exec",
                "class": "OCA\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/nextcloud/remote.php",
                "line": 146,
                "args": [
                    "/nextcloud/apps/dav/appinfo/v2/remote.php"
                ],
                "function": "require_once"
            }
        ],
        "File": "/nextcloud/apps/dav/lib/CalDAV/Trashbin/DeletedCalendarObjectsCollection.php",
        "Line": 44,
        "message": "",
        "exception": {},
        "CustomMessage": "Exception thrown: Sabre\\DAV\\Exception\\NotImplemented"
    }
}

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 30-feedback bug feature: caldav Related to CalDAV internals
Projects
None yet
Development

No branches or pull requests

4 participants