Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can't delete directory #1965

Closed
zwotzie opened this issue Oct 31, 2016 · 6 comments · Fixed by #1972
Closed

can't delete directory #1965

zwotzie opened this issue Oct 31, 2016 · 6 comments · Fixed by #1972

Comments

@zwotzie
Copy link

zwotzie commented Oct 31, 2016

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>

@nickvergessen
Copy link
Member

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

@zwotzie
Copy link
Author

zwotzie commented Oct 31, 2016

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

@nickvergessen
Copy link
Member

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

@zwotzie
Copy link
Author

zwotzie commented Oct 31, 2016

i guess this was happening:

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

@nickvergessen
Copy link
Member

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

@zwotzie
Copy link
Author

zwotzie commented Oct 31, 2016

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

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

Successfully merging a pull request may close this issue.

3 participants