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

[Bug]: unhandled exception in ExifProvider crashes scan run #35931

Closed
7 of 9 tasks
luxifr opened this issue Dec 31, 2022 · 13 comments · Fixed by #37944
Closed
7 of 9 tasks

[Bug]: unhandled exception in ExifProvider crashes scan run #35931

luxifr opened this issue Dec 31, 2022 · 13 comments · Fixed by #37944
Labels

Comments

@luxifr
Copy link

luxifr commented Dec 31, 2022

⚠️ This issue respects the following points: ⚠️

  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • Nextcloud Server is running on 64bit capable CPU, PHP and OS.
  • I agree to follow Nextcloud's Code of Conduct.

Bug description

When doing a full file scan incl metadata generation, any file that trips the getimagesizefromstring(...) call in the ExifProvider will make it throw an exception that is handled so late that it crashes the whole scan run.

getimagesizefromstring(string $string, array &$image_info = null): array|false behaves like getimagesize(string $filename, array &$image_info = null): array|false in that it will throw Errors under certain circumstances. However, the call to this function isn't wrapped in a try/catch (see here and here)

Steps to reproduce

  1. do an occ files:scan --generate-metadata against, for example, a 0 byte file (or a file that has a header that looks malformed to that function.

Expected behavior

Don't crash the whole scan run - ignore the file, maybe log a warning, and move on to the next one.

Installation method

Community Docker image

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.1

Web server

Nginx

Database engine version

MariaDB

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

Fresh Nextcloud Server install

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

{
    "system": {
        "memcache.local": "\\OC\\Memcache\\APCu",
        "allow_local_remote_servers": true,
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "loglevel": 0,
        "trusted_domains": [
            "localhost",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "25.0.2.3",
        "overwrite.cli.url": "http:\/\/localhost",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "filesystem_check_changes": 1,
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_smtpsecure": "tls",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "allow_user_to_change_display_name": false,
        "lost_password_link": "disabled",
        "oidc_login_provider_url": "***REMOVED SENSITIVE VALUE***",
        "oidc_login_client_id": "***REMOVED SENSITIVE VALUE***",
        "oidc_login_client_secret": "***REMOVED SENSITIVE VALUE***",
        "oidc_login_auto_redirect": false,
        "oidc_login_end_session_redirect": false,
        "oidc_login_button_text": "***REMOVED SENSITIVE VALUE***",
        "oidc_login_hide_password_form": false,
        "oidc_login_use_id_token": true,
        "oidc_login_attributes": {
            "id": "preferred_username",
            "name": "name",
            "mail": "email",
            "groups": "groups"
        },
        "oidc_login_default_group": "oidc",
        "oidc_login_use_external_storage": false,
        "oidc_login_scope": "openid profile email groups",
        "oidc_login_proxy_ldap": false,
        "oidc_login_disable_registration": true,
        "oidc_login_redir_fallback": false,
        "oidc_login_alt_login_page": "assets\/login.php",
        "oidc_login_tls_verify": true,
        "oidc_create_groups": false,
        "oidc_login_webdav_enabled": false,
        "oidc_login_password_authentication": false,
        "oidc_login_public_key_caching_time": 86400,
        "oidc_login_min_time_between_jwks_requests": 10,
        "oidc_login_well_known_caching_time": 86400,
        "oidc_login_update_avatar": false,
        "app_install_overwrite": [
            "breezedark"
        ],
        "memories.exiftool_no_local": true,
        "enable_previews": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\PDF",
            "OC\\Preview\\MSOffice2003",
            "OC\\Preview\\MSOfficeDoc",
            "OC\\Preview\\Image",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\TIFF",
            "OC\\Preview\\SVG",
            "OC\\Preview\\Font",
            "OC\\Preview\\MP3",
            "OC\\Preview\\Movie",
            "OC\\Preview\\MKV",
            "OC\\Preview\\MP4",
            "OC\\Preview\\AVI"
        ],
        "memories.ffmpeg_path": "\/usr\/bin\/ffmpeg",
        "memories.ffprobe_path": "\/usr\/bin\/ffprobe",
        "memories.transcoder": "\/var\/www\/html\/apps\/memories\/exiftool-bin\/go-vod-amd64",
        "memories.no_transcode": true,
        "memories.qsv": false,
        "maintenance": false
    }
}

List of activated Apps

Enabled:
  - activity: 2.17.0
  - audioplayer: 3.3.1
  - camerarawpreviews: 0.8.0
  - circles: 25.0.0
  - cloud_federation_api: 1.8.0
  - cloud_py_api: 0.1.1
  - comments: 1.15.0
  - contactsinteraction: 1.6.0
  - dashboard: 7.5.0
  - dav: 1.24.0
  - dicomviewer: 1.2.4
  - facerecognition: 0.9.11
  - federatedfilesharing: 1.15.0
  - federation: 1.15.0
  - files: 1.20.1
  - files_external: 1.17.0
  - files_pdfviewer: 2.6.0
  - files_rightclick: 1.4.0
  - files_sharing: 1.17.0
  - files_trashbin: 1.15.0
  - files_versions: 1.18.0
  - firstrunwizard: 2.14.0
  - logreader: 2.10.0
  - lookup_server_connector: 1.13.0
  - mediadc: 0.3.2
  - memories: 4.9.3
  - music: 1.7.0
  - news: 20.0.0
  - nextcloud_announcements: 1.14.0
  - notifications: 2.13.1
  - oauth2: 1.13.0
  - password_policy: 1.15.0
  - photos: 2.0.1
  - previewgenerator: 5.1.1
  - privacy: 1.9.0
  - provisioning_api: 1.15.0
  - recognize: 3.3.4
  - recommendations: 1.4.0
  - related_resources: 1.0.3
  - serverinfo: 1.15.0
  - settings: 1.7.0
  - sharebymail: 1.15.0
  - support: 1.8.0
  - survey_client: 1.13.0
  - systemtags: 1.15.0
  - text: 3.6.0
  - theming: 2.0.1
  - tvshownamer: 0.5.0
  - twofactor_backupcodes: 1.14.0
  - twofactor_totp: 7.0.0
  - updatenotification: 1.15.0
  - user_status: 1.5.0
  - viewer: 1.9.0
  - weather_status: 1.5.0
  - workflowengine: 2.7.0
Disabled:
  - admin_audit
  - bruteforcesettings
  - encryption
  - suspicious_login
  - user_ldap

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

No response

Additional info

No response

@luxifr luxifr added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Dec 31, 2022
@luxifr
Copy link
Author

luxifr commented Dec 31, 2022

The issue is here:

$sizeResult = getimagesizefromstring($file->getContent());

@szaimen szaimen added 25-feedback 2. developing Work in progress and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap labels Jan 1, 2023
@Ramblurr
Copy link

Ramblurr commented Mar 9, 2023

We're also experiencing this. It triggers when uploading via the web ui or via webdav.

@digidax
Copy link

digidax commented Mar 27, 2023

The same problem here after update from 24.x to 25.0.4 and 25.0.5 and uploading images from Android device with the app “folder sync”:
grafik

With version 24.x there was no problems.

{"reqId":"ZBwGPkFqvJQPASzjeeOSZwAAAAA","level":0,"time":"2023-03-23T07:56:46+00:00","remoteAddr":"192.168.130.254","user":"--","app":"no app in context","method":"PROPFIND","url":"/nextcloud/remote.php/dav/files/frank/GlusterOverStorage1/SD_Karte/DCIM/Camera/20230316_172310.jpg","message":"Token is not valid: Token does not exist: token does not exist","userAgent":"OkHttp","version":"25.0.4.1","exception":{"Exception":"OC\\Authentication\\Exceptions\\InvalidTokenException","Message":"Token does not exist: token does not exist","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/Manager.php","line":133,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenProvider","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":523,"function":"getToken","class":"OC\\Authentication\\Token\\Manager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":436,"function":"isTokenPassword","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":113,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":229,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":136,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":180,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenProvider.php","Line":128,"Previous":{"Exception":"OCP\\AppFramework\\Db\\DoesNotExistException","Message":"token does not exist","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenProvider.php","line":119,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenMapper","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/Manager.php","line":133,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenProvider","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":523,"function":"getToken","class":"OC\\Authentication\\Token\\Manager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":436,"function":"isTokenPassword","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":113,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":229,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":136,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":180,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenMapper.php","Line":89},"message":"Token is not valid: Token does not exist: token does not exist","exception":{},"CustomMessage":"Token is not valid: Token does not exist: token does not exist"}} {"reqId":"ZBwGTUFqvJQPASzjeeOSaAAAAAA","level":0,"time":"2023-03-23T07:57:01+00:00","remoteAddr":"192.168.130.254","user":"--","app":"no app in context","method":"DELETE","url":"/nextcloud/remote.php/dav/files/frank/GlusterOverStorage1/SD_Karte/DCIM/Camera/20230316_172310.jpg","message":"Token is not valid: Token does not exist: token does not exist","userAgent":"OkHttp","version":"25.0.4.1","exception":{"Exception":"OC\\Authentication\\Exceptions\\InvalidTokenException","Message":"Token does not exist: token does not exist","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/Manager.php","line":133,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenProvider","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":523,"function":"getToken","class":"OC\\Authentication\\Token\\Manager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":436,"function":"isTokenPassword","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":113,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":229,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":136,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":180,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenProvider.php","Line":128,"Previous":{"Exception":"OCP\\AppFramework\\Db\\DoesNotExistException","Message":"token does not exist","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenProvider.php","line":119,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenMapper","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/Manager.php","line":133,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenProvider","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":523,"function":"getToken","class":"OC\\Authentication\\Token\\Manager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":436,"function":"isTokenPassword","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":113,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":229,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":136,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":180,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenMapper.php","Line":89},"message":"Token is not valid: Token does not exist: token does not exist","exception":{},"CustomMessage":"Token is not valid: Token does not exist: token does not exist"}} {"reqId":"ZBwGUkFqvJQPASzjeeOSaQAAAAA","level":0,"time":"2023-03-23T07:57:06+00:00","remoteAddr":"192.168.130.254","user":"--","app":"no app in context","method":"PUT","url":"/nextcloud/remote.php/dav/files/frank/GlusterOverStorage1/SD_Karte/DCIM/Camera/20230316_172310.jpg","message":"Token is not valid: Token does not exist: token does not exist","userAgent":"OkHttp","version":"25.0.4.1","exception":{"Exception":"OC\\Authentication\\Exceptions\\InvalidTokenException","Message":"Token does not exist: token does not exist","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/Manager.php","line":133,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenProvider","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":523,"function":"getToken","class":"OC\\Authentication\\Token\\Manager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":436,"function":"isTokenPassword","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":113,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":229,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":136,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":180,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenProvider.php","Line":128,"Previous":{"Exception":"OCP\\AppFramework\\Db\\DoesNotExistException","Message":"token does not exist","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenProvider.php","line":119,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenMapper","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Authentication/Token/Manager.php","line":133,"function":"getToken","class":"OC\\Authentication\\Token\\PublicKeyTokenProvider","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":523,"function":"getToken","class":"OC\\Authentication\\Token\\Manager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/User/Session.php","line":436,"function":"isTokenPassword","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":113,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":229,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php","line":136,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":180,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Authentication/Token/PublicKeyTokenMapper.php","Line":89},"message":"Token is not valid: Token does not exist: token does not exist","exception":{},"CustomMessage":"Token is not valid: Token does not exist: token does not exist"}} {"reqId":"ZBwGUkFqvJQPASzjeeOSaQAAAAA","level":1,"time":"2023-03-23T07:57:20+00:00","remoteAddr":"192.168.130.254","user":"frank","app":"PHP","method":"PUT","url":"/nextcloud/remote.php/dav/files/frank/GlusterOverStorage1/SD_Karte/DCIM/Camera/20230316_172310.jpg","message":"Expected SSH_FXP_HANDLE or SSH_FXP_STATUS at /var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTPReadStream.php#112","userAgent":"OkHttp","version":"25.0.4.1","exception":{"Exception":"Error","Message":"Expected SSH_FXP_HANDLE or SSH_FXP_STATUS at /var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTPReadStream.php#112","Code":0,"Trace":[{"function":"onError","class":"OC\\Log\\ErrorHandler","type":"::"},{"file":"/var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTPReadStream.php","line":112,"function":"user_error"},{"function":"stream_open","class":"OCA\\Files_External\\Lib\\Storage\\SFTPReadStream","type":"->"},{"file":"/var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTP.php","line":381,"function":"fopen"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Common.php","line":199,"function":"fopen","class":"OCA\\Files_External\\Lib\\Storage\\SFTP","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":247,"function":"file_get_contents","class":"OC\\Files\\Storage\\Common","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Availability.php","line":264,"function":"file_get_contents","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":247,"function":"file_get_contents","class":"OC\\Files\\Storage\\Wrapper\\Availability","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/View.php","line":1181,"function":"file_get_contents","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/View.php","line":600,"function":"basicOperation","class":"OC\\Files\\View","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Node/File.php","line":56,"function":"file_get_contents","class":"OC\\Files\\View","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/Provider/ExifProvider.php","line":71,"function":"getContent","class":"OC\\Files\\Node\\File","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/MetadataManager.php","line":68,"function":"execute","class":"OC\\Metadata\\Provider\\ExifProvider","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/FileEventListener.php","line":101,"function":"generateMetadata","class":"OC\\Metadata\\MetadataManager","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php","line":87,"function":"handle","class":"OC\\Metadata\\FileEventListener","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":251,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":73,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":88,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":100,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Node/HookConnector.php","line":118,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_Hook.php","line":106,"function":"postWrite","class":"OC\\Files\\Node\\HookConnector","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/File.php","line":471,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/File.php","line":398,"function":"emitPostHooks","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}} {"reqId":"ZBwGUkFqvJQPASzjeeOSaQAAAAA","level":3,"time":"2023-03-23T07:57:20+00:00","remoteAddr":"192.168.130.254","user":"frank","app":"PHP","method":"PUT","url":"/nextcloud/remote.php/dav/files/frank/GlusterOverStorage1/SD_Karte/DCIM/Camera/20230316_172310.jpg","message":"fopen(sftpread://mnt/glusterfs/NextCloudFrank//SD_Karte/DCIM/Camera/20230316_172310.jpg): Failed to open stream: "OCA\\Files_External\\Lib\\Storage\\SFTPReadStream::stream_open" call failed at /var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTP.php#381","userAgent":"OkHttp","version":"25.0.4.1","exception":{"Exception":"Error","Message":"fopen(sftpread://mnt/glusterfs/NextCloudFrank//SD_Karte/DCIM/Camera/20230316_172310.jpg): Failed to open stream: "OCA\\Files_External\\Lib\\Storage\\SFTPReadStream::stream_open" call failed at /var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTP.php#381","Code":0,"Trace":[{"function":"onError","class":"OC\\Log\\ErrorHandler","type":"::"},{"file":"/var/www/html/nextcloud/apps/files_external/lib/Lib/Storage/SFTP.php","line":381,"function":"fopen"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Common.php","line":199,"function":"fopen","class":"OCA\\Files_External\\Lib\\Storage\\SFTP","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":247,"function":"file_get_contents","class":"OC\\Files\\Storage\\Common","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Availability.php","line":264,"function":"file_get_contents","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":247,"function":"file_get_contents","class":"OC\\Files\\Storage\\Wrapper\\Availability","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/View.php","line":1181,"function":"file_get_contents","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/View.php","line":600,"function":"basicOperation","class":"OC\\Files\\View","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Node/File.php","line":56,"function":"file_get_contents","class":"OC\\Files\\View","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/Provider/ExifProvider.php","line":71,"function":"getContent","class":"OC\\Files\\Node\\File","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/MetadataManager.php","line":68,"function":"execute","class":"OC\\Metadata\\Provider\\ExifProvider","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/FileEventListener.php","line":101,"function":"generateMetadata","class":"OC\\Metadata\\MetadataManager","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php","line":87,"function":"handle","class":"OC\\Metadata\\FileEventListener","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":251,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":73,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":88,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":100,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Node/HookConnector.php","line":118,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_Hook.php","line":106,"function":"postWrite","class":"OC\\Files\\Node\\HookConnector","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/File.php","line":471,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/File.php","line":398,"function":"emitPostHooks","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}} {"reqId":"ZBwGUkFqvJQPASzjeeOSaQAAAAA","level":3,"time":"2023-03-23T07:57:20+00:00","remoteAddr":"192.168.130.254","user":"frank","app":"webdav","method":"PUT","url":"/nextcloud/remote.php/dav/files/frank/GlusterOverStorage1/SD_Karte/DCIM/Camera/20230316_172310.jpg","message":"getimagesizefromstring(): Argument #1 ($string) must be of type string, bool given","userAgent":"OkHttp","version":"25.0.4.1","exception":{"Exception":"TypeError","Message":"getimagesizefromstring(): Argument #1 ($string) must be of type string, bool given","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Metadata/Provider/ExifProvider.php","line":71,"function":"getimagesizefromstring"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/MetadataManager.php","line":68,"function":"execute","class":"OC\\Metadata\\Provider\\ExifProvider","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Metadata/FileEventListener.php","line":101,"function":"generateMetadata","class":"OC\\Metadata\\MetadataManager","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php","line":87,"function":"handle","class":"OC\\Metadata\\FileEventListener","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":251,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":73,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":88,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php","line":100,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Files/Node/HookConnector.php","line":118,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_Hook.php","line":106,"function":"postWrite","class":"OC\\Files\\Node\\HookConnector","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/File.php","line":471,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/File.php","line":398,"function":"emitPostHooks","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":171,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/Metadata/Provider/ExifProvider.php","Line":71,"message":"getimagesizefromstring(): Argument #1 ($string) must be of type string, bool given","exception":{},"CustomMessage":"getimagesizefromstring(): Argument #1 ($string) must be of type string, bool given"}}

Reading line 71: https://github.com/nextcloud/server/blob/873501a141c3ddfc3d8ce4291123a7a2842ece8e/lib/private/Metadata/Provider/ExifProvider.php 1

$file->getContent() is boolean (maybe false) instead of an expected string (path with filename).

External storage support 1.17.0 is used and the access is realized by SFTP.

In activity log, image is created then deleted. The folder sync app try it again, create and then delete. The maintainer of the Folder Sync app can't fix the problem. He tolds, that's realted to the NextCloud Server.

@luxzg
Copy link

luxzg commented Mar 27, 2023

I believe I'm hitting this (or a very related) bug as well.

I've uploaded a bunch of data (few TB) and then wanted to run a scan.
Thing is that I've first uploaded like 30% of the data, ran scan as a test (without --generate-metadata), all went fine, then I've uploaded rest, and discovered that I can also run with that metadata flag which seemed as good idea.

So when I've finished all file copying, I ran the command:

sudo -u www-data php /var/www/nextcloud/occ files:scan -n -v --all --generate-metadata

That went fine across first ~30% of data, then started stalling on files with errors such as:

Path not found: /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela/AVCHD/AVCHDTN/THUMB.TDT

I thought my permissions were bad, then started thinking my file copy was corrupted, and started to delete.. well.. a lot of data sadly (will need whole day tomorrow to copy it back).

Then at some point I've noticed it's just too much, and it can't all be corrupted, tried shortening my paths, excluding spaces, and such, then finally tried opening files as www-data and sure enough - it could read those files just fine...

Anyway, long story short...
This throws error:

root@server:/mnt/purple/ncdata/data# 
sudo -u www-data php /var/www/nextcloud/occ files:scan -n -v --generate-metadata -p "luka/files/scp/Kamera HDC-TM700/2011"
Starting scan for user 1 out of 1 (luka)
        Folder  /luka/files/scp/Kamera HDC-TM700/2011
        Folder  /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela
        Folder  /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela/AVCHD
        Folder  /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela/AVCHD/AVCHDTN
        File    /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela/AVCHD/AVCHDTN/THUMB.TDT
        File    /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela/AVCHD/AVCHDTN/THUMB.TDT
Path not found: /luka/files/scp/Kamera HDC-TM700/2011/2011-03-20 - Finale prvenstva Hrvatske i dodjela/AVCHD/AVCHDTN/THUMB.TDT

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 4       | 2     | 00:00:01     |
+---------+-------+--------------+

Note that it actually fails on the very first file it finds, and if I delete that file manually it will just do the same for next one and next and next.

But (!!) if you first do a full scan without metadata, eg.:

sudo -u www-data php /var/www/nextcloud/occ files:scan -n -v -p "luka/files/scp/"

... that scan works fine!
And then try to re-run it with --generate-metadata - and that too will work fine suddenly!

sudo -u www-data php /var/www/nextcloud/occ files:scan -n -v --generate-metadata -p "luka/files/scp/Kamera HDC-TM700/2011"

... ending with...

      File    /luka/files/scp/Kamera HDC-TM700/2011/2011-12-31 do 2012-01-01 - salsa nova/AVCHD/IISVPL/00180.VPL
        Folder  /luka/files/scp/Kamera HDC-TM700/2011/2011-12-31 do 2012-01-01 - salsa nova/DCIM

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 667     | 3709  | 00:02:07     |
+---------+-------+--------------+

I can only cry myself to sleep about not finding the workaround sooner, now I "only" have to repeat copying 6 years of video recordings... but hopefully this comment helps finding a bug.

Btw, I haven't yet actually checked if metadata is indeed imported with the subsequent scan, but scanning same folder (single year of data) shows that scan without metadata ends with

        Folder  /luka/files/scp/Kamera HDC-TM700/2011/2011-12-31 do 2012-01-01 - salsa nova/DCIM

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 667     | 3709  | 00:00:24     |
+---------+-------+--------------+

while scan with metadata lasts much longer (and I can visually say it scans slower on JPG files)

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 667     | 3709  | 00:01:47     |
+---------+-------+--------------+

Edit:
and then afte running it like that on a larger folder, it still crashed. without metadata it scanned whole server without issues. After adding metadata flag and re-running it died after close to 45 minutes. Log below:

Exception during scan: getimagesizefromstring(): Error reading from !
#0 [internal function]: OCA\Files\Command\Scan->exceptionErrorHandler()
#1 /var/www/nextcloud/lib/private/Metadata/Provider/ExifProvider.php(71): getimagesizefromstring()
#2 /var/www/nextcloud/lib/private/Metadata/MetadataManager.php(68): OC\Metadata\Provider\ExifProvider->execute()
#3 /var/www/nextcloud/apps/files/lib/Command/Scan.php(138): OC\Metadata\MetadataManager->generateMetadata()
#4 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#5 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#6 /var/www/nextcloud/lib/private/Hooks/PublicEmitter.php(40): OC\Hooks\BasicEmitter->emit()
#7 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(131): OC\Hooks\PublicEmitter->emit()
#8 [internal function]: OC\Files\Utils\Scanner->OC\Files\Utils\{closure}()
#9 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#10 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(168): OC\Hooks\BasicEmitter->emit()
#11 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(436): OC\Files\Cache\Scanner->scanFile()
#12 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(382): OC\Files\Cache\Scanner->handleChildren()
#13 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#14 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#15 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#16 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#17 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#18 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#19 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(333): OC\Files\Cache\Scanner->scanChildren()
#20 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(256): OC\Files\Cache\Scanner->scan()
#21 /var/www/nextcloud/apps/files/lib/Command/Scan.php(161): OC\Files\Utils\Scanner->scan()
#22 /var/www/nextcloud/apps/files/lib/Command/Scan.php(217): OCA\Files\Command\Scan->scanFiles()
#23 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\Files\Command\Scan->execute()
#24 /var/www/nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#25 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): OC\Core\Command\Base->run()
#26 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#27 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#28 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
#29 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
#30 /var/www/nextcloud/occ(11): require_once('...')
#31 {main}

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 2485    | 61990 | 00:44:45     |
+---------+-------+--------------+

@luxzg
Copy link

luxzg commented Apr 4, 2023

Finally had some more time to go through old log files. I've found three slightly different occurances of this error, as mentioned in OP, all include Scan->exceptionErrorHandler() ... getimagesizefromstring()

1

Exception during scan: getimagesizefromstring(): Error reading from !
#0 [internal function]: OCA\Files\Command\Scan->exceptionErrorHandler()
#1 /var/www/nextcloud/lib/private/Metadata/Provider/ExifProvider.php(71): getimagesizefromstring()
#2 /var/www/nextcloud/lib/private/Metadata/MetadataManager.php(68): OC\Metadata\Provider\ExifProvider->execute()
#3 /var/www/nextcloud/apps/files/lib/Command/Scan.php(138): OC\Metadata\MetadataManager->generateMetadata()
#4 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#5 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#6 /var/www/nextcloud/lib/private/Hooks/PublicEmitter.php(40): OC\Hooks\BasicEmitter->emit()
#7 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(131): OC\Hooks\PublicEmitter->emit()
#8 [internal function]: OC\Files\Utils\Scanner->OC\Files\Utils\{closure}()
#9 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#10 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(168): OC\Hooks\BasicEmitter->emit()
#11 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(436): OC\Files\Cache\Scanner->scanFile()
#12 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(382): OC\Files\Cache\Scanner->handleChildren()
#13 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#14 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#15 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(333): OC\Files\Cache\Scanner->scanChildren()
#16 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(256): OC\Files\Cache\Scanner->scan()
#17 /var/www/nextcloud/apps/files/lib/Command/Scan.php(161): OC\Files\Utils\Scanner->scan()
#18 /var/www/nextcloud/apps/files/lib/Command/Scan.php(217): OCA\Files\Command\Scan->scanFiles()
#19 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\Files\Command\Scan->execute()
#20 /var/www/nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#21 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): OC\Core\Command\Base->run()
#22 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#23 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#24 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
#25 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
#26 /var/www/nextcloud/occ(11): require_once('...')
#27 {main}

2

Exception during scan: getimagesizefromstring(): Error reading from !
#0 [internal function]: OCA\Files\Command\Scan->exceptionErrorHandler()
#1 /var/www/nextcloud/lib/private/Metadata/Provider/ExifProvider.php(71): getimagesizefromstring()
#2 /var/www/nextcloud/lib/private/Metadata/MetadataManager.php(68): OC\Metadata\Provider\ExifProvider->execute()
#3 /var/www/nextcloud/apps/files/lib/Command/Scan.php(138): OC\Metadata\MetadataManager->generateMetadata()
#4 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#5 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#6 /var/www/nextcloud/lib/private/Hooks/PublicEmitter.php(40): OC\Hooks\BasicEmitter->emit()
#7 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(131): OC\Hooks\PublicEmitter->emit()
#8 [internal function]: OC\Files\Utils\Scanner->OC\Files\Utils\{closure}()
#9 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#10 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(168): OC\Hooks\BasicEmitter->emit()
#11 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(436): OC\Files\Cache\Scanner->scanFile()
#12 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(382): OC\Files\Cache\Scanner->handleChildren()
#13 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(385): OC\Files\Cache\Scanner->scanChildren()
#14 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(333): OC\Files\Cache\Scanner->scanChildren()
#15 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(256): OC\Files\Cache\Scanner->scan()
#16 /var/www/nextcloud/apps/files/lib/Command/Scan.php(161): OC\Files\Utils\Scanner->scan()
#17 /var/www/nextcloud/apps/files/lib/Command/Scan.php(217): OCA\Files\Command\Scan->scanFiles()
#18 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\Files\Command\Scan->execute()
#19 /var/www/nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#20 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): OC\Core\Command\Base->run()
#21 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#22 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#23 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
#24 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
#25 /var/www/nextcloud/occ(11): require_once('...')
#26 {main}

3

Exception during scan: getimagesizefromstring(): Corrupt JPEG data: 2 extraneous bytes before marker
#0 [internal function]: OCA\Files\Command\Scan->exceptionErrorHandler()
#1 /var/www/nextcloud/lib/private/Metadata/Provider/ExifProvider.php(71): getimagesizefromstring()
#2 /var/www/nextcloud/lib/private/Metadata/MetadataManager.php(68): OC\Metadata\Provider\ExifProvider->execute()
#3 /var/www/nextcloud/apps/files/lib/Command/Scan.php(138): OC\Metadata\MetadataManager->generateMetadata()
#4 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#5 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#6 /var/www/nextcloud/lib/private/Hooks/PublicEmitter.php(40): OC\Hooks\BasicEmitter->emit()
#7 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(131): OC\Hooks\PublicEmitter->emit()
#8 [internal function]: OC\Files\Utils\Scanner->OC\Files\Utils\{closure}()
#9 /var/www/nextcloud/lib/private/Hooks/EmitterTrait.php(105): call_user_func_array()
#10 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(168): OC\Hooks\BasicEmitter->emit()
#11 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(436): OC\Files\Cache\Scanner->scanFile()
#12 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(382): OC\Files\Cache\Scanner->handleChildren()
#13 /var/www/nextcloud/lib/private/Files/Cache/Scanner.php(333): OC\Files\Cache\Scanner->scanChildren()
#14 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(256): OC\Files\Cache\Scanner->scan()
#15 /var/www/nextcloud/apps/files/lib/Command/Scan.php(161): OC\Files\Utils\Scanner->scan()
#16 /var/www/nextcloud/apps/files/lib/Command/Scan.php(217): OCA\Files\Command\Scan->scanFiles()
#17 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\Files\Command\Scan->execute()
#18 /var/www/nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#19 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): OC\Core\Command\Base->run()
#20 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#21 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#22 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
#23 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
#24 /var/www/nextcloud/occ(11): require_once('...')
#25 {main}

Edit:
image

@imolb
Copy link

imolb commented Apr 15, 2023

Issue seems still unresolved in 25.0.5.
Issue also reported in the the forum
Can someone push PR #35932, which hopefully solves?

@digidax
Copy link

digidax commented Apr 26, 2023

Still present in Nextcloud Hub 3 (25.0.6)
and Nextcloud Hub 4 (26.0.1)

@come-nc
Copy link
Contributor

come-nc commented Apr 27, 2023

$file->getContent() is boolean (maybe false) instead of an expected string (path with filename).

This one should be fixed by #37943

@come-nc
Copy link
Contributor

come-nc commented Apr 27, 2023

So, I looked into it and apart from the TypeError, this behavior is on purpose.
The scan command adds an error handler which throws exceptions, so that a file causing problems is detected.

getimagesizefromstring does not throw on errors, it triggers PHP errors, it’s a design choice of the scan command to convert that into an exception. This is why there is not try/catch on the call.

That said, I opened a PR to show errors but continue, let’s see what others think of this change.

@digidax
Copy link

digidax commented Jun 21, 2023

Problem still present in 26.0.2 and 26.0.3rc2
https://help.nextcloud.com/t/webdav-with-folder-sync-typeerror-getimagesizefromstring-internal-server-error/164529

@Ramblurr
Copy link

Ramblurr commented Jun 21, 2023

Can confirm the issue persists with 26.0.2

@come-nc
Copy link
Contributor

come-nc commented Jun 22, 2023

Problem still present in 26.0.2 and 26.0.3rc2 https://help.nextcloud.com/t/webdav-with-folder-sync-typeerror-getimagesizefromstring-internal-server-error/164529

This is not the same problem, it is not about files:scan stopping at first error.

@Ramblurr The fix for this is in #37944 which is included in 26.0.2, so I doubt that you see the same behavior described here on this version? occ files:scan --generate-metadata should continue with other files in case of an error in this version.

@digidax
Copy link

digidax commented Jun 22, 2023

Have applied as workaround (until v27 is available) this patch from master and it's working now.

[https://github.com/nextcloud/server/commit/997efe44ffd56959f198be2e3aa71687a2f11412](url)

grafik

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