Skip to content

[Bug]: Rich workspace block page rendering when SAMBA mount missing Readme.md #6634

@vpecinka

Description

@vpecinka

⚠️ This issue respects the following points: ⚠️

Bug description

I have running NC 28.0.3 with Samba shares. As one of the users reported - I found that when "Show folder description" is enabled it stops rendering folder pages. In the console there is reported HTTP 500 status error.
image

On the server side I can see this reported here (note: the folder "odměňování" exists, it is Samba share, however "Readme.md" doesn't)

{
  "reqId": "ttAaixatvpjLMGDmUj4o",
  "level": 3,
  "time": "2024-03-28T11:35:28+00:00",
  "remoteAddr": "10.118.27.200",
  "user": "1E264CF5-550F-4B34-8E70-EC826BDCBFEB",
  "app": "webdav",
  "method": "PROPFIND",
  "url": "/remote.php/dav/files/1E264CF5-550F-4B34-8E70-EC826BDCBFEB/",
  "message": "Invalid request for /odměňování/Readme.md (InvalidArgumentException)",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.15",
  "version": "28.0.3.2",
  "exception": {
    "Exception": "Icewind\\SMB\\Exception\\InvalidArgumentException",
    "Message": "Invalid request for /odměňování/Readme.md (InvalidArgumentException)",
    "Code": 22,
    "Trace": [
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeState.php",
        "line": 75,
        "function": "fromMap",
        "class": "Icewind\\SMB\\Exception\\Exception",
        "type": "::"
      },
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeState.php",
        "line": 92,
        "function": "handleError",
        "class": "Icewind\\SMB\\Native\\NativeState",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeState.php",
        "line": 351,
        "function": "testResult",
        "class": "Icewind\\SMB\\Native\\NativeState",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeShare.php",
        "line": 305,
        "function": "getxattr",
        "class": "Icewind\\SMB\\Native\\NativeState",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeFileInfo.php",
        "line": 43,
        "function": "getAttribute",
        "class": "Icewind\\SMB\\Native\\NativeShare",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeFileInfo.php",
        "line": 69,
        "function": "stat",
        "class": "Icewind\\SMB\\Native\\NativeFileInfo",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Native/NativeShare.php",
        "line": 114,
        "function": "getSize",
        "class": "Icewind\\SMB\\Native\\NativeFileInfo",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php",
        "line": 201,
        "function": "stat",
        "class": "Icewind\\SMB\\Native\\NativeShare",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php",
        "line": 697,
        "function": "getFileInfo",
        "class": "OCA\\Files_External\\Lib\\Storage\\SMB",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line": 224,
        "function": "file_exists",
        "class": "OCA\\Files_External\\Lib\\Storage\\SMB",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line": 224,
        "function": "file_exists",
        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line": 224,
        "function": "file_exists",
        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/View.php",
        "line": 1330,
        "function": "file_exists",
        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/View.php",
        "line": 1374,
        "function": "getCacheEntry",
        "class": "OC\\Files\\View",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/Node/Root.php",
        "line": 203,
        "function": "getFileInfo",
        "class": "OC\\Files\\View",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/Node/Folder.php",
        "line": 135,
        "function": "get",
        "class": "OC\\Files\\Node\\Root",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/lib/private/Files/Node/Folder.php",
        "line": 144,
        "function": "get",
        "class": "OC\\Files\\Node\\Folder",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/text/lib/Service/WorkspaceService.php",
        "line": 26,
        "function": "nodeExists",
        "class": "OC\\Files\\Node\\Folder",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/text/lib/DAV/WorkspacePlugin.php",
        "line": 110,
        "function": "getFile",
        "class": "OCA\\Text\\Service\\WorkspaceService",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "propFind",
        "class": "OCA\\Text\\DAV\\WorkspacePlugin",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1052,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 984,
        "function": "getPropertiesByNode",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1662,
        "function": "getPropertiesIteratorForPath",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1647,
        "function": "writeMultiStatus",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 346,
        "function": "generateMultiStatus",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "httpPropFind",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 472,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 253,
        "function": "invokeMethod",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 321,
        "function": "start",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/dav/lib/Server.php",
        "line": 373,
        "function": "exec",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/apps/dav/appinfo/v2/remote.php",
        "line": 35,
        "function": "exec",
        "class": "OCA\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/www/nextcloud/remote.php",
        "line": 172,
        "args": [
          "/www/nextcloud/apps/dav/appinfo/v2/remote.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php",
    "Line": 44,
    "message": "Invalid request for /odměňování/Readme.md (InvalidArgumentException)",
    "exception": {},
    "CustomMessage": "Invalid request for /odměňování/Readme.md (InvalidArgumentException)"

Steps to reproduce

  1. Have samba share mounted, enable "Show folder description"
  2. no folders / files shown

Expected behavior

It should ignore missing Readme.md on Samba shares

Installation method

None

Nextcloud Server version

28

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.2

Web server

Nginx

Database engine version

None

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

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

No response

List of activated Apps

No response

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions