Skip to content

can't delete directory  #1965

Description

@zwotzie

Steps to reproduce

i have a script which transforms an project into static html. There was an failure in the script and it created a folder with an "\n" in the middle.

So the link would be something like:
https://nextcloud.td/index.php/apps/files?dir=/xxx%0Ayyy

The Nextcloud-Server 10.0.1 shows the path, but you can not rename or delete the folder.

Most problematic thing at all is that the behaviour of the client (testet on Windows 2.2.4 breaks the sync completely.

Expected behaviour

First: you should always rename or delete a folder or file.
Second: The sync should display the problem, but so sync all the rest.

Actual behaviour

Can't delete or rename the folder in the frontend.

Can delete the folder in user/files/ but the server don't remove the entries.

Sync-Client breaks.

Server configuration

Operating system:
Linux

Web server:
apache

Database:
mysql 5.5

PHP version:
php 5.5

Nextcloud version: (see Nextcloud admin page)
10.0.1

Updated from an older Nextcloud/ownCloud or fresh install:
fresh installation on a hosting server

Login as admin user into your Nextcloud and access 
http://example.com/index.php/settings/integrity/failed 
paste the results here.

No errors have been found.

The content of config/config.php:

Config report
{
    "system": {
        "instanceid": "ocwzn2u9mqmo",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "xyz.de"
        ],
        "datadirectory": "\/homepages\/htdocs\/nextcloud_data",
        "overwrite.cli.url": "https:\/\/xyz.de\/cloud",
        "dbtype": "mysql",
        "version": "9.1.1.5",
        "dbname": "db4",
        "dbhost": "db.com",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "Europe\/Berlin",
        "installed": true,
        "filesystem_check_changes": 1,
        "debug": false,
        "mail_from_address": "info",
        "mail_smtpmode": "php",
        "mail_domain": "xyz.de",
        "check_for_working_htaccess": true
    }
}


**Are you using external storage, if yes which one:** local/smb/sftp/...
no, only local attached storage

**Are you using encryption:** yes/no
no encryption

#### Nextcloud log (data/nextcloud.log)
<details>
<summary>Nextcloud log</summary>

Insert your Nextcloud log here

{"reqId":"WBcpsdmgP44AACt4uhsAAAAO","remoteAddr":"2a02:8071:278b:5200:2d5f:cf25:3193:d6","app":"webdav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 400 Der Dateiname enth\\u00e4lt mindestens ein ung\\u00fcltiges Zeichen\",\"Exception\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Exception\\\\InvalidPath\",\"Code\":0,\"Trace\":\"#0 \\\/homepages\\\/htdocs\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(903): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\ObjectTree->getNodeForPath('backups\\\/grundof...')\\n#1 \\\/homepages\\\/htdocs\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(334): Sabre\\\\DAV\\\\Server->getPropertiesForPath('backups\\\/grundof...', Array, 1)\\n#2 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPropFind(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#3 \\\/homepages\\\/14\\\/d541580074\\\/htdocs\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#4 \\\/homepages\\\/htdocs\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(459): Sabre\\\\Event\\\\EventEmitter->emit('method:PROPFIND', Array)\\n#5 \\\/homepages\\\/htdocs\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(248): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/homepages\\\/htdocs\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(60): Sabre\\\\DAV\\\\Server->exec()\\n#7 \\\/homepages\\\/htdocs\\\/nextcloud\\\/remote.php(165): require_once('\\\/homepages\\\/d...')\\n#8 {main}\",\"File\":\"\\\/homepages\\\/htdocs\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/ObjectTree.php\",\"Line\":129,\"User\":\"xxx\"}","level":4,"time":"2016-10-31T12:23:30+01:00","method":"PROPFIND","url":"\/cloud\/remote.php\/webdav\/img\/projekte\/2014-11%0A2014","user":"xxx"}
</details>

Activity

  1. nickvergessen commented on Oct 31, 2016

    @nickvergessen
    Member

    Is it possible to see the script which created the broken directory?

  2. zwotzie commented on Oct 31, 2016

    @zwotzie
    Author

    only fix for me:
    find the representation in the database and delete the coresponding fileid:
    delete from oc_filecache where fileid=76506;

  3. nickvergessen commented on Oct 31, 2016

    @nickvergessen
    Member

    Can you please provide the information, how you wrote your entry into the database?

  4. zwotzie commented on Oct 31, 2016

    @zwotzie
    Author

    i guess this was happening:

    #!/bin/bash
    touch xxx # or mkdir xxx
    move xxx "foo
    bar"

  5. nickvergessen commented on Oct 31, 2016

    @nickvergessen
    Member

    and then files:scan or how did you populate the file to Nextcloud?

  6. zwotzie commented on Oct 31, 2016

    @zwotzie
    Author

    created on datadir/nextclouduser/files/somewhere direct on the server . Then i do "nothing"... you can then see it in the browser and the sync-client tries to sync the "malnamed" folder and die

  7. added this to the Nextcloud 11.0 milestone on Nov 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions