[Bug]: SSH keys not working from nextcloud 35
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, nginx, php, postgresql
- Domain
- backend
Research direction
Look at the files_external app's frontend form for SFTP storage, likely in apps/files_external/lib/Controller/GlobalStoragesController.php or a related template. The private key input field needs to be changed from an input to a textarea to preserve newlines. Test by creating an SFTP external storage with an RSA key via the UI and verifying the key is stored correctly in the database.
Written by the indexing model from the issue text.
Description
⚠️ This issue respects the following points: ⚠️
- This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
- This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
- I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
- I agree to follow Nextcloud's Code of Conduct.
- I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.
Bug description
I'm using files_external using the RSA private key authentication method.
However, when trying to use it after the update I'm getting the error Unable to read key from phpseclib3
I believe the problem is that the private key is stored without its enters. This is because the form for inserting the private key uses an input element and not a textarea element, so the enters of the key will be lost.
Setting the private key using: ./occ -vvv files_external:config --value-from-file <mount-id> private_key ./key.pem preserves the enters and fixes the issue.
Steps to reproduce
- Create a new external storage
- Select SFTP as the storage type
- And RSA private key as the authentication method
- Set up the rest of the form further
- Try to open this external storage folder
- Check the logs and see the
Unable to read keyerror.
Expected behavior
It should store the private key correctly so it works.
Nextcloud Server version
35
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.5
Web server
Nginx
Database engine version
PostgreSQL
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 31 to 32)
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": {
"overwriteprotocol": "https",
"htaccess.RewriteBase": "\/",
"memcache.local": "\\OC\\Memcache\\APCu",
"apps_paths": [
{
"path": "\/var\/www\/html\/apps",
"url": "\/apps",
"writable": false
},
{
"path": "\/var\/www\/html\/custom_apps",
"url": "\/custom_apps",
"writable": true
}
],
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
],
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"allow_local_remote_servers": true,
"default_phone_region": "NL",
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"version": "35.0.0.10",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"theme": "",
"log_type": "file",
"logfile": "\/tmp\/nextcloud.log",
"loglevel": 2,
"maintenance": false,
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "smtp",
"mail_sendmailmode": "smtp",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauth": 1,
"mail_smtpport": "587",
"mail_smtpauthtype": "PLAIN",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"has_rebuilt_cache": true,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"maintenance_window_start": 1,
"serverid": "0"
}
}
List of activated Apps
Enabled:
- activity: 8.0.0
- admin_audit: 2.0.0-dev.0
- app_api: 35.0.0
- appstore: 2.0.0-dev.0
- bruteforcesettings: 8.0.0
- calendar: 6.6.1
- circles: 35.0.0
- cloud_federation_api: 2.0.0-dev.0
- comments: 2.0.0-dev.0
- contacts: 8.9.0
- contactsinteraction: 2.0.0-dev.0
- dashboard: 8.0.0-dev.0
- dav: 2.0.0-dev.1
- federatedfilesharing: 2.0.0-dev.1
- federation: 2.0.0-dev.0
- files: 3.0.0-dev.0
- files_downloadlimit: 5.3.0
- files_external: 2.0.0-dev.0
- files_lock: 35.0.0
- files_pdfviewer: 8.0.0
- files_reminders: 2.0.0-dev.0
- files_sharing: 2.0.0-dev.1
- files_trashbin: 2.0.0-dev.0
- files_versions: 2.0.0-dev.0
- firstrunwizard: 8.0.0
- logreader: 8.0.0
- lookup_server_connector: 2.0.0-dev.0
- nextcloud_announcements: 7.0.0
- notes: 6.1.0
- notifications: 8.0.0
- oauth2: 2.0.0-dev.0
- office: 1.1.0
- password_policy: 7.0.0
- photos: 8.0.0
- privacy: 7.0.0
- profile: 2.0.0-dev.0
- provisioning_api: 2.0.0-dev.0
- recommendations: 8.0.0
- related_resources: 6.0.0
- richdocuments: 12.0.0
- serverinfo: 7.0.0
- settings: 2.0.0-dev.0
- sharebymail: 2.0.0-dev.0
- sharing: 1.0.4
- support: 7.0.0
- survey_client: 7.0.0
- suspicious_login: 13.0.0
- systemtags: 2.0.0-dev.0
- text: 9.0.0
- theming: 3.0.0-dev.0
- twofactor_backupcodes: 2.0.0-dev.0
- twofactor_nextcloud_notification: 9.0.0
- twofactor_totp: 17.1.0
- twofactor_webauthn: 2.7.1
- updatenotification: 2.0.0-dev.0
- user_oidc: 8.11.0
- user_status: 2.0.0-dev.0
- viewer: 8.0.0
- weather_status: 2.0.0-dev.0
- webhook_listeners: 2.0.0-dev.0
- workflowengine: 3.0.0-dev.0
Disabled:
- carnet: 0.25.13 (installed 0.25.13)
- encryption: 3.0.0-dev.0
- files_antivirus: 6.3.0 (installed 6.3.0)
- previewgenerator: 5.13.0 (installed 5.13.0)
- sharelisting: 1.3.0 (installed 1.3.0)
- tasks: 0.18.0 (installed 0.18.0)
- user_ldap: 2.0.0-dev.0
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
{
"reqId": "hzaIhqkFWcPeo0nTPRi7",
"level": 2,
"time": "2026-09-23T18:48:07+00:00",
"remoteAddr": "2001:4c3c:7300:48de:4691:8e78:5b95:1791",
"user": "jeroen",
"app": "no app in context",
"method": "PROPFIND",
"url": "/remote.php/dav/files/jeroen/",
"scriptName": "/remote.php",
"message": "Error while getting quota info, using root quota",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0",
"version": "35.0.0.10",
"exception": {
"Exception": "OCP\\Files\\StorageNotAvailableException",
"Message": "Unable to read key",
"Code": 0,
"Trace": [
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 323,
"function": "getAvailability",
"class": "OC\\Files\\Storage\\FailedStorage",
"type": "->",
"args": []
},
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
"line": 61,
"function": "getAvailability",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->",
"args": []
},
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
"line": 74,
"function": "isAvailable",
"class": "OC\\Files\\Storage\\Wrapper\\Availability",
"type": "->",
"args": []
},
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
"line": 83,
"function": "checkAvailability",
"class": "OC\\Files\\Storage\\Wrapper\\Availability",
"type": "->",
"args": []
},
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
"line": 217,
"function": "handleAvailability",
"class": "OC\\Files\\Storage\\Wrapper\\Availability",
"type": "->",
"args": [
"free_space",
""
]
},
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 186,
"function": "free_space",
"class": "OC\\Files\\Storage\\Wrapper\\Availability",
"type": "->",
"args": [
""
]
},
{
"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 186,
"function": "free_space",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->",
"args": [
""
]
},
{
"file": "/var/www/html/lib/private/legacy/OC_Helper.php",
"line": 231,
"function": "free_space",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->",
"args": [
""
]
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
"line": 349,
"function": "getStorageInfo",
"class": "OC_Helper",
"type": "::",
"args": [
"/home-Jeroen",
{
"__class__": "OC\\Files\\Node\\Folder"
},
false
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 770,
"function": "getQuotaInfo",
"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
"type": "->",
"args": []
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php",
"line": 95,
"function": "{closure:Sabre\\DAV\\CorePlugin::propFind():768}",
"class": "Sabre\\DAV\\CorePlugin",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 768,
"function": "handle",
"class": "Sabre\\DAV\\PropFind",
"type": "->",
"args": [
"{DAV:}quota-available-bytes",
{
"__class__": "Closure"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "propFind",
"class": "Sabre\\DAV\\CorePlugin",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1052,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"propFind",
[
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
}
]
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 984,
"function": "getPropertiesByNode",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1664,
"function": "getPropertiesIteratorForPath",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"files/jeroen",
[
"{DAV:}getcontentlength",
"{DAV:}getcontenttype",
"{DAV:}getetag",
"{DAV:}getlastmodified",
"{DAV:}creationdate",
"And 33 more entries, set log level to debug to see all entries"
],
1
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1649,
"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",
"http://owncloud.org/ns": "oc",
"http://nextcloud.org/ns": "nc"
},
"classMap": []
},
{
"__class__": "Generator"
},
false
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 346,
"function": "generateMultiStatus",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Generator"
},
false
]
},
{
"file": "/var/www/html/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": "/var/www/html/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": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
"line": 216,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Sabre\\HTTP\\Request"
},
{
"__class__": "Sabre\\HTTP\\Response"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Server.php",
"line": 436,
"function": "start",
"class": "OCA\\DAV\\Connector\\Sabre\\Server",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
"line": 25,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->",
"args": []
},
{
"file": "/var/www/html/remote.php",
"line": 158,
"args": [
"/var/www/html/apps/dav/appinfo/v2/remote.php"
],
"function": "require"
},
{
"file": "/var/www/html/lib/OC.php",
"line": 1397,
"function": "{closure:/var/www/html/remote.php:102}",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/remote.php",
"line": 102,
"function": "handleRequests",
"class": "OC",
"type": "::",
"args": [
{
"__class__": "Closure"
}
]
}
],
"File": "/var/www/html/lib/private/Files/Storage/FailedStorage.php",
"Line": 225,
"Hint": "Storage is temporarily not available",
"Previous": {
"Exception": "OCP\\Files\\StorageNotAvailableException",
"Message": "Unable to read key",
"Code": 0,
"Trace": [
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 124,
"function": "getAvailability",
"class": "OC\\Files\\Storage\\FailedStorage",
"type": "->",
"args": []
},
{
"function": "{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():122}",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 122,
"function": "array_map",
"args": [
{
"__class__": "Closure"
},
{
"6": "*** sensitive parameters replaced ***",
"7": "*** sensitive parameters replaced ***",
"8": "*** sensitive parameters replaced ***",
"14": "*** sensitive parameters replaced ***"
},
{
"6": "*** sensitive parameters replaced ***",
"7": "*** sensitive parameters replaced ***",
"8": "*** sensitive parameters replaced ***",
"14": "*** sensitive parameters replaced ***"
}
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 144,
"function": "getAvailableStorages",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
{
"6": "*** sensitive parameters replaced ***",
"7": "*** sensitive parameters replaced ***",
"8": "*** sensitive parameters replaced ***",
"14": "*** sensitive parameters replaced ***"
},
{
"__class__": "OC\\User\\User"
}
]
},
{
"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
"line": 62,
"function": "getMountsForUser",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Storage\\StorageFactory"
}
]
},
{
"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
"line": 177,
"function": "getMountsFromProvider",
"class": "OC\\Files\\Config\\MountProviderCollection",
"type": "->",
"args": [
{
"__class__": "OCA\\Files_External\\Config\\ConfigAdapter"
},
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Storage\\StorageFactory"
}
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 290,
"function": "addMountForUser",
"class": "OC\\Files\\Config\\MountProviderCollection",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Mount\\Manager"
},
{
"__class__": "Closure"
}
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 415,
"function": "{closure:OC\\Files\\SetupManager::setupForUser():289}",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 289,
"function": "setupForUserWith",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "Closure"
}
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 501,
"function": "setupForUser",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
}
]
},
{
"file": "/var/www/html/lib/private/Files/Mount/Manager.php",
"line": 116,
"function": "setupForPath",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
"/jeroen/files",
true
]
},
{
"file": "/var/www/html/lib/private/Files/View.php",
"line": 1577,
"function": "findIn",
"class": "OC\\Files\\Mount\\Manager",
"type": "->",
"args": [
"/jeroen/files"
]
},
{
"file": "/var/www/html/lib/private/Files/Node/Folder.php",
"line": 89,
"function": "getDirectoryContent",
"class": "OC\\Files\\View",
"type": "->",
"args": [
"/jeroen/files",
null,
{
"__class__": "OC\\Files\\Node\\LazyUserFolder"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
"line": 267,
"function": "getDirectoryListing",
"class": "OC\\Files\\Node\\Folder",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
"line": 59,
"function": "getChildren",
"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
"line": 108,
"function": "cacheDirectory",
"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
"type": "->",
"args": [
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
},
{
"__class__": "Sabre\\DAV\\PropFind"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "preloadCollection",
"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php",
"line": 46,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"preloadCollection",
[
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
]
},
{
"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "collectionPreloadNotifier",
"class": "OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1052,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"propFind",
[
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 984,
"function": "getPropertiesByNode",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1664,
"function": "getPropertiesIteratorForPath",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"files/jeroen",
[
"{DAV:}getcontentlength",
"{DAV:}getcontenttype",
"{DAV:}getetag",
"{DAV:}getlastmodified",
"{DAV:}creationdate",
"And 33 more entries, set log level to debug to see all entries"
],
1
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1649,
"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",
"http://owncloud.org/ns": "oc",
"http://nextcloud.org/ns": "nc"
},
"classMap": []
},
{
"__class__": "Generator"
},
false
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 346,
"function": "generateMultiStatus",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Generator"
},
false
]
},
{
"file": "/var/www/html/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": "/var/www/html/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": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
"line": 216,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Sabre\\HTTP\\Request"
},
{
"__class__": "Sabre\\HTTP\\Response"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Server.php",
"line": 436,
"function": "start",
"class": "OCA\\DAV\\Connector\\Sabre\\Server",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
"line": 25,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->",
"args": []
},
{
"file": "/var/www/html/remote.php",
"line": 158,
"args": [
"/var/www/html/apps/dav/appinfo/v2/remote.php"
],
"function": "require"
},
{
"file": "/var/www/html/lib/OC.php",
"line": 1397,
"function": "{closure:/var/www/html/remote.php:102}",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/remote.php",
"line": 102,
"function": "handleRequests",
"class": "OC",
"type": "::",
"args": [
{
"__class__": "Closure"
}
]
}
],
"File": "/var/www/html/lib/private/Files/Storage/FailedStorage.php",
"Line": 225,
"Hint": "Storage is temporarily not available",
"Previous": {
"Exception": "phpseclib3\\Exception\\NoKeyLoadedException",
"Message": "Unable to read key",
"Code": 0,
"Trace": [
{
"file": "/var/www/html/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php",
"line": 56,
"function": "load",
"class": "phpseclib3\\Crypt\\PublicKeyLoader",
"type": "::",
"args": [
false,
""
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 77,
"function": "manipulateStorageConfig",
"class": "OCA\\Files_External\\Lib\\Auth\\PublicKey\\RSAPrivateKey",
"type": "->",
"args": [
"*** sensitive parameters replaced ***",
{
"__class__": "OC\\User\\User"
}
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 82,
"function": "prepareStorageConfig",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
"*** sensitive parameters replaced ***",
{
"__class__": "OC\\User\\User"
}
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 111,
"function": "constructStorageForUser",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
"*** sensitive parameters replaced ***"
]
},
{
"function": "{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():109}",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 109,
"function": "array_map",
"args": [
{
"__class__": "Closure"
},
{
"6": "*** sensitive parameters replaced ***",
"7": "*** sensitive parameters replaced ***",
"8": "*** sensitive parameters replaced ***",
"14": "*** sensitive parameters replaced ***"
}
]
},
{
"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
"line": 144,
"function": "getAvailableStorages",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
{
"6": "*** sensitive parameters replaced ***",
"7": "*** sensitive parameters replaced ***",
"8": "*** sensitive parameters replaced ***",
"14": "*** sensitive parameters replaced ***"
},
{
"__class__": "OC\\User\\User"
}
]
},
{
"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
"line": 62,
"function": "getMountsForUser",
"class": "OCA\\Files_External\\Config\\ConfigAdapter",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Storage\\StorageFactory"
}
]
},
{
"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
"line": 177,
"function": "getMountsFromProvider",
"class": "OC\\Files\\Config\\MountProviderCollection",
"type": "->",
"args": [
{
"__class__": "OCA\\Files_External\\Config\\ConfigAdapter"
},
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Storage\\StorageFactory"
}
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 290,
"function": "addMountForUser",
"class": "OC\\Files\\Config\\MountProviderCollection",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Mount\\Manager"
},
{
"__class__": "Closure"
}
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 415,
"function": "{closure:OC\\Files\\SetupManager::setupForUser():289}",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 289,
"function": "setupForUserWith",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "Closure"
}
]
},
{
"file": "/var/www/html/lib/private/Files/SetupManager.php",
"line": 501,
"function": "setupForUser",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
}
]
},
{
"file": "/var/www/html/lib/private/Files/Mount/Manager.php",
"line": 116,
"function": "setupForPath",
"class": "OC\\Files\\SetupManager",
"type": "->",
"args": [
"/jeroen/files",
true
]
},
{
"file": "/var/www/html/lib/private/Files/View.php",
"line": 1577,
"function": "findIn",
"class": "OC\\Files\\Mount\\Manager",
"type": "->",
"args": [
"/jeroen/files"
]
},
{
"file": "/var/www/html/lib/private/Files/Node/Folder.php",
"line": 89,
"function": "getDirectoryContent",
"class": "OC\\Files\\View",
"type": "->",
"args": [
"/jeroen/files",
null,
{
"__class__": "OC\\Files\\Node\\LazyUserFolder"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
"line": 267,
"function": "getDirectoryListing",
"class": "OC\\Files\\Node\\Folder",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
"line": 59,
"function": "getChildren",
"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
"line": 108,
"function": "cacheDirectory",
"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
"type": "->",
"args": [
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
},
{
"__class__": "Sabre\\DAV\\PropFind"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "preloadCollection",
"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php",
"line": 46,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"preloadCollection",
[
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
]
},
{
"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "collectionPreloadNotifier",
"class": "OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1052,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"propFind",
[
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 984,
"function": "getPropertiesByNode",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Sabre\\DAV\\PropFind"
},
{
"__class__": "OCA\\DAV\\Files\\FilesHome"
}
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1664,
"function": "getPropertiesIteratorForPath",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
"files/jeroen",
[
"{DAV:}getcontentlength",
"{DAV:}getcontenttype",
"{DAV:}getetag",
"{DAV:}getlastmodified",
"{DAV:}creationdate",
"And 33 more entries, set log level to debug to see all entries"
],
1
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 1649,
"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",
"http://owncloud.org/ns": "oc",
"http://nextcloud.org/ns": "nc"
},
"classMap": []
},
{
"__class__": "Generator"
},
false
]
},
{
"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
"line": 346,
"function": "generateMultiStatus",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Generator"
},
false
]
},
{
"file": "/var/www/html/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": "/var/www/html/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": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
"line": 216,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->",
"args": [
{
"__class__": "Sabre\\HTTP\\Request"
},
{
"__class__": "Sabre\\HTTP\\Response"
}
]
},
{
"file": "/var/www/html/apps/dav/lib/Server.php",
"line": 436,
"function": "start",
"class": "OCA\\DAV\\Connector\\Sabre\\Server",
"type": "->",
"args": []
},
{
"file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
"line": 25,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->",
"args": []
},
{
"file": "/var/www/html/remote.php",
"line": 158,
"args": [
"/var/www/html/apps/dav/appinfo/v2/remote.php"
],
"function": "require"
},
{
"file": "/var/www/html/lib/OC.php",
"line": 1397,
"function": "{closure:/var/www/html/remote.php:102}",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/remote.php",
"line": 102,
"function": "handleRequests",
"class": "OC",
"type": "::",
"args": [
{
"__class__": "Closure"
}
]
}
],
"File": "/var/www/html/custom_apps/richdocuments/vendor/phpseclib/phpseclib/phpseclib/Crypt/PublicKeyLoader.php",
"Line": 64
}
},
"message": "Error while getting quota info, using root quota",
"exception": "{\"class\":\"OCP\\Files\\StorageNotAvailableException\",\"message\":\"Unable to read key\",\"code\":0,\"file\":\"/var/www/html/lib/private/Files/Storage/FailedStorage.php:225\",\"trace\":\"#0 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(323): OC\\Files\\Storage\\FailedStorage->getAvailability()\\n#1 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(61): OC\\Files\\Storage\\Wrapper\\Wrapper->getAvailability()\\n#2 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(74): OC\\Files\\Storage\\Wrapper\\Availability->isAvailable()\\n#3 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(83): OC\\Files\\Storage\\Wrapper\\Availability->checkAvailability()\\n#4 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(217): OC\\Files\\Storage\\Wrapper\\Availability->handleAvailability('free_space', '')\\n#5 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(186): OC\\Files\\Storage\\Wrapper\\Availability->free_space('')\\n#6 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(186): OC\\Files\\Storage\\Wrapper\\Wrapper->free_space('')\\n#7 /var/www/html/lib/private/legacy/OC_Helper.php(231): OC\\Files\\Storage\\Wrapper\\Wrapper->free_space('')\\n#8 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(349): OC_Helper::getStorageInfo('/home-Jeroen', Object(OC\\Files\\Node\\Folder), false)\\n#9 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(770): OCA\\DAV\\Connector\\Sabre\\Directory->getQuotaInfo()\\n#10 /var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php(95): Sabre\\DAV\\CorePlugin->{closure:Sabre\\DAV\\CorePlugin::propFind():768}()\\n#11 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(768): Sabre\\DAV\\PropFind->handle('{DAV:}quota-ava...', Object(Closure))\\n#12 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->propFind(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Connector\\Sabre\\Directory))\\n#13 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#14 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Connector\\Sabre\\Directory))\\n#15 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/jeroen', Array, 1)\\n#16 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#17 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#18 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#19 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#20 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#21 /var/www/html/apps/dav/lib/Server.php(436): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#22 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#23 /var/www/html/remote.php(158): require('/var/www/html/a...')\\n#24 /var/www/html/lib/OC.php(1397): {closure:/var/www/html/remote.php:102}()\\n#25 /var/www/html/remote.php(102): OC::handleRequests(Object(Closure))\\n#26 {main}\",\"previous\":{\"class\":\"OCP\\Files\\StorageNotAvailableException\",\"message\":\"Unable to read key\",\"code\":0,\"file\":\"/var/www/html/lib/private/Files/Storage/FailedStorage.php:225\",\"trace\":\"#0 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(124): OC\\Files\\Storage\\FailedStorage->getAvailability()\\n#1 [internal function]: OCA\\Files_External\\Config\\ConfigAdapter->{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():122}(Object(OC\\Files\\Storage\\FailedStorage), Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#2 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(122): array_map(Object(Closure), Array, Array)\\n#3 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(144): OCA\\Files_External\\Config\\ConfigAdapter->getAvailableStorages(Array, Object(OC\\User\\User))\\n#4 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(62): OCA\\Files_External\\Config\\ConfigAdapter->getMountsForUser(Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#5 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(177): OC\\Files\\Config\\MountProviderCollection->getMountsFromProvider(Object(OCA\\Files_External\\Config\\ConfigAdapter), Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#6 /var/www/html/lib/private/Files/SetupManager.php(290): OC\\Files\\Config\\MountProviderCollection->addMountForUser(Object(OC\\User\\User), Object(OC\\Files\\Mount\\Manager), Object(Closure))\\n#7 /var/www/html/lib/private/Files/SetupManager.php(415): OC\\Files\\SetupManager->{closure:OC\\Files\\SetupManager::setupForUser():289}()\\n#8 /var/www/html/lib/private/Files/SetupManager.php(289): OC\\Files\\SetupManager->setupForUserWith(Object(OC\\User\\User), Object(Closure))\\n#9 /var/www/html/lib/private/Files/SetupManager.php(501): OC\\Files\\SetupManager->setupForUser(Object(OC\\User\\User))\\n#10 /var/www/html/lib/private/Files/Mount/Manager.php(116): OC\\Files\\SetupManager->setupForPath('/jeroen/files', true)\\n#11 /var/www/html/lib/private/Files/View.php(1577): OC\\Files\\Mount\\Manager->findIn('/jeroen/files')\\n#12 /var/www/html/lib/private/Files/Node/Folder.php(89): OC\\Files\\View->getDirectoryContent('/jeroen/files', NULL, Object(OC\\Files\\Node\\LazyUserFolder))\\n#13 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(267): OC\\Files\\Node\\Folder->getDirectoryListing()\\n#14 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(59): OCA\\DAV\\Connector\\Sabre\\Directory->getChildren()\\n#15 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(108): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->cacheDirectory(Object(OCA\\DAV\\Files\\FilesHome), Object(Sabre\\DAV\\PropFind))\\n#16 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->preloadCollection(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#17 /var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php(46): Sabre\\DAV\\Server->emit('preloadCollecti...', Array)\\n#18 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin->collectionPreloadNotifier(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#19 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#20 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#21 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/jeroen', Array, 1)\\n#22 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#23 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#24 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#25 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#26 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#27 /var/www/html/apps/dav/lib/Server.php(436): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#28 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#29 /var/www/html/remote.php(158): require('/var/www/html/a...')\\n#30 /var/www/html/lib/OC.php(1397): {closure:/var/www/html/remote.php:102}()\\n#31 /var/www/html/remote.php(102): OC::handleRequests(Object(Closure))\\n#32 {main}\",\"previous\":{\"class\":\"phpseclib3\\Exception\\NoKeyLoadedException\",\"message\":\"Unable to read key\",\"code\":0,\"file\":\"/var/www/html/custom_apps/richdocuments/vendor/phpseclib/phpseclib/phpseclib/Crypt/PublicKeyLoader.php:64\",\"trace\":\"#0 /var/www/html/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php(56): phpseclib3\\Crypt\\PublicKeyLoader::load(false, '')\\n#1 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(77): OCA\\Files_External\\Lib\\Auth\\PublicKey\\RSAPrivateKey->manipulateStorageConfig(Object(OCA\\Files_External\\Lib\\StorageConfig), Object(OC\\User\\User))\\n#2 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(82): OCA\\Files_External\\Config\\ConfigAdapter->prepareStorageConfig(Object(OCA\\Files_External\\Lib\\StorageConfig), Object(OC\\User\\User))\\n#3 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(111): OCA\\Files_External\\Config\\ConfigAdapter->constructStorageForUser(Object(OC\\User\\User), Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#4 [internal function]: OCA\\Files_External\\Config\\ConfigAdapter->{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():109}(Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#5 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(109): array_map(Object(Closure), Array)\\n#6 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(144): OCA\\Files_External\\Config\\ConfigAdapter->getAvailableStorages(Array, Object(OC\\User\\User))\\n#7 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(62): OCA\\Files_External\\Config\\ConfigAdapter->getMountsForUser(Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#8 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(177): OC\\Files\\Config\\MountProviderCollection->getMountsFromProvider(Object(OCA\\Files_External\\Config\\ConfigAdapter), Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#9 /var/www/html/lib/private/Files/SetupManager.php(290): OC\\Files\\Config\\MountProviderCollection->addMountForUser(Object(OC\\User\\User), Object(OC\\Files\\Mount\\Manager), Object(Closure))\\n#10 /var/www/html/lib/private/Files/SetupManager.php(415): OC\\Files\\SetupManager->{closure:OC\\Files\\SetupManager::setupForUser():289}()\\n#11 /var/www/html/lib/private/Files/SetupManager.php(289): OC\\Files\\SetupManager->setupForUserWith(Object(OC\\User\\User), Object(Closure))\\n#12 /var/www/html/lib/private/Files/SetupManager.php(501): OC\\Files\\SetupManager->setupForUser(Object(OC\\User\\User))\\n#13 /var/www/html/lib/private/Files/Mount/Manager.php(116): OC\\Files\\SetupManager->setupForPath('/jeroen/files', true)\\n#14 /var/www/html/lib/private/Files/View.php(1577): OC\\Files\\Mount\\Manager->findIn('/jeroen/files')\\n#15 /var/www/html/lib/private/Files/Node/Folder.php(89): OC\\Files\\View->getDirectoryContent('/jeroen/files', NULL, Object(OC\\Files\\Node\\LazyUserFolder))\\n#16 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(267): OC\\Files\\Node\\Folder->getDirectoryListing()\\n#17 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(59): OCA\\DAV\\Connector\\Sabre\\Directory->getChildren()\\n#18 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(108): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->cacheDirectory(Object(OCA\\DAV\\Files\\FilesHome), Object(Sabre\\DAV\\PropFind))\\n#19 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->preloadCollection(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#20 /var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php(46): Sabre\\DAV\\Server->emit('preloadCollecti...', Array)\\n#21 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin->collectionPreloadNotifier(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#22 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#23 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#24 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/jeroen', Array, 1)\\n#25 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#26 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#27 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#28 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#29 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#30 /var/www/html/apps/dav/lib/Server.php(436): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#31 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#32 /var/www/html/remote.php(158): require('/var/www/html/a...')\\n#33 /var/www/html/lib/OC.php(1397): {closure:/var/www/html/remote.php:102}()\\n#34 /var/www/html/remote.php(102): OC::handleRequests(Object(Closure))\\n#35 {main}\"}}}",
"CustomMessage": "Error while getting quota info, using root quota"
},
"id": "6ab41eeccec45"
}
Additional info
No response
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 716
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.
More from nextcloud/server
-
0. Needs triage 35-feedback bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
3. to review
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
0. Needs triage 33-feedback bug feature: dashboard feature: files feature: theming needs info
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
0. Needs triage bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
.htaccess whitelist missing .json/.ftl → files_pdfviewer locale 404s, PDF viewer stuck in English Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
All issues in nextcloud/server
Similar issues
-
Solved site promotion gate fails on runner PHP patch drift (expects 8.2.33, runner installs 8.2.34) Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Automattic/blocks-engine#2161 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Automattic/static-site-importer#1824 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
0. Needs triage bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100