[Bug]: Folder Not Found - Error 404 on some folders (randomly)
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
⚠️ This issue respects the following points: ⚠️
- This is a bug, not a question or a configuration/webserver/proxy issue.
- This issue is not already reported on Github OR Nextcloud Community Forum (I've searched it).
- Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- I agree to follow Nextcloud's Code of Conduct.
Bug description
We user browser to his folders in nextcloud web, sometime some folders display following error :
"Folder not found : retry".
After several refresh are browsing back and again to the folder, it displays his content instead of this error.
Steps to reproduce
- Open folder in nextcloud web ui (randomly)
- "Folder not found : retry" error is displayed.
Expected behavior
Folder should display his content instead of this error.
Nextcloud Server version
30
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.2
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?
None
What user-backends are you using?
- Default user-backend (database)
- LDAP/ Active Directory
- SSO - SAML
- Other
Configuration report
{
"system": {
"installed": "true",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"nextcloud.domain.name"
],
"overwrite.cli.url": "https:\/\/nextcloud.domain.name",
"overwriteprotocol": "",
"version": "30.0.8.1",
"debug": false,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"config_is_read_only": "true",
"skeletondirectory": "",
"updatechecker": "false",
"updater.server.url": "***REMOVED SENSITIVE VALUE***",
"updater.release.channel": "stable",
"upgrade.disable-web": true,
"sharing.maxAutocompleteResults": 10,
"sharing.minSearchStringLength": 2,
"trashbin_retention_obligation": "30,60",
"versions_retention_obligation": "auto,365",
"activity_expire_days": 30,
"check_for_working_wellknown_setup": false,
"default_phone_region": "FR",
"log_type": "errorlog",
"log_type_audit": "errorlog",
"auth.bruteforce.protection.enabled": false,
"ratelimit.protection.enabled": false,
"memcache.local": "\\OC\\Memcache\\APCu",
"apps_paths": [
{
"path": "\/usr\/src\/nextcloud\/apps",
"url": "\/apps",
"writable": false
}
],
"default_language": "fr",
"default_locale": "fr",
"enable_previews": false,
"preview_format": "webp",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"objectstore": {
"class": "\\OC\\Files\\ObjectStore\\S3",
"arguments": {
"bucket": "nextcloud",
"autocreate": false,
"uploadPartSize": 124288000,
"key": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"region": "default",
"hostname": "minio.domain.name",
"port": "443",
"use_ssl": true,
"use_path_style": true
}
},
"mail_smtpmode": "smtp",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpsecure": "tls",
"mail_smtpauth": true,
"mail_smtpauthtype": "LOGIN",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"appstoreenabled": false,
"dbtableprefix": "",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"dbport": "5432",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"dbname": "***REMOVED SENSITIVE VALUE***"
}
}
List of activated Apps
Enabled:
- activity: 3.0.0
- admin_audit: 1.20.0
- app_api: 4.0.6
- bruteforcesettings: 3.0.0
- circles: 30.0.0
- cloud_federation_api: 1.13.0
- collectives: 2.16.1
- comments: 1.20.1
- contacts: 7.0.5
- contactsinteraction: 1.11.0
- dav: 1.31.1
- deck: 1.14.4
- drawio: 3.0.9
- external: 5.5.2
- federatedfilesharing: 1.20.0
- federation: 1.20.0
- files: 2.2.0
- files_downloadlimit: 3.0.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
- files_versions_s3: 1.1.0
- forms: 4.3.12
- liiibre: 1.0.0
- lookup_server_connector: 1.18.0
- notifications: 3.0.0
- oauth2: 1.18.1
- onlyoffice: 9.8.0
- passwords: 2025.4.10
- polls: 7.4.2
- privacy: 2.0.0
- provisioning_api: 1.20.0
- recommendations: 3.0.0
- related_resources: 1.5.0
- settings: 1.13.0
- sharebymail: 1.20.0
- systemtags: 1.20.0
- tasks: 0.16.1
- text: 4.1.0
- theming: 2.6.0
- theming_customcss: 1.18.0
- twofactor_backupcodes: 1.19.0
- user_saml: 6.5.0
- viewer: 3.0.0
- webhook_listeners: 1.1.0-dev
- workflowengine: 2.12.0
Nextcloud Signing status
Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.
Results
=======
- core
- INVALID_HASH
- core/img/favicon.ico
- core/img/logo/logo.png
- core/img/logo/logo.svg
- lib/private/Notification/Manager.php
- EXTRA_FILE
- lib/private/Notification/Manager.php.orig
- notifications
- INVALID_HASH
- lib/Push.php
- EXTRA_FILE
- lib/Push.php.orig
- theming
- INVALID_HASH
- lib/Util.php
- EXTRA_FILE
- lib/Util.php.orig
- onlyoffice
- INVALID_HASH
- lib/Controller/CallbackController.php
- lib/Controller/EditorController.php
- lib/DirectEditor.php
- EXTRA_FILE
- lib/Controller/CallbackController.php.orig
- lib/Controller/EditorController.php.orig
- lib/DirectEditor.php.orig
- user_saml
- INVALID_HASH
- lib/SAMLSettings.php
- EXTRA_FILE
- lib/SAMLSettings.php.orig
Raw output
==========
Array
(
[core] => Array
(
[INVALID_HASH] => Array
(
[core/img/favicon.ico] => Array
(
[expected] => 108063e89ca2f5cbcaa07a487a7a1266797ec6db197dc4e39289dce4101f0d192e171e033d0884055a0cb5775026e21935c5cd9710e8e745bbb819a53570438f
[current] => 28440b3f313b8fa565c1a4302be20313032fcf4181245b5cc3734eae24160b97a4df43a38ca9e76f0f8887171d3337ca15d5376a53a1d5a7e0670397c2d584d4
)
[core/img/logo/logo.png] => Array
(
[expected] => 2ab8f36274675387ff43083c88e35385701852ef62f75d5bfe6da0fcae38c7b7ed92eb7a2245d4970f0c2c9194acf7217ffdbf248d98a9000ba45cefde9cafa7
[current] => 1fa3b538503febe9ccaad50362230dc69b80cfb1b240b62864e1eeb737268ac679cc8e2d4e5c14d70e5e2a2891e30014c7767a10b5cd516f9a6d0624ef5b6ecc
)
[core/img/logo/logo.svg] => Array
(
[expected] => 29a51bdf4998f28bc190d29dda9d9ca9368d8a2295cf06d3fc8e20e49f280d5bb57cb8a83276e5dec050cc4d9fde6a817802b10f19a148d06a38f4d44fa80b80
[current] => b9dfb3f537e5576a2ee1e82aaafc06aa9467dfe6cda96eb6b6f17ee615e36d8c44be58bd8b192902ae129db7c0f4e1b31cfd8c00172953a4c75352af6c38dbf7
)
[lib/private/Notification/Manager.php] => Array
(
[expected] => 0b4b9ac99d2b40da071b6fe0e3675aaf3a747b6b1f8e9a61440bd6744def28798a190b0a0beb6de6fb979ae050eecfea181d33c252992674ff57110def1fa14e
[current] => d1795e4aedd3a5415e7329225eaff1413424b4bc3a6c691a204bfdb734be2e3af1d3319bcb5351414872860bd1c30bddbd930b36fd4981b69c6690c6d1afe3ad
)
)
[EXTRA_FILE] => Array
(
[lib/private/Notification/Manager.php.orig] => Array
(
[expected] =>
[current] => 0b4b9ac99d2b40da071b6fe0e3675aaf3a747b6b1f8e9a61440bd6744def28798a190b0a0beb6de6fb979ae050eecfea181d33c252992674ff57110def1fa14e
)
)
)
[notifications] => Array
(
[INVALID_HASH] => Array
(
[lib/Push.php] => Array
(
[expected] => cdcd50ca3bb06640ff51643d5019cf33924abca89449235509ef4f4bd8a4526ca2f326abd094044652714f11ac8fc8b81816f326bfd11840c6507b8153fff52b
[current] => 6f4faccde800b0b2ebc7ba55a1abd722c9066b3c97a9aae058283889159cc22dd01f20d8ae2ccc4f146ebe6b2ae1b50b92ca6ec90fe3512a9e8d05f4e08a2f52
)
)
[EXTRA_FILE] => Array
(
[lib/Push.php.orig] => Array
(
[expected] =>
[current] => cdcd50ca3bb06640ff51643d5019cf33924abca89449235509ef4f4bd8a4526ca2f326abd094044652714f11ac8fc8b81816f326bfd11840c6507b8153fff52b
)
)
)
[theming] => Array
(
[INVALID_HASH] => Array
(
[lib/Util.php] => Array
(
[expected] => 76b5ffbb374cb34be0e6ad06996ac69f8dd56a978214a75c0542ee296d34ea5caebaa663f40a79b3202f16bbe65cca9cde1d7dc3d29bb896c5a24d91ef21c09e
[current] => 16cd672ff4e0f9a0fec6d71bfb8355c855b95d6cd831bb7b30612425a8787114da867d37d268461d9188d53ceab67f74fd2d5ed808dd895b8ed8e06b3d399fb7
)
)
[EXTRA_FILE] => Array
(
[lib/Util.php.orig] => Array
(
[expected] =>
[current] => 76b5ffbb374cb34be0e6ad06996ac69f8dd56a978214a75c0542ee296d34ea5caebaa663f40a79b3202f16bbe65cca9cde1d7dc3d29bb896c5a24d91ef21c09e
)
)
)
[onlyoffice] => Array
(
[INVALID_HASH] => Array
(
[lib/Controller/CallbackController.php] => Array
(
[expected] => f1b16ee6e231b80317123ddc30a3c6fc199da0622915283932bfe2465bc167f58dc5ae1b72feeb63cdee21db21f4204e964b96c2ddace0480b3f36a2d8f6ef24
[current] => 33643a6d12f64476a36e81d401a7fcfa887a37c56cd69dd2f86fe2456402baa74e04bb1634c5864596457215823f2b0392a9aa2da82dbf02a04029cfea110626
)
[lib/Controller/EditorController.php] => Array
(
[expected] => 5721f5411bdd5d2fdc794e0335adb4130e6ded010924f776bd6f7e0e1eb7e17227f55a8e5ca6025e52669cb1c26364d760e259ce4989577b65f92a1fa916fb4b
[current] => ec1707b8c45a5484a652b82114f888664e604a871510afe0f5bdeed9b8a710ca2cc7f06718cd72e1d76650eadecf03bc4fdce16ad130cd0eb48a85bf5b518b74
)
[lib/DirectEditor.php] => Array
(
[expected] => 58ea1d43197b987ed3ea0b648397b29ec3b44f3c38f3fd45947d0abe3859cd5b17ad335d95ef2958dd1a865f249286487d5bb7b1ea144b43e45918ccb9a477f1
[current] => ba72203b9645b46fae26591b08e1ce7c6ae5528d214d1714cd0ee1c9c3105369f38fdab2ccb9d570553fd4ae25443da66af66f729e6dce130282346a6defd7e5
)
)
[EXTRA_FILE] => Array
(
[lib/Controller/CallbackController.php.orig] => Array
(
[expected] =>
[current] => f1b16ee6e231b80317123ddc30a3c6fc199da0622915283932bfe2465bc167f58dc5ae1b72feeb63cdee21db21f4204e964b96c2ddace0480b3f36a2d8f6ef24
)
[lib/Controller/EditorController.php.orig] => Array
(
[expected] =>
[current] => 5721f5411bdd5d2fdc794e0335adb4130e6ded010924f776bd6f7e0e1eb7e17227f55a8e5ca6025e52669cb1c26364d760e259ce4989577b65f92a1fa916fb4b
)
[lib/DirectEditor.php.orig] => Array
(
[expected] =>
[current] => 58ea1d43197b987ed3ea0b648397b29ec3b44f3c38f3fd45947d0abe3859cd5b17ad335d95ef2958dd1a865f249286487d5bb7b1ea144b43e45918ccb9a477f1
)
)
)
[user_saml] => Array
(
[INVALID_HASH] => Array
(
[lib/SAMLSettings.php] => Array
(
[expected] => 764d8866372b6c2de331bb7711d0c4ff9da7f344d4060081743a00b80637784d302d34f296af1a863ce89c55b160a0640499ed2d2e599f3b1538365a7f838935
[current] => 41daec0e86c6bc4bd5b95bc3d67e9d97d1523a376326d763372d78a3d256b10bf08fdafcf304ad6ddc98bc277073614b169983b03e630b82c8fe17d87f90c51f
)
)
[EXTRA_FILE] => Array
(
[lib/SAMLSettings.php.orig] => Array
(
[expected] =>
[current] => 764d8866372b6c2de331bb7711d0c4ff9da7f344d4060081743a00b80637784d302d34f296af1a863ce89c55b160a0640499ed2d2e599f3b1538365a7f838935
)
)
)
)
Nextcloud Logs
90.1.150.226 - - [03/Jul/2025:12:16:02 +0000] "PROPFIND /remote.php/dav/files/user/PathToFolder/Folder/ HTTP/1.1" 499 0 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0" "90.1.150.226"
90.1.150.226 - - [03/Jul/2025:12:16:02 +0000] "GET /ocs/v2.php/apps/text/workspace?path=%PathToFolder%2FFolder HTTP/1.1" 404 140 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0" "90.1.150.226"
90.1.150.226 - - [03/Jul/2025:12:16:11 +0000] "PROPFIND /remote.php/dav/files/user/PathToFolder/Folder/ HTTP/1.1" 499 0 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0" "90.1.150.226"
Additional info
Web Logs
A setting with the same name is already registered [Settings.js:24:11](webpack:///nextcloud/apps/files/src/services/Settings.js)
register Settings.js:24
render main.js:39
mounted FilesListHeader.vue:41
VueJS 18
init vue-router.esm.js:3005
init vue-router.esm.js:3004
updateRoute vue-router.esm.js:2414
transitionTo vue-router.esm.js:2263
confirmTransition vue-router.esm.js:2402
a vue-router.esm.js:2084
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2396
a vue-router.esm.js:2084
a vue-router.esm.js:2088
_ vue-router.esm.js:2384
g vue-router.esm.js:2162
_ vue-router.esm.js:2362
a vue-router.esm.js:2087
a vue-router.esm.js:2091
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2392
transitionTo vue-router.esm.js:2260
push vue-router.esm.js:2606
push vue-router.esm.js:3039
push router.ts:11
y vue-router.esm.js:1139
click NcButton.mjs:232
VueJS 33
XHRPROPFIND
https://nextcloud.domain.name/remote.php/dav/files/user/user/PathToFolder/Folder/
NS_BINDING_ABORTED
XHRPROPFIND
https://nextcloud.domain.name/remote.php/dav/files/user/PathToFolder/Folder/
[HTTP/2 404 123ms]
Uncaught (in promise) Error: Invalid response: 404
nt index.js:2
at index.js:2
Ot index.js:2
promise callback*jt index.js:2
Ot index.js:2
Ot index.js:2
getDirectoryContents index.js:2
Y Files.ts:17
s CancelablePromise.js:82
e CancelablePromise.js:81
n CancelablePromise.js:30
r CancelablePromise.js:191
Y Files.ts:14
E FileListFilterAccount.vue:63
setup FileListFilterAccount.vue:113
VueJS 5
setup FileListFilterAccount.vue:108
VueJS 5
mount AccountFilter.ts:18
setup FileListFilters.vue:16
setup FileListFilters.vue:16
VueJS 14
init vue-router.esm.js:3005
init vue-router.esm.js:3004
updateRoute vue-router.esm.js:2414
transitionTo vue-router.esm.js:2263
confirmTransition vue-router.esm.js:2402
a vue-router.esm.js:2084
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2396
a vue-router.esm.js:2084
a vue-router.esm.js:2088
_ vue-router.esm.js:2384
g vue-router.esm.js:2162
_ vue-router.esm.js:2362
a vue-router.esm.js:2087
a vue-router.esm.js:2091
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2392
transitionTo vue-router.esm.js:2260
push vue-router.esm.js:2606
push vue-router.esm.js:3039
push router.ts:11
y vue-router.esm.js:1139
click NcButton.mjs:232
[index.js:2:80654](webpack:///nextcloud/node_modules/webdav/dist/web/index.js)
E FileListFilterAccount.vue:63
AsyncFunctionThrow self-hosted:804
(Asynchrone : async)
setup FileListFilterAccount.vue:113
VueJS 5
setup FileListFilterAccount.vue:108
VueJS 5
mount AccountFilter.ts:18
setup FileListFilters.vue:16
forEach self-hosted:157
setup FileListFilters.vue:16
VueJS 14
init vue-router.esm.js:3005
forEach self-hosted:157
init vue-router.esm.js:3004
updateRoute vue-router.esm.js:2414
transitionTo vue-router.esm.js:2263
confirmTransition vue-router.esm.js:2402
a vue-router.esm.js:2084
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2396
a vue-router.esm.js:2084
a vue-router.esm.js:2088
_ vue-router.esm.js:2384
g vue-router.esm.js:2162
_ vue-router.esm.js:2362
a vue-router.esm.js:2087
a vue-router.esm.js:2091
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2392
transitionTo vue-router.esm.js:2260
push vue-router.esm.js:2606
push vue-router.esm.js:3039
push router.ts:11
y vue-router.esm.js:1139
click NcButton.mjs:232
[ERROR] files: Error while fetching content
Object { app: "files", uid: "alexis", level: 2, error: Error }
index.mjs:54:16
log index.mjs:54
error index.mjs:72
fetchContent FilesList.vue:384
VueJS 4
onClick BreadCrumbs.vue:133
click BreadCrumbs.vue:1
VueJS 31
init vue-router.esm.js:3005
init vue-router.esm.js:3004
updateRoute vue-router.esm.js:2414
transitionTo vue-router.esm.js:2263
confirmTransition vue-router.esm.js:2402
a vue-router.esm.js:2084
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2396
a vue-router.esm.js:2084
a vue-router.esm.js:2088
_ vue-router.esm.js:2384
g vue-router.esm.js:2162
_ vue-router.esm.js:2362
a vue-router.esm.js:2087
a vue-router.esm.js:2091
Ce vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2392
transitionTo vue-router.esm.js:2260
push vue-router.esm.js:2606
push vue-router.esm.js:3036
push vue-router.esm.js:3035
push router.ts:13
goToRoute RouterService.ts:38
404 PROPFIND answer
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotFound</s:exception>
<s:message>File with name //Projets could not be located</s:message>
</d:error>
We have this error since the upgrade from 27 to 28. Then we upgraded to 29 and then 30, and the issue is still there.
Specific config :
- S3 versionning with MinIO.
- Nextcloud in kubernetes.
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
No source file, test, log trace, or stable folder path is provided. Begin by reproducing the intermittent web UI 404 with the reported Nextcloud 30, PHP 8.2, Nginx, PostgreSQL, S3, and SAML setup, then trace the failing request; done requires a confirmed cause and a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nginx, php, postgresql
- Domain
- backend, databases, frontend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100