nextcloud / nextcloud/calendar

Calendar not working - BadFunctionCallException propertiesPathonlyIndex is not a valid attribute

Open
#7,048 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. to triage bug
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Steps to reproduce
  1. Open Calendar app in Nextcloud
Expected behavior
  1. Calendar should open, showing categories and entrys
Actual behavior
  1. Calendar open, showing no categories or entrys. horglass circle is rotating endless.
Calendar app version

5.3.3

CalDAV-clients used

No response

Browser

Safari iOS, MS Edge

Client operating system

No response

Server operating system

Managed Server All-Inkl

Web server

Apache

Database engine version

MariaDB

PHP engine version

PHP 8.2

Nextcloud version

31.0.6

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps
Enabled:  - activity: 4.0.0  - announcementcenter: 7.1.3  - app_api: 5.0.2  - bruteforcesettings: 4.0.0  - calendar: 5.3.3  - circles: 31.0.0  - cloud_federation_api: 1.14.0  - comments: 1.21.0  - contactsinteraction: 1.12.0  - dashboard: 7.11.0  - dav: 1.33.0  - federatedfilesharing: 1.21.0  - federation: 1.21.0  - files: 2.3.1  - files_downloadlimit: 4.0.0  - files_external: 1.23.0  - files_pdfviewer: 4.0.0  - files_reminders: 1.4.0  - files_sharing: 1.23.1  - files_trashbin: 1.21.0  - files_versions: 1.24.0  - firstrunwizard: 4.0.0  - logreader: 4.0.0  - lookup_server_connector: 1.19.0  - nextcloud_announcements: 3.0.0  - notifications: 4.0.0  - oauth2: 1.19.1  - occweb: 0.2.3  - password_policy: 3.0.0  - photos: 4.0.0-dev.1  - privacy: 3.0.0  - profile: 1.0.0  - provisioning_api: 1.21.0  - recommendations: 4.0.0  - related_resources: 2.0.0  - serverinfo: 3.0.0  - settings: 1.14.0  - sharebymail: 1.21.0  - support: 3.0.0  - survey_client: 3.0.0  - systemtags: 1.21.1  - text: 5.0.0  - theming: 2.6.1  - twofactor_backupcodes: 1.20.0  - twofactor_totp: 13.0.0-dev.0  - updatenotification: 1.21.0  - user_status: 1.11.0  - viewer: 4.0.0  - weather_status: 1.11.0  - webhook_listeners: 1.2.0  - workflowengine: 2.13.0Disabled:  - admin_audit: 1.21.0  - encryption: 2.19.0  - files_antivirus: 6.0.2 (installed 6.0.2)  - files_rightclick: 0.15.1 (installed 1.6.0)  - suspicious_login: 9.0.1 (installed 7.0.0)  - twofactor_nextcloud_notification: 5.0.0  - user_ldap: 1.22.0
Nextcloud configuration
{    "system": {        "instanceid": "***REMOVED SENSITIVE VALUE***",        "passwordsalt": "***REMOVED SENSITIVE VALUE***",        "secret": "***REMOVED SENSITIVE VALUE***",        "trusted_domains": [            "cloud.wkc52.de"        ],        "datadirectory": "***REMOVED SENSITIVE VALUE***",        "overwrite.cli.url": "http:\/\/cloud.wkc52.de",        "dbtype": "mysql",        "mysql.utf8mb4": true,        "version": "31.0.6.2",        "dbname": "***REMOVED SENSITIVE VALUE***",        "dbhost": "***REMOVED SENSITIVE VALUE***",        "dbtableprefix": "ZTOoh_",        "dbuser": "***REMOVED SENSITIVE VALUE***",        "dbpassword": "***REMOVED SENSITIVE VALUE***",        "logtimezone": "Europe\/Berlin",        "installed": true,        "tempdirectory": "\/www\/htdocs\/w00af220\/tmp\/",        "maintenance": false,        "default_language": "de",        "defaultapp": "files",        "theme": "",        "loglevel": 0,        "mail_domain": "***REMOVED SENSITIVE VALUE***",        "mail_from_address": "***REMOVED SENSITIVE VALUE***",        "mail_smtpmode": "smtp",        "mail_smtpauth": 1,        "mail_smtpsecure": "tls",        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",        "mail_smtpport": "587",        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",        "mail_smtpauthtype": "LOGIN",        "allow_user_to_change_display_name": true,        "remember_login_cookie_lifetime": 86400,        "session_lifetime": 3600,        "session_keepalive": true,        "auto_logout": true,        "default_phone_region": "DE",        "app_install_overwrite": [            "gallery",            "occweb",            "files_rightclick"        ],        "updater.release.channel": "stable"    }}
Web server error log

