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

[S3] fclose(): supplied resource is not a valid stream resource #23373

Closed
solracsf opened this issue Oct 12, 2020 · 4 comments
Closed

[S3] fclose(): supplied resource is not a valid stream resource #23373

solracsf opened this issue Oct 12, 2020 · 4 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: object storage
Milestone

Comments

@solracsf
Copy link
Member

solracsf commented Oct 12, 2020

Following #15486

Server configuration

Web server: Nginx

Database: MariaDB

PHP version: 7.4.11

Nextcloud version: (see Nextcloud admin page) 19.0.4

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.5.0
  - apporder: 0.11.0
  - breezedark: 19.0.4
  - calendar: 2.0.4
  - cloud_federation_api: 1.2.0
  - comments: 1.9.0
  - contacts: 3.4.0
  - contactsinteraction: 1.0.0
  - cospend: 1.0.5
  - dav: 1.15.0
  - deck: 1.1.0
  - drop_account: 0.2.1
  - federatedfilesharing: 1.9.0
  - federation: 1.9.0
  - files: 1.14.0
  - files_accesscontrol: 1.9.1
  - files_antivirus: 3.0.0
  - files_automatedtagging: 1.9.0
  - files_rightclick: 0.16.0
  - files_sharing: 1.11.0
  - files_trashbin: 1.9.0
  - files_versions: 1.12.0
  - files_videoplayer: 1.8.0
  - impersonate: 1.6.1
  - logreader: 2.4.0
  - lookup_server_connector: 1.7.0
  - metadata: 0.12.0
  - notes: 3.6.4
  - notifications: 2.7.0
  - oauth2: 1.7.0
  - password_policy: 1.9.1
  - photos: 1.1.0
  - provisioning_api: 1.9.0
  - quota_warning: 1.8.0
  - ransomware_protection: 1.7.0
  - settings: 1.1.0
  - sharebymail: 1.9.0
  - tasks: 0.13.3
  - theming: 1.10.0
  - twofactor_admin: 3.0.0
  - twofactor_backupcodes: 1.8.0
  - twofactor_nextcloud_notification: 2.3.0
  - twofactor_totp: 5.0.0
  - twofactor_u2f: 6.0.0
  - viewer: 1.3.0
  - workflowengine: 2.1.0
Disabled:
  - activity
  - admin_audit
  - encryption
  - facerecognition
  - files_external
  - files_pdfviewer
  - firstrunwizard
  - nextcloud_announcements
  - privacy
  - recommendations
  - serverinfo
  - social
  - support
  - survey_client
  - systemtags
  - text
  - updatenotification
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "objectstore": {
            "class": "\\OC\\Files\\ObjectStore\\S3",
            "arguments": {
                "bucket": "example",
                "key": "***REMOVED SENSITIVE VALUE***",
                "secret": "***REMOVED SENSITIVE VALUE***",
                "hostname": "minio.lan",
                "port": 7777,
                "use_ssl": false,
                "region": "europe1",
                "use_path_style": true
            }
        },
        "logfile": "\/var\/log\/nextcloud\/example.com.log",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "example.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "19.0.4.2",
        "overwrite.cli.url": "https:\/\/example.com",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "dbdriveroptions": {
            "1009": "\/etc\/ssl\/mysql\/ca-cert.pem",
            "1008": "\/etc\/ssl\/mysql\/client-cert.pem",
            "1007": "\/etc\/ssl\/mysql\/client-key.pem",
            "1014": false
        },
        "skeletondirectory": "",
        "activity_expire_days": 14,
        "auth.bruteforce.protection.enabled": false,
        "htaccess.RewriteBase": "\/",
        "integrity.check.disabled": false,
        "knowledgebaseenabled": false,
        "logtimezone": "Europe\/Paris",
        "maintenance": false,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "updatechecker": false,
        "appstoreenabled": false,
        "upgrade.disable-web": true,
        "filelocking.enabled": true,
        "overwriteprotocol": "https",
        "preview_max_scale_factor": 1,
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "timeout": 0,
            "dbindex": 19,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "trashbin_retention_obligation": "auto, 7",
        "updater.release.channel": "stable",
        "mail_smtpmode": "smtp",
        "mail_smtpsecure": "tls",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "enabledPreviewProviders": [
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF"
        ],
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "example.com",
        "default_language": "fr",
        "default_locale": "fr_FR",
        "preview_max_x": "1280",
        "preview_max_y": "800",
        "jpeg_quality": "70",
        "loglevel": 3,
        "simpleSignUpLink.shown": false,
        "logfilemode": 420
    }
}

