nextcloud / nextcloud/server

[Bug]: File with UTF8 causing sync issues (Sieh dir das an … 👀.txt)

Open
#41,099 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 26-feedback bug feature: dav feature: filesystem hotspot: filename handling needs review
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
Bug description

Some Nextcloud version back a file Sieh dir das an … 👀.txt was created (notice the UTF8 eyes char).

This is now giving issues, and I am not able to delete it.
Neither via

  • Nextcloud web interface
  • Nexcloud Desktop Sync client on Mac

The file is displayed in the filesystem (xfs) as Sieh dir das an … 👀.txt
in the web interface, it is displayed as Sieh dir das an … ?

Upon deletion via the web interface, Nextcloud logs show HTTP 404:

2a02:1748:dd5d:4de0:dc91:b426:9d05:dddb - - [24/Oct/2023:21:31:30 +0000] "DELETE /remote.php/dav/files/xx@xx.at/Sieh%20dir%20das%20an%C2%A0%E2%80%A6%20%3F.txt HTTP/1.0" 404 864 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/119.0"
Steps to reproduce

Not sure - somehow the file Sieh dir das an … 👀.txt is there and cannot be removed.

Expected behavior
  1. Being able to manage such file.
  2. Being able to delete such file.
Installation method

Community Docker image

Nextcloud Server version

26

Operating system

Debian/Ubuntu

PHP engine version

None

Web server

Apache (supported)

Database engine version

MariaDB

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
"system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "version": "26.0.7.0",
        "installed": true,
        "dbtype": "mysql",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "forcessl": true,
        "blacklisted_files": [
            ".htaccess"
        ],
        "overwritehost": "",
        "overwriteprotocol": "https",
        "overwritewebroot": "",
        "overwritecondaddr": "",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.xxx.eu",
        ],
        "theme": "",
        "default_language": "en",
        "3rdpartyroot": "",
        "3rdpartyurl": "",
        "defaultapp": "files",
        "knowledgebaseenabled": true,
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "tls",
        "mail_smtpdebug": false,
        "mail_smtpmode": "smtp",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtptimeout": 10,
        "mail_smtpauthtype": "LOGIN",
        "memcached_server": [
            "www.xxx.eu",
            11211
        ],
        "trashbin_retention_obligation": "auto, 90",
        "versions_retention_obligation": "auto, 365",
        "allow_user_to_change_display_name": true,
        "appcodechecker": true,
        "updatechecker": false,
        "has_internet_connection": true,
        "check_for_working_webdav": true,
        "check_for_working_htaccess": true,
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "loglevel": 2,
        "logdateformat": "Y-m-d H:i:s",
        "logtimezone": "Europe\/Vienna",
        "log_query": false,
        "log_authfailip": false,
        "log_rotate_size": false,
        "remember_login_cookie_lifetime": 1296000,
        "session_lifetime": 86400,
        "session_keepalive": true,
        "xframe_restriction": true,
        "maintenance": false,
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "customclient_desktop": "",
        "customclient_android": "",
        "customclient_ios": "",
        "enable_previews": true,
        "preview_max_x": 1024,
        "preview_max_y": 1024,
        "preview_max_scale_factor": 1,
        "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
        "preview_office_cl_parameters": "",
        "enable_avatars": true,
        "openssl": [],
        "singleuser": false,
        "secret": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "overwrite.cli.url": "https:\/\/cloud.xxx.eu",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "dbindex": 0,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "updater.release.channel": "stable",
        "mysql.utf8mb4": true,
        "allow_local_remote_servers": true,
        "default_phone_region": "AT",
        "mail_smtpauth": 1,
        "mail_sendmailmode": "smtp",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***"
    }
}
List of activated Apps
Enabled:
  - activity: 2.18.0
  - admin_audit: 1.16.0
  - bruteforcesettings: 2.6.0
  - calendar: 4.5.2
  - checksum: 1.2.2
  - circles: 26.0.0
  - cloud_federation_api: 1.9.0
  - contacts: 5.4.2
  - contactsinteraction: 1.7.0
  - cookbook: 0.10.2
  - dashboard: 7.6.0
  - dav: 1.25.0
  - deck: 1.9.3
  - federatedfilesharing: 1.16.0
  - federation: 1.16.0
  - files: 1.21.1
  - files_markdown: 2.4.1
  - files_pdfviewer: 2.7.0
  - files_rightclick: 1.5.0
  - files_sharing: 1.18.0
  - files_trashbin: 1.16.0
  - files_versions: 1.19.1
  - firstrunwizard: 2.15.0
  - logreader: 2.11.0
  - lookup_server_connector: 1.14.0
  - nextcloud_announcements: 1.15.0
  - notes: 4.8.1
  - notifications: 2.14.0
  - oauth2: 1.14.1
  - onlyoffice: 7.9.2
  - password_policy: 1.16.0
  - phonetrack: 0.7.6
  - photos: 2.2.0
  - previewgenerator: 5.3.0
  - privacy: 1.10.0
  - provisioning_api: 1.16.0
  - recommendations: 1.5.0
  - related_resources: 1.1.0
  - serverinfo: 1.16.0
  - settings: 1.8.0
  - sharebymail: 1.16.0
  - spreed: 16.0.6
  - systemtags: 1.16.0
  - tasks: 0.15.0
  - text: 3.7.2
  - theming: 2.1.1
  - twofactor_backupcodes: 1.15.0
  - twofactor_totp: 8.0.0
  - unsplash: 2.2.1
  - updatenotification: 1.16.0
  - user_status: 1.6.0
  - viewer: 1.10.0
  - weather_status: 1.6.0
  - workflowengine: 2.8.0
Disabled:
  - comments: 1.16.0 (installed 1.9.0)
  - encryption: 2.14.0
  - files_external: 1.18.0
  - support: 1.9.0 (installed 1.2.1)
  - survey_client: 1.14.0 (installed 1.7.0)
  - suspicious_login: 4.4.0
  - user_ldap: 1.16.0
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
2a02:1748:dd5d:4de0:dc91:b426:9d05:dddb - - [24/Oct/2023:21:31:30 +0000] "DELETE /remote.php/dav/files/xx@xx.at/Sieh%20dir%20das%20an%C2%A0%E2%80%A6%20%3F.txt HTTP/1.0" 404 864 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/119.0"
Additional info

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is identified. Start with the WebDAV DELETE request in the log and compare how the exact UTF-8 filename is represented in the XFS filesystem, web interface, and request URL. Reproduce the failure on the reported Docker installation; done means the file can be managed and deleted through the web interface and Desktop Sync without a 404.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, docker, mariadb, php
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.