Log file
Fehlersuche
no app in context
Running check OCA\LogReader\SetupChecks\LogErrors

18.06.2025, 09:21:44

Fehlersuche
no app in context
Running check OCA\FilesReminders\SetupChecks\NeedNotificationsApp

18.06.2025, 09:21:44

Fehlersuche
webdav
NotAuthenticated
No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Bearer' header found. Either the client didn't send one, or the server is mis-configured

18.06.2025, 09:21:44

Fehlersuche
no app in context
Running check OCA\DAV\SetupChecks\WebdavEndpoint

18.06.2025, 09:21:44

Fehlersuche
no app in context
Running check OCA\DAV\SetupChecks\NeedsSystemAddressBookSync

18.06.2025, 09:21:44

Fehler
no app in context
BadFunctionCallException
propertiesPathonlyIndex is not a valid attribute

18.06.2025, 09:21:44

Fehlersuche
no app in context
Exception
No parameters in call to OC\DB\QueryBuilder\ExpressionBuilder\ExpressionBuilder::orX

18.06.2025, 09:21:44

Fehlersuche
no app in context
Exception
No parameters in call to OC\DB\QueryBuilder\ExpressionBuilder\ExpressionBuilder::andX

18.06.2025, 09:21:44
Browser log
{
  "reqId": "aFJpp_5YXKxiXoj11xwLTwAARgQ",
  "level": 3,
  "time": "2025-06-18T09:24:23+02:00",
  "remoteAddr": "147.161.164.115",
  "user": "Administrator",
  "app": "no app in context",
  "method": "PUT",
  "url": "/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json",
  "message": "propertiesPathonlyIndex is not a valid attribute",
  "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0",
  "version": "31.0.6.2",
  "exception": {
    "Exception": "BadFunctionCallException",
    "Message": "propertiesPathonlyIndex is not a valid attribute",
    "Code": 0,
    "Trace": [
      {
        "file": "/www/htdocs/w00af220/cloud/lib/public/AppFramework/Db/Entity.php",
        "line": 59,
        "function": "setter",
        "class": "OCP\\AppFramework\\Db\\Entity",
        "type": "->",
        "args": [
          "propertiesPathonlyIndex",
          [
            0
          ]
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/public/AppFramework/Db/QBMapper.php",
        "line": 315,
        "function": "fromRow",
        "class": "OCP\\AppFramework\\Db\\Entity",
        "type": "::",
        "args": [
          {
            "id": 60,
            "propertyname": "{http://owncloud.org/ns}calendar-enabled",
            "propertyvalue": "1",
            "propertypath": "calendars/Administrator/allgemein",
            "userid": "Administrator",
            "properties_pathonly_index": 0,
            "valuetype": 1
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/public/AppFramework/Db/QBMapper.php",
        "line": 333,
        "function": "mapRowToEntity",
        "class": "OCP\\AppFramework\\Db\\QBMapper",
        "type": "->",
        "args": [
          {
            "id": 60,
            "propertyname": "{http://owncloud.org/ns}calendar-enabled",
            "propertyvalue": "1",
            "propertypath": "calendars/Administrator/allgemein",
            "userid": "Administrator",
            "properties_pathonly_index": 0,
            "valuetype": 1
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/dav/lib/Db/PropertyMapper.php",
        "line": 52,
        "function": "findEntities",
        "class": "OCP\\AppFramework\\Db\\QBMapper",
        "type": "->",
        "args": [
          {
            "__class__": "OC\\DB\\QueryBuilder\\QueryBuilder"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/dav/lib/CalDAV/CalendarProvider.php",
        "line": 56,
        "function": "findPropertiesByPath",
        "class": "OCA\\DAV\\Db\\PropertyMapper",
        "type": "->",
        "args": [
          "Administrator",
          "calendars/Administrator/allgemein"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/dav/lib/CalDAV/CalendarProvider.php",
        "line": 41,
        "function": "getAdditionalProperties",
        "class": "OCA\\DAV\\CalDAV\\CalendarProvider",
        "type": "->",
        "args": [
          "principals/users/Administrator",
          "allgemein"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/Calendar/Manager.php",
        "line": 188,
        "function": "getCalendars",
        "class": "OCA\\DAV\\CalDAV\\CalendarProvider",
        "type": "->",
        "args": [
          "principals/users/Administrator",
          []
        ]
      },
      {
        "function": "OC\\Calendar\\{closure}",
        "class": "OC\\Calendar\\Manager",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/Calendar/Manager.php",
        "line": 177,
        "function": "array_map",
        "args": [
          {
            "__class__": "Closure"
          },
          [
            "*** sensitive parameters replaced ***",
            "*** sensitive parameters replaced ***"
          ]
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/dav/lib/CalDAV/Status/StatusService.php",
        "line": 152,
        "function": "getCalendarsForPrincipal",
        "class": "OC\\Calendar\\Manager",
        "type": "->",
        "args": [
          "principals/users/Administrator"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/dav/lib/CalDAV/Status/StatusService.php",
        "line": 56,
        "function": "getCalendarEvents",
        "class": "OCA\\DAV\\CalDAV\\Status\\StatusService",
        "type": "->",
        "args": [
          {
            "__class__": "OC\\User\\User"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/user_status/lib/Listener/UserLiveStatusListener.php",
        "line": 52,
        "function": "processCalendarStatus",
        "class": "OCA\\DAV\\CalDAV\\Status\\StatusService",
        "type": "->",
        "args": [
          "Administrator"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/EventDispatcher/ServiceEventListener.php",
        "line": 68,
        "function": "handle",
        "class": "OCA\\UserStatus\\Listener\\UserLiveStatusListener",
        "type": "->",
        "args": [
          {
            "__class__": "OCP\\User\\Events\\UserLiveStatusEvent"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
        "line": 220,
        "function": "__invoke",
        "class": "OC\\EventDispatcher\\ServiceEventListener",
        "type": "->",
        "args": [
          {
            "__class__": "OCP\\User\\Events\\UserLiveStatusEvent"
          },
          "OCP\\User\\Events\\UserLiveStatusEvent",
          {
            "__class__": "Symfony\\Component\\EventDispatcher\\EventDispatcher"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
        "line": 56,
        "function": "callListeners",
        "class": "Symfony\\Component\\EventDispatcher\\EventDispatcher",
        "type": "->",
        "args": [
          [
            {
              "__class__": "Closure"
            }
          ],
          "OCP\\User\\Events\\UserLiveStatusEvent",
          {
            "__class__": "OCP\\User\\Events\\UserLiveStatusEvent"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/EventDispatcher/EventDispatcher.php",
        "line": 67,
        "function": "dispatch",
        "class": "Symfony\\Component\\EventDispatcher\\EventDispatcher",
        "type": "->",
        "args": [
          {
            "__class__": "OCP\\User\\Events\\UserLiveStatusEvent"
          },
          "OCP\\User\\Events\\UserLiveStatusEvent"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/EventDispatcher/EventDispatcher.php",
        "line": 79,
        "function": "dispatch",
        "class": "OC\\EventDispatcher\\EventDispatcher",
        "type": "->",
        "args": [
          "OCP\\User\\Events\\UserLiveStatusEvent",
          {
            "__class__": "OCP\\User\\Events\\UserLiveStatusEvent"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/apps/user_status/lib/Controller/HeartbeatController.php",
        "line": 71,
        "function": "dispatchTyped",
        "class": "OC\\EventDispatcher\\EventDispatcher",
        "type": "->",
        "args": [
          {
            "__class__": "OCP\\User\\Events\\UserLiveStatusEvent"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 200,
        "function": "heartbeat",
        "class": "OCA\\UserStatus\\Controller\\HeartbeatController",
        "type": "->",
        "args": [
          "online"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 114,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          {
            "__class__": "OCA\\UserStatus\\Controller\\HeartbeatController"
          },
          "heartbeat"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/AppFramework/App.php",
        "line": 161,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          {
            "__class__": "OCA\\UserStatus\\Controller\\HeartbeatController"
          },
          "heartbeat"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/lib/private/Route/Router.php",
        "line": 307,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::",
        "args": [
          "OCA\\UserStatus\\Controller\\HeartbeatController",
          "heartbeat",
          {
            "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
          },
          {
            "_route": "ocs.user_status.heartbeat.heartbeat"
          }
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/ocs/v1.php",
        "line": 49,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->",
        "args": [
          "/ocsapp/apps/user_status/api/v1/heartbeat"
        ]
      },
      {
        "file": "/www/htdocs/w00af220/cloud/ocs/v2.php",
        "line": 7,
        "args": [
          "/www/htdocs/w00af220/cloud/ocs/v1.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/www/htdocs/w00af220/cloud/lib/public/AppFramework/Db/Entity.php",
    "Line": 95,
    "message": "propertiesPathonlyIndex is not a valid attribute",
    "exception": [],
    "CustomMessage": "propertiesPathonlyIndex is not a valid attribute"
  },
  "id": "685269b302113"
}
Additional info

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with apps/dav/lib/Db/PropertyMapper.php and the Entity/QBMapper mapping shown in the trace, then follow the call into apps/dav/lib/CalDAV/CalendarProvider.php. Reproduce the Calendar load and trace the properties_pathonly_index value through this path. Done means the Calendar opens with categories and entries without the BadFunctionCallException.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, mariadb, php
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.