nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.57k stars 4.08k forks source link

[Bug]: Sharing links with null labels still broken after upgrade to v30.0.2 #49548

Open fcharlaix-opendsi opened 5 days ago

fcharlaix-opendsi commented 5 days ago

⚠️ This issue respects the following points: ⚠️

Bug description

After an upgrade from 27.1.4 to 30.0.2, some public shares show an internal server error.

Steps to reproduce

  1. Have a public share before migrating from Nextcloud 27
  2. Upgrade to Nextcloud 30.0.2
  3. Open the public share

Expected behavior

Being able to see a public share without an internet server error.

Nextcloud Server version

30

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.2

Web server

Nginx

Database engine version

MariaDB

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

Upgraded to a MAJOR version (ex. 28 to 29)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

Configuration report

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "30.0.2.2",
        "overwrite.cli.url": "https:\/\/***REMOVED SENSITIVE VALUE***",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "trashbin_retention_obligation": "auto,30",
        "versions_retention_obligation": "auto,auto",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": "0"
        },
        "activity_expire_days": 735,
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "mail_smtpmode": "smtp",
        "mail_smtpport": "25",
        "mail_sendmailmode": "smtp",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "default_language": "fr",
        "default_locale": "fr",
        "skeletondirectory": "\/var\/www\/datasnextcloud\/skel",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "default_phone_region": "FR",
        "theme": "",
        "loglevel": 3,
        "installed": true,
        "upgrade.disable-web": true,
        "maintenance": false,
        "app_install_overwrite": [
            "user_saml",
            "automaticdeletion",
            "rgpddeletion"
        ],
        "enabledPreviewProviders": [
            "OC\\Preview\\BMP",
            "OC\\Preview\\GIF",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\MP3",
            "OC\\Preview\\PNG",
            "OC\\Preview\\TXT",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\Krita"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "htaccess.RewriteBase": "\/",
        "htaccess.IgnoreFrontController": true,
        "mail_smtpsecure": "",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": true,
                "verify_peer": false,
                "verify_peer_name": false
            }
        },
        "mail_smtpdebug": false,
        "maintenance_window_start": 1
    }
}

List of activated Apps

Enabled:
  - activity: 3.0.0
  - app_api: 4.0.0
  - bruteforcesettings: 3.0.0
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contactsinteraction: 1.11.0
  - dav: 1.31.1
  - external: 5.5.2
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_downloadlimit: 3.0.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - groupfolders: 18.0.6
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - nextcloud_announcements: 2.0.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - password_policy: 2.0.0
  - photos: 3.0.2
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - rgpddeletion: 27.0.0
  - richdocuments: 8.5.2
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - text: 4.1.0
  - theming: 2.5.0
  - twofactor_backupcodes: 1.19.0
  - updatenotification: 1.20.0
  - user_ldap: 1.21.0
  - user_saml: 6.3.0
  - viewer: 3.0.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Disabled:
  - admin_audit: 1.20.0
  - automaticdeletion: 27.0.2 (installed 27.0.2)
  - circles: 30.0.0 (installed 23.0.1)
  - dashboard: 7.10.0 (installed 7.1.0)
  - encryption: 2.18.0
  - files_accesscontrol: 1.20.1 (installed 1.20.1)
  - files_external: 1.22.0
  - files_rightclick: 1.6.0 (installed 1.6.0)
  - firstrunwizard: 3.0.0 (installed 2.11.0)
  - support: 2.0.0 (installed 1.5.0)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0
  - twofactor_totp: 12.0.0-dev
  - user_status: 1.10.0 (installed 1.1.1)
  - weather_status: 1.10.0 (installed 1.1.0)

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

