nextcloud / nextcloud/calendar
Calendar not working - BadFunctionCallException propertiesPathonlyIndex is not a valid attribute
Open
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
- Open Calendar app in Nextcloud
Expected behavior
- Calendar should open, showing categories and entrys
Actual behavior
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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