Logs

Web server error log

Web server error log
Insert your webserver log here

Nextcloud log (data/nextcloud.log)

Nextcloud JSON log
{
  "app":"PHP",
  "method":"POST",
  "url":"/ocs/v2.php/cloud/users",
  "message":{
    "Exception":"Error",
    "Message":"fclose(): supplied resource is not a valid stream resource at /lib/private/Files/ObjectStore/S3ObjectTrait.php#107",
    "Code":0,
    "Trace":[
      {
        "function":"onError",
        "class":"OC\\Log\\ErrorHandler",
        "type":"::"
      },
      {
        "file":"/lib/private/Files/ObjectStore/S3ObjectTrait.php",
        "line":107,
        "function":"fclose"
      },
      {
        "file":"/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
        "line":477,
        "function":"writeObject",
        "class":"OC\\Files\\ObjectStore\\S3",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
        "line":407,
        "function":"writeStream",
        "class":"OC\\Files\\ObjectStore\\ObjectStoreStorage",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
        "line":320,
        "function":"writeBack",
        "class":"OC\\Files\\ObjectStore\\ObjectStoreStorage",
        "type":"->"
      },
      {
        "function":"OC\\Files\\ObjectStore\\{closure}",
        "class":"OC\\Files\\ObjectStore\\ObjectStoreStorage",
        "type":"->",
        "args":[
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file":"/3rdparty/icewind/streams/src/CallbackWrapper.php",
        "line":121,
        "function":"call_user_func"
      },
      {
        "function":"stream_close",
        "class":"Icewind\\Streams\\CallbackWrapper",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
        "line":428,
        "function":"fclose"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line":257,
        "function":"file_put_contents",
        "class":"OC\\Files\\ObjectStore\\ObjectStoreStorage",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Availability.php",
        "line":275,
        "function":"file_put_contents",
        "class":"OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line":257,
        "function":"file_put_contents",
        "class":"OC\\Files\\Storage\\Wrapper\\Availability",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line":257,
        "function":"file_put_contents",
        "class":"OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type":"->"
      },
      {
        "file":"/apps/files_accesscontrol/lib/StorageWrapper.php",
        "line":276,
        "function":"file_put_contents",
        "class":"OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type":"->"
      },
      {
        "file":"/apps/ransomware_protection/lib/StorageWrapper.php",
        "line":252,
        "function":"file_put_contents",
        "class":"OCA\\FilesAccessControl\\StorageWrapper",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/View.php",
        "line":1159,
        "function":"file_put_contents",
        "class":"OCA\\RansomwareProtection\\StorageWrapper",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/View.php",
        "line":696,
        "function":"basicOperation",
        "class":"OC\\Files\\View",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Node/Folder.php",
        "line":187,
        "function":"file_put_contents",
        "class":"OC\\Files\\View",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/SimpleFS/SimpleFolder.php",
        "line":90,
        "function":"newFile",
        "class":"OC\\Files\\Node\\Folder",
        "type":"->"
      },
      {
        "file":"/lib/private/Avatar/UserAvatar.php",
        "line":256,
        "function":"newFile",
        "class":"OC\\Files\\SimpleFS\\SimpleFolder",
        "type":"->"
      },
      {
        "file":"/lib/private/Avatar/Avatar.php",
        "line":111,
        "function":"getFile",
        "class":"OC\\Avatar\\UserAvatar",
        "type":"->"
      },
      {
        "file":"/lib/private/User/User.php",
        "line":441,
        "function":"get",
        "class":"OC\\Avatar\\Avatar",
        "type":"->"
      },
      {
        "file":"/apps/dav/lib/CardDAV/Converter.php",
        "line":146,
        "function":"getAvatarImage",
        "class":"OC\\User\\User",
        "type":"->"
      },
      {
        "file":"/apps/dav/lib/CardDAV/Converter.php",
        "line":57,
        "function":"getAvatarImage",
        "class":"OCA\\DAV\\CardDAV\\Converter",
        "type":"->"
      },
      {
        "file":"/apps/dav/lib/CardDAV/SyncService.php",
        "line":283,
        "function":"createCardFromUser",
        "class":"OCA\\DAV\\CardDAV\\Converter",
        "type":"->"
      },
      {
        "file":"/apps/dav/lib/HookManager.php",
        "line":148,
        "function":"updateUser",
        "class":"OCA\\DAV\\CardDAV\\SyncService",
        "type":"->",
        "args":[
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file":"/lib/private/legacy/OC_Hook.php",
        "line":110,
        "function":"changeUser",
        "class":"OCA\\DAV\\HookManager",
        "type":"->"
      },
      {
        "file":"/lib/private/Server.php",
        "line":591,
        "function":"emit",
        "class":"OC_Hook",
        "type":"::"
      },
      {
        "function":"OC\\{closure}",
        "class":"OC\\Server",
        "type":"->",
        "args":[
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file":"/lib/private/Hooks/EmitterTrait.php",
        "line":101,
        "function":"call_user_func_array"
      },
      {
        "file":"/lib/private/Hooks/PublicEmitter.php",
        "line":40,
        "function":"emit",
        "class":"OC\\Hooks\\BasicEmitter",
        "type":"->"
      },
      {
        "file":"/lib/private/User/User.php",
        "line":483,
        "function":"emit",
        "class":"OC\\Hooks\\PublicEmitter",
        "type":"->"
      },
      {
        "file":"/lib/private/Avatar/UserAvatar.php",
        "line":213,
        "function":"triggerChange",
        "class":"OC\\User\\User",
        "type":"->"
      },
      {
        "file":"/lib/private/Avatar/UserAvatar.php",
        "line":326,
        "function":"remove",
        "class":"OC\\Avatar\\UserAvatar",
        "type":"->"
      },
      {
        "file":"/lib/private/Server.php",
        "line":1425,
        "function":"userChanged",
        "class":"OC\\Avatar\\UserAvatar",
        "type":"->"
      },
      {
        "file":"/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
        "line":264,
        "function":"OC\\{closure}",
        "class":"OC\\Server",
        "type":"->",
        "args":[
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file":"/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
        "line":239,
        "function":"doDispatch",
        "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
        "type":"->"
      },
      {
        "file":"/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
        "line":73,
        "function":"callListeners",
        "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
        "type":"->"
      },
      {
        "file":"/lib/private/EventDispatcher/SymfonyAdapter.php",
        "line":70,
        "function":"dispatch",
        "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
        "type":"->"
      },
      {
        "file":"/lib/private/User/User.php",
        "line":480,
        "function":"dispatch",
        "class":"OC\\EventDispatcher\\SymfonyAdapter",
        "type":"->"
      },
      {
        "file":"/lib/private/User/User.php",
        "line":152,
        "function":"triggerChange",
        "class":"OC\\User\\User",
        "type":"->"
      },
      {
        "file":"/apps/provisioning_api/lib/Controller/UsersController.php",
        "line":534,
        "function":"setDisplayName",
        "class":"OC\\User\\User",
        "type":"->"
      },
      {
        "file":"/apps/provisioning_api/lib/Controller/UsersController.php",
        "line":326,
        "function":"editUser",
        "class":"OCA\\Provisioning_API\\Controller\\UsersController",
        "type":"->"
      },
      {
        "file":"/lib/private/AppFramework/Http/Dispatcher.php",
        "line":170,
        "function":"addUser",
        "class":"OCA\\Provisioning_API\\Controller\\UsersController",
        "type":"->",
        "args":[
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file":"/lib/private/AppFramework/Http/Dispatcher.php",
        "line":100,
        "function":"executeController",
        "class":"OC\\AppFramework\\Http\\Dispatcher",
        "type":"->"
      },
      {
        "file":"/lib/private/AppFramework/App.php",
        "line":137,
        "function":"dispatch",
        "class":"OC\\AppFramework\\Http\\Dispatcher",
        "type":"->"
      },
      {
        "file":"/lib/private/AppFramework/Routing/RouteActionHandler.php",
        "line":47,
        "function":"main",
        "class":"OC\\AppFramework\\App",
        "type":"::"
      },
      {
        "function":"__invoke",
        "class":"OC\\AppFramework\\Routing\\RouteActionHandler",
        "type":"->"
      },
      {
        "file":"/lib/private/Route/Router.php",
        "line":297,
        "function":"call_user_func"
      },
      {
        "file":"/ocs/v1.php",
        "line":88,
        "function":"match",
        "class":"OC\\Route\\Router",
        "type":"->"
      },
      {
        "file":"/ocs/v2.php",
        "line":24,
        "args":[
          "/ocs/v1.php"
        ],
        "function":"require_once"
      }
    ],
    "File":"/lib/private/Log/ErrorHandler.php",
    "Line":91,
    "CustomMessage":"--"
  },
  "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0",
  "version":"19.0.4.2",
  "id":"5f842510c4b21"
}
@solracsf solracsf added bug 0. Needs triage Pending check for reproducibility or if it fits our roadmap feature: object storage labels Oct 12, 2020
@broliyoung
Copy link

broliyoung commented Nov 6, 2020

Hi all, I have the same problem and I think it may depends on activedirectory that is very big and have cn over 255 characters.
I suppose that because the log

Error: fclose(): supplied resource is not a valid stream resource at /var/www/nextcloud/lib/private/Files/ObjectStore/S3ObjectTrait.php#108

Appear after I config the Ldap and the log register this entry:

Cannot map, because the DN exceeds 255 characters:

@solracsf
Copy link
Member Author

solracsf commented Nov 13, 2020

In my case i'm not using LDAP.
Here while DELETING a file trough the Desktop client:

Nextcloud JSON log
{
  "reqId":"0zYhPLUFPHy2PFpJbARI",
  "level":3,
  "app":"PHP",
  "method":"DELETE",
  "url":"/remote.php/dav/files/user/Administration/Comptabilit%C3%A9/SUIVI-compte%20courant%20associ%C3%A9%20DL.xlsx",
  "message":{
    "Exception":"Error",
    "Message":"fclose(): supplied resource is not a valid stream resource at /lib/private/Files/ObjectStore/S3ObjectTrait.php#107",
    "Code":0,
    "Trace":[
      {
        "function":"onError",
        "class":"OC\\Log\\ErrorHandler",
        "type":"::"
      },
      {
        "file":"/lib/private/Files/ObjectStore/S3ObjectTrait.php",
        "line":107,
        "function":"fclose"
      },
      {
        "file":"/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
        "line":471,
        "function":"writeObject",
        "class":"OC\\Files\\ObjectStore\\S3",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Common.php",
        "line":627,
        "function":"writeStream",
        "class":"OC\\Files\\ObjectStore\\ObjectStoreStorage",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line":561,
        "function":"copyFromStorage",
        "class":"OC\\Files\\Storage\\Common",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Availability.php",
        "line":424,
        "function":"copyFromStorage",
        "class":"OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line":561,
        "function":"copyFromStorage",
        "class":"OC\\Files\\Storage\\Wrapper\\Availability",
        "type":"->"
      },
      {
        "file":"/apps/ransomware_protection/lib/StorageWrapper.php",
        "line":578,
        "function":"copyFromStorage",
        "class":"OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/View.php",
        "line":930,
        "function":"copyFromStorage",
        "class":"OCA\\RansomwareProtection\\StorageWrapper",
        "type":"->"
      },
      {
        "file":"/apps/files_trashbin/lib/Trashbin.php",
        "line":900,
        "function":"copy",
        "class":"OC\\Files\\View",
        "type":"->"
      },
      {
        "file":"/apps/files_trashbin/lib/Trashbin.php",
        "line":202,
        "function":"copy_recursive",
        "class":"OCA\\Files_Trashbin\\Trashbin",
        "type":"::"
      },
      {
        "file":"/apps/files_trashbin/lib/Trashbin.php",
        "line":333,
        "function":"copyFilesToUser",
        "class":"OCA\\Files_Trashbin\\Trashbin",
        "type":"::"
      },
      {
        "file":"/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php",
        "line":108,
        "function":"move2trash",
        "class":"OCA\\Files_Trashbin\\Trashbin",
        "type":"::"
      },
      {
        "file":"/apps/files_trashbin/lib/Trash/TrashManager.php",
        "line":103,
        "function":"moveToTrash",
        "class":"OCA\\Files_Trashbin\\Trash\\LegacyTrashBackend",
        "type":"->"
      },
      {
        "file":"/apps/files_trashbin/lib/Storage.php",
        "line":192,
        "function":"moveToTrash",
        "class":"OCA\\Files_Trashbin\\Trash\\TrashManager",
        "type":"->"
      },
      {
        "file":"/apps/files_trashbin/lib/Storage.php",
        "line":99,
        "function":"doDelete",
        "class":"OCA\\Files_Trashbin\\Storage",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/View.php",
        "line":1161,
        "function":"unlink",
        "class":"OCA\\Files_Trashbin\\Storage",
        "type":"->"
      },
      {
        "file":"/lib/private/Files/View.php",
        "line":718,
        "function":"basicOperation",
        "class":"OC\\Files\\View",
        "type":"->"
      },
      {
        "file":"/apps/dav/lib/Connector/Sabre/File.php",
        "line":465,
        "function":"unlink",
        "class":"OC\\Files\\View",
        "type":"->"
      },
      {
        "file":"/3rdparty/sabre/dav/lib/DAV/Tree.php",
        "line":183,
        "function":"delete",
        "class":"OCA\\DAV\\Connector\\Sabre\\File",
        "type":"->"
      },
      {
        "file":"/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line":295,
        "function":"delete",
        "class":"Sabre\\DAV\\Tree",
        "type":"->"
      },
      {
        "file":"/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line":89,
        "function":"httpDelete",
        "class":"Sabre\\DAV\\CorePlugin",
        "type":"->"
      },
      {
        "file":"/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line":474,
        "function":"emit",
        "class":"Sabre\\DAV\\Server",
        "type":"->"
      },
      {
        "file":"/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line":251,
        "function":"invokeMethod",
        "class":"Sabre\\DAV\\Server",
        "type":"->"
      },
      {
        "file":"/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line":319,
        "function":"start",
        "class":"Sabre\\DAV\\Server",
        "type":"->"
      },
      {
        "file":"/apps/dav/lib/Server.php",
        "line":320,
        "function":"exec",
        "class":"Sabre\\DAV\\Server",
        "type":"->"
      },
      {
        "file":"/apps/dav/appinfo/v2/remote.php",
        "line":35,
        "function":"exec",
        "class":"OCA\\DAV\\Server",
        "type":"->"
      },
      {
        "file":"/remote.php",
        "line":167,
        "args":[
          "/apps/dav/appinfo/v2/remote.php"
        ],
        "function":"require_once"
      }
    ],
    "File":"/lib/private/Log/ErrorHandler.php",
    "Line":91,
    "CustomMessage":"--"
  },
  "userAgent":"Mozilla/5.0 (Windows) mirall/3.0.3stable-Win64 (build 20201029) (Nextcloud)",
  "version":"19.0.4.2"
}

@solracsf
Copy link
Member Author

I fixed this by replacing

with

if (is_resource($countStream)) {
    fclose($countStream);
}

@kesselb might I have your opinion if it makes sense here to check if $countStream is a resource before attempt to fclose() it?

tsdicloud pushed a commit to nextmcloud/server that referenced this issue Mar 5, 2021
tsdicloud pushed a commit to nextmcloud/server that referenced this issue Mar 15, 2021
tsdicloud pushed a commit to nextmcloud/server that referenced this issue Mar 15, 2021
tsdicloud pushed a commit to nextmcloud/server that referenced this issue Mar 17, 2021
tsdicloud pushed a commit to nextmcloud/server that referenced this issue Mar 24, 2021
@kesselb
Copy link
Contributor

kesselb commented Apr 16, 2021

Fixed by #26072

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: object storage
Projects
None yet
Development

No branches or pull requests

4 participants