{
    "reqId": "x0DfM8jBveWXky4Pfpel",
    "level": 3,
    "time": "2024-11-28T14:13:02+00:00",
    "remoteAddr": "***REMOVED SENSITIVE VALUE***",
    "user": "--",
    "app": "index",
    "method": "GET",
    "url": "/s/***REMOVED SENSITIVE VALUE***",
    "message": "OCP\\AppFramework\\Http\\Template\\PublicTemplateResponse::setHeaderTitle(): Argument #1 ($title) must be of type string, null given, called in /var/www/nextcloud/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php on line 235 in file '/var/www/nextcloud/lib/public/AppFramework/Http/Template/PublicTemplateResponse.php' line 45",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0",
    "version": "30.0.2.2",
    "exception": {
        "Exception": "Exception",
        "Message": "OCP\\AppFramework\\Http\\Template\\PublicTemplateResponse::setHeaderTitle(): Argument #1 ($title) must be of type string, null given, called in /var/www/nextcloud/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php on line 235 in file '/var/www/nextcloud/lib/public/AppFramework/Http/Template/PublicTemplateResponse.php' line 45",
        "Code": 0,
        "Trace": [
            {
                "file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
                "line": 161,
                "function": "dispatch",
                "class": "OC\\AppFramework\\Http\\Dispatcher",
                "type": "->"
            },
            {
                "file": "/var/www/nextcloud/lib/private/Route/Router.php",
                "line": 302,
                "function": "main",
                "class": "OC\\AppFramework\\App",
                "type": "::"
            },
            {
                "file": "/var/www/nextcloud/lib/base.php",
                "line": 1001,
                "function": "match",
                "class": "OC\\Route\\Router",
                "type": "->"
            },
            {
                "file": "/var/www/nextcloud/index.php",
                "line": 24,
                "function": "handleRequest",
                "class": "OC",
                "type": "::"
            }
        ],
        "File": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
        "Line": 146,
        "Previous": {
            "Exception": "TypeError",
            "Message": "OCP\\AppFramework\\Http\\Template\\PublicTemplateResponse::setHeaderTitle(): Argument #1 ($title) must be of type string, null given, called in /var/www/nextcloud/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php on line 235",
            "Code": 0,
            "Trace": [
                {
                    "file": "/var/www/nextcloud/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php",
                    "line": 235,
                    "function": "setHeaderTitle",
                    "class": "OCP\\AppFramework\\Http\\Template\\PublicTemplateResponse",
                    "type": "->"
                },
                {
                    "file": "/var/www/nextcloud/apps/files_sharing/lib/Controller/ShareController.php",
                    "line": 308,
                    "function": "renderPage",
                    "class": "OCA\\Files_Sharing\\DefaultPublicShareTemplateProvider",
                    "type": "->"
                },
                {
                    "file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
                    "line": 208,
                    "function": "showShare",
                    "class": "OCA\\Files_Sharing\\Controller\\ShareController",
                    "type": "->"
                },
                {
                    "file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
                    "line": 114,
                    "function": "executeController",
                    "class": "OC\\AppFramework\\Http\\Dispatcher",
                    "type": "->"
                },
                {
                    "file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
                    "line": 161,
                    "function": "dispatch",
                    "class": "OC\\AppFramework\\Http\\Dispatcher",
                    "type": "->"
                },
                {
                    "file": "/var/www/nextcloud/lib/private/Route/Router.php",
                    "line": 302,
                    "function": "main",
                    "class": "OC\\AppFramework\\App",
                    "type": "::"
                },
                {
                    "file": "/var/www/nextcloud/lib/base.php",
                    "line": 1001,
                    "function": "match",
                    "class": "OC\\Route\\Router",
                    "type": "->"
                },
                {
                    "file": "/var/www/nextcloud/index.php",
                    "line": 24,
                    "function": "handleRequest",
                    "class": "OC",
                    "type": "::"
                }
            ],
            "File": "/var/www/nextcloud/lib/public/AppFramework/Http/Template/PublicTemplateResponse.php",
            "Line": 45
        },
        "message": "OCP\\AppFramework\\Http\\Template\\PublicTemplateResponse::setHeaderTitle(): Argument #1 ($title) must be of type string, null given, called in /var/www/nextcloud/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php on line 235 in file '/var/www/nextcloud/lib/public/AppFramework/Http/Template/PublicTemplateResponse.php' line 45",
        "exception": {},
        "CustomMessage": "OCP\\AppFramework\\Http\\Template\\PublicTemplateResponse::setHeaderTitle(): Argument #1 ($title) must be of type string, null given, called in /var/www/nextcloud/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php on line 235 in file '/var/www/nextcloud/lib/public/AppFramework/Http/Template/PublicTemplateResponse.php' line 45"
    }
}

Additional info

This is the same as #48629, this should be fixed by #48673 but is still occurring.

We have around 300 share with a null label :

MariaDB [nextcloud]> SELECT count(1) FROM oc_share WHERE label IS null AND token IS NOT null;
+----------+
| count(1) |
+----------+
|      284 |
+----------+
1 row in set (0,013 sec)

This fix work, but this should not need a manual intervention.

joshtrichards commented 1 day ago

Hmm. Maybe still some differences depending on share type/provider?