Skip to content

Error deleting own File/Folder created in Fed.Share with enabled "files_tashbin" #21314

Closed

Description

Steps to reproduce

  1. Have two clouds, CloudA.exampleA.com and CloudB.exampleB.com
  2. Have one local user per Cloud (testCloudA in CloudA, testCloudB in CloudB)
  3. Login as testCloudA in CloudA.exampleA.com
  4. Create a new Folder ("fedShareTest"), share it to testCloudB@CloudB.example.com with federated sharing (NOT email)
  5. Login as testCloudB in CloudB.exampleB.com
  6. Accept the share from testCloudA@CloudA.exampleA.com
  7. Go into the share
  8. Create a new folder and a new file
  9. Try to delete the folder and the file

Expected behaviour

The folder and the file are deleted

Actual behaviour

Error Message appears "Error deleting file..."
Notice Exception in Admin/Logging in CloudB.exampleB.com:

[webdav] Fatal: OC\User\NoUserException: Backends provided no user object at <<closure>>

 0. <<closure>>
    OC\Files\Node\Root->getUserFolder("testCloudA@cloudA.exampleA.com/")
 1. /var/www/clients/client9/web130/sub/cloud/lib/private/Files/Node/LazyRoot.php line 65
    call_user_func_array([OC\Files\Node\Root {},"getUserFolder"], ["testCloudA@cloudA.exampleA.com/"])
 2. /var/www/clients/client9/web130/sub/cloud/lib/private/Files/Node/LazyRoot.php line 282
    OC\Files\Node\LazyRoot->__call("getUserFolder", ["testCloudA@cloudA.exampleA.com/"])
 3. /var/www/clients/client9/web130/sub/cloud/apps/files_trashbin/lib/Storage.php line 142
    OC\Files\Node\LazyRoot->getUserFolder("testCloudA@cloudA.exampleA.com/")
 4. /var/www/clients/client9/web130/sub/cloud/apps/files_trashbin/lib/Storage.php line 182
    OCA\Files_Trashbin\Storage->shouldMoveToTrash("TESTFOLDER")
 5. /var/www/clients/client9/web130/sub/cloud/apps/files_trashbin/lib/Storage.php line 119
    OCA\Files_Trashbin\Storage->doDelete("TESTFOLDER", "rmdir")
 6. /var/www/clients/client9/web130/sub/cloud/lib/private/Files/View.php line 1162
    OCA\Files_Trashbin\Storage->rmdir("TESTFOLDER")
 7. /var/www/clients/client9/web130/sub/cloud/lib/private/Files/View.php line 348
    OC\Files\View->basicOperation("rmdir", "/FedShareTest/TESTFOLDER", ["delete"])
 8. /var/www/clients/client9/web130/sub/cloud/apps/dav/lib/Connector/Sabre/Directory.php line 312
    OC\Files\View->rmdir("/FedShareTest/TESTFOLDER")
 9. /var/www/clients/client9/web130/sub/cloud/3rdparty/sabre/dav/lib/DAV/Tree.php line 179
    OCA\DAV\Connector\Sabre\Directory->delete()
10. /var/www/clients/client9/web130/sub/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 287
    Sabre\DAV\Tree->delete("files/testCloud ... R")
11. <<closure>>
    Sabre\DAV\CorePlugin->httpDelete(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
12. /var/www/clients/client9/web130/sub/cloud/3rdparty/sabre/event/lib/EventEmitterTrait.php line 105
    call_user_func_array([Sabre\DAV\CorePlugin {},"httpDelete"], [Sabre\HTTP\Requ ... }])
13. /var/www/clients/client9/web130/sub/cloud/3rdparty/sabre/dav/lib/DAV/Server.php line 479
    Sabre\Event\EventEmitter->emit("method:DELETE", [Sabre\HTTP\Requ ... }])
14. /var/www/clients/client9/web130/sub/cloud/3rdparty/sabre/dav/lib/DAV/Server.php line 254
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
15. /var/www/clients/client9/web130/sub/cloud/apps/dav/lib/Server.php line 319
    Sabre\DAV\Server->exec()
16. /var/www/clients/client9/web130/sub/cloud/apps/dav/appinfo/v2/remote.php line 35
    OCA\DAV\Server->exec()
17. /var/www/clients/client9/web130/sub/cloud/remote.php line 165
    require_once("/var/www/client ... p")

DELETE /remote.php/dav/files/testCloudB/FedShareTest/TESTFOLDER
from 80.187.104.254 by testCloudB at 2020-06-08T13:20:59+00:00

Back as user testCloudA in CloudA.examplA.com one can see the created file/folder in the shared folder. Here the file/folder can be deleted without any problems.
In CloudA.exampleA.com no single entry is in the logs.

After a bit more testing it turns out that the App "Deleted Files" (files_trashbin) seems to be the root of the problem. When I disable "Deleted Files" in CloudB.exampleB.com, the file/folder can be deleted in CloudB without any problem.

Server configuration detail (valid for both clouds)

Operating system: Linux 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64

Webserver: Apache/2.4.29 (Ubuntu) (fpm-fcgi)

Database: mysql 10.1.44

PHP version:

7.2.24-0ubuntu0.18.04.6
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, sodium, session, standard, cgi-fcgi, mysqlnd, PDO, xml, apcu, bz2, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, imagick, imap, intl, json, exif, memcache, mysqli, pdo_mysql, pdo_sqlite, Phar, posix, pspell, readline, recode, shmop, SimpleXML, soap, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xmlreader, xmlrpc, xmlwriter, xsl, zip, Zend OPcache

Nextcloud version: 18.0.4 - 18.0.4.2

Updated from an older Nextcloud/ownCloud or fresh install: fresh

Where did you install Nextcloud from: Downloaded from Website

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.4.0
 - activity: 2.11.0
 - cloud_federation_api: 1.1.0
 - comments: 1.8.0
 - dav: 1.14.0
 - federatedfilesharing: 1.8.0
 - federation: 1.8.0
 - files: 1.13.1
 - files_pdfviewer: 1.7.0
 - files_rightclick: 0.15.2
 - files_sharing: 1.10.1
 - files_trashbin: 1.8.0
 - files_versions: 1.11.0
 - files_videoplayer: 1.7.0
 - firstrunwizard: 2.7.0
 - issuetemplate: 0.6.0
 - logreader: 2.3.0
 - lookup_server_connector: 1.6.0
 - nextcloud_announcements: 1.7.0
 - notifications: 2.6.0
 - oauth2: 1.6.0
 - password_policy: 1.8.0
 - photos: 1.0.0
 - privacy: 1.2.0
 - provisioning_api: 1.8.0
 - recommendations: 0.6.0
 - serverinfo: 1.8.0
 - settings: 1.0.0
 - sharebymail: 1.8.0
 - support: 1.1.0
 - survey_client: 1.6.0
 - systemtags: 1.8.0
 - text: 2.0.0
 - theming: 1.9.0
 - twofactor_backupcodes: 1.7.0
 - updatenotification: 1.8.0
 - viewer: 1.2.0
 - workflowengine: 2.0.0
Disabled:
 - admin_audit
 - encryption
 - files_external
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
             ***REMOVED SENSITIVE VALUE***
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "18.0.4.2",
    "overwrite.cli.url": ***REMOVED SENSITIVE VALUE***,
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "loglevel": 2,
    "maintenance": false
}

Are you using external storage, if yes which one: no

Are you using encryption:

Are you using an external user-backend, if yes which one: none

Client configuration

Browser: Firefox / Chrome

Operating system: Ubuntu 20.04 / Windows 10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmapbugneeds infostaleTicket or PR with no recent activity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions