Cannot upload to SFTP external storage: Backends provided no user object
还没有人认领这个 Issue。
评估
调研方向
从 apps/backup/lib/Service/ExternalFolderService.php 的第 385、452 和 543 行附近开始,沿着 apps/backup/lib/Service/UploadService.php 中的上传路径以及 apps/backup/lib/Cron/Manage.php 中的 cron 条目进行追踪。将此流程与 FileEventsListener.php 第 107、209 和 357 行的 files_versions listener 进行比较,然后重现 SFTP 上传失败,并验证 restore point 是否能够在不出现报告中的 NoUserException 的情况下完成上传。
由索引模型根据 Issue 内容生成。
描述
When trying to upload a restore point to a sftp external storage, the process crashes:
[files] Error: OC\User\NoUserException: Backends provided no user object at <<closure>>
0. <<closure>>
OC\Files\Node\Root->getUserFolder()
1. /var/www/nextcloud/lib/private/Files/Node/LazyFolder.php line 74
call_user_func_array()
2. /var/www/nextcloud/lib/private/Files/Node/LazyRoot.php line 40
OC\Files\Node\LazyFolder->__call()
3. /var/www/nextcloud/apps/files_versions/lib/Listener/FileEventsListener.php line 357
OC\Files\Node\LazyRoot->getUserFolder()
4. /var/www/nextcloud/apps/files_versions/lib/Listener/FileEventsListener.php line 209
OCA\Files_Versions\Listener\FileEventsListener->getPathForNode()
5. /var/www/nextcloud/apps/files_versions/lib/Listener/FileEventsListener.php line 107
OCA\Files_Versions\Listener\FileEventsListener->write_hook()
6. /var/www/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php line 86
OCA\Files_Versions\Listener\FileEventsListener->handle()
7. /var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 251
OC\EventDispatcher\ServiceEventListener->__invoke()
8. /var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 73
Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
9. /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php line 94
Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
10. /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php line 106
OC\EventDispatcher\EventDispatcher->dispatch()
11. /var/www/nextcloud/lib/private/Files/Node/HookConnector.php line 112
OC\EventDispatcher\EventDispatcher->dispatchTyped()
12. /var/www/nextcloud/lib/private/legacy/OC_Hook.php line 105
OC\Files\Node\HookConnector->write()
13. /var/www/nextcloud/lib/private/Files/View.php line 1252
OC_Hook::emit()
14. /var/www/nextcloud/lib/private/Files/View.php line 1126
OC\Files\View->runHooks()
15. /var/www/nextcloud/lib/private/Files/View.php line 670
OC\Files\View->basicOperation()
16. /var/www/nextcloud/lib/private/Files/Node/File.php line 73
OC\Files\View->file_put_contents()
17. /var/www/nextcloud/apps/backup/lib/Service/ExternalFolderService.php line 543
OC\Files\Node\File->putContent()
18. /var/www/nextcloud/apps/backup/lib/Service/ExternalFolderService.php line 452
OCA\Backup\Service\ExternalFolderService->updateMetadataFile("*** sensitive parameters replaced ***")
19. /var/www/nextcloud/apps/backup/lib/Service/ExternalFolderService.php line 385
OCA\Backup\Service\ExternalFolderService->createPoint("*** sensitive parameters replaced ***")
20. /var/www/nextcloud/apps/backup/lib/Service/UploadService.php line 318
OCA\Backup\Service\ExternalFolderService->confirmPoint()
21. /var/www/nextcloud/apps/backup/lib/Service/UploadService.php line 178
OCA\Backup\Service\UploadService->uploadToExternalFolder()
22. /var/www/nextcloud/apps/backup/lib/Cron/Manage.php line 149
OCA\Backup\Service\UploadService->uploadPoint()
23. /var/www/nextcloud/apps/backup/lib/Cron/Manage.php line 119
OCA\Backup\Cron\Manage->manage()
24. /var/www/nextcloud/lib/private/BackgroundJob/Job.php line 54
OCA\Backup\Cron\Manage->run()
25. /var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php line 60
OC\BackgroundJob\Job->execute()
26. /var/www/nextcloud/cron.php line 152
OC\BackgroundJob\TimedJob->execute()
at 2023-09-12T03:50:03+00:00
[files] Error: OC\User\NoUserException: Backends provided no user object at <<closure>>
0. <<closure>>
OC\Files\Node\Root->getUserFolder()
1. /var/www/nextcloud/lib/private/Files/Node/LazyFolder.php line 74
call_user_func_array()
2. /var/www/nextcloud/lib/private/Files/Node/LazyRoot.php line 40
OC\Files\Node\LazyFolder->__call()
3. /var/www/nextcloud/apps/files_versions/lib/Listener/FileEventsListener.php line 357
OC\Files\Node\LazyRoot->getUserFolder()
4. /var/www/nextcloud/apps/files_versions/lib/Listener/FileEventsListener.php line 209
OCA\Files_Versions\Listener\FileEventsListener->getPathForNode()
5. /var/www/nextcloud/apps/files_versions/lib/Listener/FileEventsListener.php line 107
OCA\Files_Versions\Listener\FileEventsListener->write_hook()
6. /var/www/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php line 86
OCA\Files_Versions\Listener\FileEventsListener->handle()
7. /var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 251
OC\EventDispatcher\ServiceEventListener->__invoke()
8. /var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 73
Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
9. /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php line 94
Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
10. /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php line 106
OC\EventDispatcher\EventDispatcher->dispatch()
11. /var/www/nextcloud/lib/private/Files/Node/HookConnector.php line 112
OC\EventDispatcher\EventDispatcher->dispatchTyped()
12. /var/www/nextcloud/lib/private/legacy/OC_Hook.php line 105
OC\Files\Node\HookConnector->write()
13. /var/www/nextcloud/lib/private/Files/View.php line 1252
OC_Hook::emit()
14. /var/www/nextcloud/lib/private/Files/View.php line 1126
OC\Files\View->runHooks()
15. /var/www/nextcloud/lib/private/Files/View.php line 670
OC\Files\View->basicOperation()
16. /var/www/nextcloud/lib/private/Files/Node/File.php line 73
OC\Files\View->file_put_contents()
17. /var/www/nextcloud/apps/backup/lib/Service/ExternalFolderService.php line 543
OC\Files\Node\File->putContent()
18. /var/www/nextcloud/apps/backup/lib/Service/ExternalFolderService.php line 452
OCA\Backup\Service\ExternalFolderService->updateMetadataFile("*** sensitive parameters replaced ***")
19. /var/www/nextcloud/apps/backup/lib/Service/ExternalFolderService.php line 385
OCA\Backup\Service\ExternalFolderService->createPoint("*** sensitive parameters replaced ***")
20. /var/www/nextcloud/apps/backup/lib/Service/UploadService.php line 318
OCA\Backup\Service\ExternalFolderService->confirmPoint()
21. /var/www/nextcloud/apps/backup/lib/Service/UploadService.php line 178
OCA\Backup\Service\UploadService->uploadToExternalFolder()
22. /var/www/nextcloud/apps/backup/lib/Cron/Manage.php line 149
OCA\Backup\Service\UploadService->uploadPoint()
23. /var/www/nextcloud/apps/backup/lib/Cron/Manage.php line 119
OCA\Backup\Cron\Manage->manage()
24. /var/www/nextcloud/lib/private/BackgroundJob/Job.php line 54
OCA\Backup\Cron\Manage->run()
25. /var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php line 60
OC\BackgroundJob\Job->execute()
26. /var/www/nextcloud/cron.php line 152
OC\BackgroundJob\TimedJob->execute()
at 2023-09-12T03:50:03+00:00
There are a little more details in the initial forum post I initially opened.
Nextcloud: 27.0.2
Backup: 1.2.0
The SFTP server is a Hetzner storage box, with login/username auth.
- 主要语言
- PHP
- 星标
- 272
- 派生
- 37
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
nextcloud/backup 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
-
难度 1/5 1 小时以内 新手友好度 70/100
-
Update to NX 32 未关闭
难度 3/5 1-2 天 新手友好度 35/100
-
Update to NX 30 未关闭
难度 3/5 1-2 天 新手友好度 35/100
-
难度 2/5 1-3 小时 新手友好度 45/100
相似的 Issue
-
tooling
难度 2/5 1-3 小时 新手友好度 75/100
-
UX
难度 2/5 1-3 小时 新手友好度 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
bug customer-reported
难度 2/5 1-3 小时 新手友好度 65/100
MagnaCapax/PMSS#949 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
Automattic/static-site-importer#1829 ·