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]: enabling external storage on 28.0.2 generates error during occ files:scan #43408

Closed
5 of 8 tasks
nfguide opened this issue Feb 6, 2024 · 36 comments · Fixed by #43794
Closed
5 of 8 tasks

[Bug]: enabling external storage on 28.0.2 generates error during occ files:scan #43408

nfguide opened this issue Feb 6, 2024 · 36 comments · Fixed by #43794

Comments

@nfguide
Copy link

nfguide commented Feb 6, 2024

⚠️ This issue respects the following points: ⚠️

Bug description

New / fresh installation of Nextcloud 28.0.2

Steps to reproduce

  1. Fresh install of 28.0.2
  2. Enable external storage
  3. Configure S3 object storage
  4. Add user with access to S3 storage
  5. Run nocc-cldtst01 files:scan timv (alias to below)

alias nocc-cldtst01="sudo -u www-data php /var/www/cldtst01.site1.com/html/occ"

Expected behavior

Output
[email protected]:$ nocc-cldtst01-site1 files:scan --all
Starting scan for user 1 out of 1 (admin)
Error during scan: Array to string conversion
Error during scan: Array to string conversion
....................
Error during scan: Array to string conversion
Error during scan: Array to string conversion
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 49 | 218 | 0 | 1 | 0 | 84 | 00:00:01 |
+---------+-------+-----+---------+---------+--------+--------------+
[email protected]:
$

Installation method

Community Manual installation with Archive

Nextcloud Server version

28

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.2

Web server

Nginx

Database engine version

MariaDB

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

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

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

Configuration report

[email protected]:~$ nocc-cldtst01-site1 config:list system
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "vmi1517.site1.com",
            "cldtst01.site1.com",
            "X.X.X.X"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "28.0.2.5",
        "overwrite.cli.url": "https:\/\/cldtst01.site1.com",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "cldtst01.site1.com",
        "activity_expire_days": 14,
        "allow_local_remote_servers": true,
        "auth.bruteforce.protection.enabled": true,
        "blacklisted_files": [
            ".htaccess",
            "Thumbs.db",
            "thumbs.db"
        ],
        "cron_log": true,
        "default_phone_region": "US",
        "enable_previews": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\BMP",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\Movie",
            "OC\\Preview\\PDF",
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown"
        ],
        "filesystem_check_changes": 0,
        "filelocking.enabled": "true",
        "htaccess.RewriteBase": "\/",
        "integrity.check.disabled": false,
        "knowledgebaseenabled": false,
        "log_rotate_size": "104857600",
        "logfile": "\/var\/log\/nextcloud\/cldtst01-site1.log",
        "loglevel": 2,
        "logtimezone": "America\/Los_Angeles",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "overwriteprotocol": "https",
        "preview_max_x": 1024,
        "preview_max_y": 768,
        "preview_max_scale_factor": 1,
        "profile.enabled": false,
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "password": "***REMOVED SENSITIVE VALUE***",
            "timeout": 0.5,
            "dbindex": 1
        },
        "quota_include_external_storage": false,
        "share_folder": "\/StorageShare",
        "skeletondirectory": "",
        "trashbin_retention_obligation": "auto, 7"
    }
}
[email protected]:~$

List of activated Apps

[email protected]:~$ nocc-cldtst01-site1 app:list
Enabled:
  - activity: 2.20.0
  - admin_audit: 1.18.0
  - cloud_federation_api: 1.11.0
  - dav: 1.29.1
  - federatedfilesharing: 1.18.0
  - files: 2.0.0
  - files_external: 1.20.0
  - files_pdfviewer: 2.9.0
  - files_sharing: 1.20.0
  - files_trashbin: 1.18.0
  - files_versions: 1.21.0
  - logreader: 2.13.0
  - lookup_server_connector: 1.16.0
  - oauth2: 1.16.3
  - password_policy: 1.18.0
  - photos: 2.4.0
  - privacy: 1.12.0
  - provisioning_api: 1.18.0
  - serverinfo: 1.18.0
  - settings: 1.10.1
  - sharebymail: 1.18.0
  - text: 3.9.1
  - theming: 2.3.0
  - twofactor_backupcodes: 1.17.0
  - updatenotification: 1.18.0
  - viewer: 2.2.0
  - workflowengine: 2.10.0
Disabled:
  - bruteforcesettings: 2.8.0
  - circles: 28.0.0-dev (installed 28.0.0-dev)
  - comments: 1.18.0 (installed 1.18.0)
  - contactsinteraction: 1.9.0 (installed 1.9.0)
  - dashboard: 7.8.0 (installed 7.8.0)
  - encryption: 2.16.0
  - federation: 1.18.0 (installed 1.18.0)
  - files_reminders: 1.1.0 (installed 1.1.0)
  - firstrunwizard: 2.17.0 (installed 2.17.0)
  - nextcloud_announcements: 1.17.0 (installed 1.17.0)
  - notifications: 2.16.0 (installed 2.16.0)
  - recommendations: 2.0.0 (installed 2.0.0)
  - related_resources: 1.3.0 (installed 1.3.0)
  - support: 1.11.0 (installed 1.11.0)
  - survey_client: 1.16.0 (installed 1.16.0)
  - suspicious_login: 6.0.0
  - systemtags: 1.18.0 (installed 1.18.0)
  - twofactor_totp: 10.0.0-beta.2
  - user_ldap: 1.19.0
  - user_status: 1.8.1 (installed 1.8.1)
  - weather_status: 1.8.0 (installed 1.8.0)
[email protected]:~$

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

[email protected]:/var/log/nextcloud$ tail -f cldtst01-site1.log
{"reqId":"BsKXnLgxxgk9OrTCg4dN","level":2,"time":"2024-02-06T13:25:37-08:00","remoteAddr":"Z.Z.Z.Z","user":"--","app":"no app in context","method":"POST","url":"/login","message":"Login failed: timv (Remote IP: Z.Z.Z.Z3)","userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36","version":"28.0.2.5","data":[]}

Additional info

No response

@nfguide nfguide added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Feb 6, 2024
@joshtrichards
Copy link
Member

Unable to reproduce. Tried both without and with files in the bucket. Can you please:

  • run the scan with verbose mode -vvv to see what files/folders it is hitting these errors
  • provide the output occ files_external:list --output=json_pretty (remove any secrets/info you deem confidential)

For the record, what S3 back-end (or provider) are you using?

@joshtrichards joshtrichards changed the title [Bug]: enabling external storage on 28.0.2 generates error [Bug]: enabling external storage on 28.0.2 generates error during occ files:scan Feb 7, 2024
@nfguide
Copy link
Author

nfguide commented Feb 7, 2024

  • run the scan with verbose mode -vvv to see what files/folders it is hitting these errors

Here is a snippet of the scan:

Error during scan: Array to string conversion
#0 /var/www/cldtst01.secursrv.com/html/apps/files/lib/Command/Scan.php(268): OCA\Files\Command\Scan->exceptionErrorHandler()
#1 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#2 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(222): array_diff_assoc()
#3 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(460): OC\Files\Cache\Scanner->scanFile()
#4 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(397): OC\Files\Cache\Scanner->handleChildren()
#5 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(400): OC\Files\Cache\Scanner->scanChildren()
#6 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(400): OC\Files\Cache\Scanner->scanChildren()
#7 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(347): OC\Files\Cache\Scanner->scanChildren()
#8 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Utils/Scanner.php(273): OC\Files\Cache\Scanner->scan()
#9 /var/www/cldtst01.secursrv.com/html/apps/files/lib/Command/Scan.php(180): OC\Files\Utils\Scanner->scan()
#10 /var/www/cldtst01.secursrv.com/html/apps/files/lib/Command/Scan.php(241): OCA\Files\Command\Scan->scanFiles()
#11 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Command/Command.php(298): OCA\Files\Command\Scan->execute()
#12 /var/www/cldtst01.secursrv.com/html/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#13 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Application.php(1040): OC\Core\Command\Base->run()
#14 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#15 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#16 /var/www/cldtst01.secursrv.com/html/lib/private/Console/Application.php(206): Symfony\Component\Console\Application->run()
#17 /var/www/cldtst01.secursrv.com/html/console.php(100): OC\Console\Application->run()
#18 /var/www/cldtst01.secursrv.com/html/occ(11): require_once('...')
#19 {main}
Error during scan: Array to string conversion
#0 /var/www/cldtst01.secursrv.com/html/apps/files/lib/Command/Scan.php(268): OCA\Files\Command\Scan->exceptionErrorHandler()
#1 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#2 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(222): array_diff_assoc()
#3 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(460): OC\Files\Cache\Scanner->scanFile()
#4 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(397): OC\Files\Cache\Scanner->handleChildren()
#5 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(400): OC\Files\Cache\Scanner->scanChildren()
#6 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(400): OC\Files\Cache\Scanner->scanChildren()
#7 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Cache/Scanner.php(347): OC\Files\Cache\Scanner->scanChildren()
#8 /var/www/cldtst01.secursrv.com/html/lib/private/Files/Utils/Scanner.php(273): OC\Files\Cache\Scanner->scan()
#9 /var/www/cldtst01.secursrv.com/html/apps/files/lib/Command/Scan.php(180): OC\Files\Utils\Scanner->scan()
#10 /var/www/cldtst01.secursrv.com/html/apps/files/lib/Command/Scan.php(241): OCA\Files\Command\Scan->scanFiles()
#11 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Command/Command.php(298): OCA\Files\Command\Scan->execute()
#12 /var/www/cldtst01.secursrv.com/html/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#13 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Application.php(1040): OC\Core\Command\Base->run()
#14 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#15 /var/www/cldtst01.secursrv.com/html/3rdparty/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#16 /var/www/cldtst01.secursrv.com/html/lib/private/Console/Application.php(206): Symfony\Component\Console\Application->run()
#17 /var/www/cldtst01.secursrv.com/html/console.php(100): OC\Console\Application->run()
#18 /var/www/cldtst01.secursrv.com/html/occ(11): require_once('...')
#19 {main}
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 95      | 392   | 0   | 219     | 0       | 84     | 00:00:02     |
+---------+-------+-----+---------+---------+--------+--------------+
  • provide the output occ files_external:list --output=json_pretty (remove any secrets/info you deem confidential)
root@site1:~$ nocc-cldtst01-site1 files_external:list --output=json_pretty
[
    {
        "mount_id": 1,
        "mount_point": "\/CS1-S3",
        "storage": "\\OCA\\Files_External\\Lib\\Storage\\AmazonS3",
        "authentication_type": "amazons3::accesskey",
        "configuration": {
            "bucket": "cs1.secursrv",
            "hostname": "usc1.contabostorage.com",
            "port": "443",
            "region": "",
            "storageClass": "",
            "use_ssl": true,
            "use_path_style": true,
            "legacy_auth": false,
            "key": "ZZZ",
            "secret": "XXX"
        },
        "options": {
            "encrypt": true,
            "previews": true,
            "enable_sharing": false,
            "filesystem_check_changes": 1,
            "encoding_compatibility": false,
            "readonly": false
        },
        "applicable_users": [],
        "applicable_groups": []
    }
]
  • S3 storage is from Contabo

Thanks for taking the time to review. There is another config with 27.1.6 connecting to the same object storage, and the scan works correctly, with no errors.

@mhzawadi
Copy link

mhzawadi commented Feb 7, 2024

Can confirm this is a bug with S3 like buckets, I have the same issue. I am using Backblaze B2 as the bucket

Error during scan: Array to string conversion
#0 /srv/www/horwood-nextcloud/apps/files/lib/Command/Scan.php(268): OCA\Files\Command\Scan->exceptionErrorHandler()
#1 [internal function]: OCA\Files\Command\Scan->OCA\Files\Command\{closure}()
#2 /srv/www/horwood-nextcloud/lib/private/Files/Cache/Scanner.php(222): array_diff_assoc()
#3 /srv/www/horwood-nextcloud/lib/private/Files/Cache/Scanner.php(460): OC\Files\Cache\Scanner->scanFile()
#4 /srv/www/horwood-nextcloud/lib/private/Files/Cache/Scanner.php(397): OC\Files\Cache\Scanner->handleChildren()
#5 /srv/www/horwood-nextcloud/lib/private/Files/Cache/Scanner.php(400): OC\Files\Cache\Scanner->scanChildren()
#6 /srv/www/horwood-nextcloud/lib/private/Files/Cache/Scanner.php(347): OC\Files\Cache\Scanner->scanChildren()
#7 /srv/www/horwood-nextcloud/lib/private/Files/Utils/Scanner.php(273): OC\Files\Cache\Scanner->scan()
#8 /srv/www/horwood-nextcloud/apps/files/lib/Command/Scan.php(180): OC\Files\Utils\Scanner->scan()
#9 /srv/www/horwood-nextcloud/apps/files/lib/Command/Scan.php(241): OCA\Files\Command\Scan->scanFiles()
#10 /srv/www/horwood-nextcloud/3rdparty/symfony/console/Command/Command.php(298): OCA\Files\Command\Scan->execute()
#11 /srv/www/horwood-nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#12 /srv/www/horwood-nextcloud/3rdparty/symfony/console/Application.php(1040): OC\Core\Command\Base->run()
#13 /srv/www/horwood-nextcloud/3rdparty/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#14 /srv/www/horwood-nextcloud/3rdparty/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#15 /srv/www/horwood-nextcloud/lib/private/Console/Application.php(206): Symfony\Component\Console\Application->run()
#16 /srv/www/horwood-nextcloud/console.php(100): OC\Console\Application->run()
#17 /srv/www/horwood-nextcloud/occ(11): require_once('...')
#18 {main}

@amcguire10
Copy link

I am also confirming this issue with S3. Using Dreamhost's DreamObjects. "Identical" error list as above except for the line(s) with "Scanner.php(400)". Those are not included. This occurred after updating Nextcloud from 25.0.2.3 to 28.0.2.5 (mutiple upgrade steps) and php from 8.0 to 8.2.

The log seems to indicate that the issue started after the core upgrade from 27.1.6.2 to 28.0.2.5.

@nfguide
Copy link
Author

nfguide commented Feb 8, 2024

I am also confirming this issue with S3. Using Dreamhost's DreamObjects. "Identical" error list as above except for the line(s) with "Scanner.php(400)". Those are not included. This occurred after updating Nextcloud from 25.0.2.3 to 28.0.2.5 (mutiple upgrade steps) and php from 8.0 to 8.2.

The log seems to indicate that the issue started after the core upgrade from 27.1.6.2 to 28.0.2.5.

I concur the started "after the core upgrade from 27.1.6.2 to 28.0.2.5", as the error is not present on a test config running 27.1.6.

@Benance
Copy link

Benance commented Feb 9, 2024

hello
I can reproduce this error when I launch occ files:scan with an smb external storage too

@stratacorps
Copy link

Not sure if it helps to add another voice, but am tracking this. Exact same issue as OP so not posting any new details unless it helps.

@nfguide

This comment was marked as off-topic.

@KimmoJ
Copy link

KimmoJ commented Feb 16, 2024

Upgraded from 27 to 28.0.2 and got a wall of red when the scanner ran as the final step. Identical to what has already been reported. External storage mounted to Wasabi's S3. Everything is accessible in Nextcloud as far as I can tell though, but would be nice if the scan worked.

This is also filling my log with errors after an otherwise successful upgrade, once I solved all the nginx related javascript changes. This is a bit annoying as it might hide actual error errors that I'd care about.

Array to string conversion at /var/www/nextcloud/lib/private/Files/Cache/Scanner.php#222

@lavigne958
Copy link

Hi I face the same issue with a AWS S3 external storage. Upgraded to nextcloud 28.0.2 and the issue persist.

Note: nextcloud server works fine, just huge amount of logs produced.

@joshtrichards
Copy link
Member

Reproduced! Finally. :-)

Requires a sub-folder to be created within the S3 mount.

@joshtrichards joshtrichards added 1. to develop Accepted and waiting to be taken care of and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap labels Feb 23, 2024
joshtrichards added a commit that referenced this issue Feb 23, 2024
@joshtrichards joshtrichards added 3. to review Waiting for reviews and removed 1. to develop Accepted and waiting to be taken care of labels Feb 23, 2024
@vincentkoevoets
Copy link

vincentkoevoets commented Feb 23, 2024

I have this exact same issue, running the latest NC with SMB shares and an iDrive S3 bucket attached. But I also noticed something else, I don't know if it's important or if it makes any difference, but for me the error only occurs when my pc is on, which is running the NC desktop app. When I shut down the desktop app, the spamming of the log stops immediately. I can even trigger it manually by clicking 'Sync now'.
Hope it helps.

@joshtrichards
Copy link
Member

If you feel so inclined, a possible fix is in #43794 (you'll have to manually patch to test though).

@vincentkoevoets
Copy link

I do feel inclined, but wouldn't know where to begin, running the linuxserver NC container. So I'll wait this out, good to know that a solution is in the works. Thanks!

@lavigne958
Copy link

lavigne958 commented Feb 23, 2024

Hi I feel inclined too 😆

I can test the patch manually, so far after running some investigation on my side I noticed I could trigger it using:

  • a full file scan from the remote storage location.
    • this does not trigger the log in the nextcloud log system, but on the output of the cli, which is expected I suppose.
  • using the sync command on a remote device (laptop, phone etc)
  • going through the web browser to skim through folders etc

If I repeat the above actions and I see the error in the logs, then I patch the code, then I repeat the actions and I don't see the error. Would this be enough as an end2end test ? 🤔

@stratacorps
Copy link

stratacorps commented Mar 1, 2024

If you feel so inclined, a possible fix is in #43794 (you'll have to manually patch to test though).

I went ahead and applied Josh's proposed fix to a 28.0.3 installation because this appears to be scheduled in 29 and I didn't want to wait.

The level 3 errors in the log re. array to string conversion are gone. We have three large stores on external S3 so I will let you know if there are any performance issues re. serializing/unserializing but so far things look good. Thank you!

EDIT: I did a quick test on one store and I really don't see a performance issues on a files scan:
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 4365 | 59459 | 0 | 12951 | 0 | 0 | 00:00:42 |
+---------+-------+-----+---------+---------+--------+--------------+

@joshtrichards
Copy link
Member

@lavigne958 Correct.

@stratacorps Thanks for sharing. And glad to hear it!

joshtrichards added a commit that referenced this issue Mar 1, 2024
@mhzawadi
Copy link

mhzawadi commented Mar 2, 2024

I too have just applied the fix from #43794 and things look to working again, running a user scan now to see if that sorts my slow down issue from the v28 upgrade

@nfguide
Copy link
Author

nfguide commented Mar 15, 2024

The error still exists in 29-Beta.

@stratacorps
Copy link

stratacorps commented Mar 15, 2024

The error still exists in 29-Beta.

Yes, it is listed as a milestone for 29, so I assume if they decide to include this it will be in the final release, not necessarily in all of the beta(s) leading up to a release maybe

It is still listed as a PR in Beta 3 from 7 hours ago, so I'm sure it will be there. Some comments on overhead concerns, I'm not sure how to read it, but #44186

@minimalic
Copy link

28.0.4 and two months later... still millions of errors

@stratacorps
Copy link

stratacorps commented Apr 2, 2024

28.0.4 and two months later... still millions of errors

Unfortunately its not even slated until 29. You will have to manually patch if you want it today, and patch every time you update 😕

@lavigne958
Copy link

lavigne958 commented Apr 2, 2024

yes, if you check the associated PR that solves the issue, you'll notice it's targeted for nextcloud-30, so not gonna be in production until quite some time.

the manual patch works like a charm !

@joshtrichards
Copy link
Member

joshtrichards commented Apr 2, 2024

yes, if you check the associated PR that solves the issue, you'll notice it's targeted for nextcloud-30, so not gonna be in production until quite some time.

For the record, bug fixes typically get backported[1]. The milestone on the main PR is the first release that PR is a candidate for making it into. It'll likely then be backported and accepted into maintenance releases for all then currently still supported major releases. But it does have to be implemented in a final enough way to be committed into the latest dev release, correct. Unfortunately I've been busy in other areas so haven't had the opportunity to revisit the PR to optimize it for a final merge.

If someone is so inclined, they're welcome to make an attempt at finishing it up. Otherwise you'll have to patch manually for now or wait for me or someone else to finish it up more officially.

[1] https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html#maintenance-releases

@KimmoJ
Copy link

KimmoJ commented Apr 2, 2024

This is exactly the kind of thing that makes Nextcloud just give up a highly unprofessional hobby tinkerer vibe. If Nextcloud wants to convince corporations and governments to invest into using this, you can't have errors that fill up the logs with errors due to a bald-faced bug remain unfixed for months. Oh well, good thing I only run it for myself.

@joshtrichards
Copy link
Member

This is exactly the kind of thing that makes Nextcloud just give up a highly unprofessional hobby tinkerer vibe. If Nextcloud wants to convince corporations and governments to invest into using this, you can't have errors that fill up the logs with errors due to a bald-faced bug remain unfixed for months.

This isn't the place, but (a) those types of institutions - of any significant size - rarely run the latest of anything so I'd argue this bug isn't yet relevant in those environments; (b) it's easily patched if important regardless of deployment size; (c) the existing patch works fine but is being held so that it can be optimized for performance which is kind of important to precisely the environments you just mentioned; (d) this issue only has four upvotes and no duplicate reports so indications are it's not impacting a lot of people at present so it's not necessarily the highest priority bug.

@jdavid82
Copy link

jdavid82 commented Apr 3, 2024

If I were a PHP developer I'd be happy to volunteer, but I'm a .Net developer. While I appreciate you guys fixing these bugs for the community basically for free, this one could be one of those that could escalate into a bigger problem if left unchecked for too long. If you guys have a Patreon or equivalent, please us know so that if The Important Professional Large Corporations are so worried about it then instead of complaining on here they could talk with their wallets over there and get it prioritized.

@ahcm
Copy link

ahcm commented Apr 3, 2024

If you think running occ:files scan making user's data disappear to them is not highest priority, you have never run a service with a large user base.

@stratacorps
Copy link

If you think running occ:files scan making user's data disappear to them is not highest priority, you have never run a service with a large user base.

What data loss or data disappearing is occurring with this bug?

@ahcm
Copy link

ahcm commented Apr 3, 2024

The users that are affected will not see any files.

Removing the external storage and using occ:files scan again will make them see their files again.

Now external storage is not available to the users.

@joshtrichards
Copy link
Member

joshtrichards commented Apr 3, 2024

Removing the external storage and using occ:files scan again will make them see their files again.

And with #43794 in place? The fix has been available for over a month. Others have stated it addresses this matter. I just haven't had time to adjust it (so it doesn't rely on serialization), which is an optimization preferred before merging formally.

If you guys have a Patreon or equivalent, please us know so that if The Important Professional Large Corporations are so worried about it then instead of complaining on here they could talk with their wallets over there and get it prioritized.

Commercial clients of Nextcloud GmbH already have a dedicated channel for bug reporting, escalation, etc. It's outside of GitHub via https://portal.nextcloud.com.

For the record, I'm a member of the open source Nextcloud project, but I'm not employed by Nextcloud GmbH.

@lavigne958
Copy link

For the record, I'm a member of the open source Nextcloud project, but I'm not employed by Nextcloud GmbH.

and thank you for taking the time to fix this issue. I tried it myself and could not figure it out (I'm too new to Nextcloud development)

The fix works in term of error rate, I have some external storage connected to my nextcloud but I'm too afraid to remove it and potentially lose it all 😬 or need to upload everything again 😞 , too risky for me to test it.

If that works I can connect a new external storage and check the behavior (run a scan, remove it, run a scan, connect it again, run a scan etc), if this has no effect on other external storages already connected 🙄

@nfguide
Copy link
Author

nfguide commented Apr 4, 2024

@lavigne958

The sledgehammer approach I used was to rollback to 27.x and will stay on 27 until 30.x is released which properly addresses the issue. I did taker a look at the patch mentioned above, and as I am NOT a coder and NOT completely knowledgeable enough to sort through the .php file to slap some code into file on the hopes it works, 27.x was the best option available.

Additionally, it's not real clear what the advantages are moving from 27.x when the primary use is online file storage.

Looking forward to 30.x.

@compuguy
Copy link

@lavigne958

The sledgehammer approach I used was to rollback to 27.x and will stay on 27 until 30.x is released which properly addresses the issue. I did taker a look at the patch mentioned above, and as I am NOT a coder and NOT completely knowledgeable enough to sort through the .php file to slap some code into file on the hopes it works, 27.x was the best option available.

Additionally, it's not real clear what the advantages are moving from 27.x when the primary use is online file storage.

Looking forward to 30.x.

Now I cant speak for larger deployments, but I was able to apply the patch to the latest 28.x release. I've not seen any issues on my instance (knock on wood).....

@HomelabHaven
Copy link

Was hoping the issue would be solved in version 29.0.0 as I read in other related threads... guess not:
image
Hard to troubleshoot when the system log is being inundated with "Scanner.php" S3 related error messages.

I NEVER change anything with my nextcloud setup except for version updates which seems to break something different every time. Quite disappointing when the system as a whole has so much potential yet I had the same buggy experience 7 years ago when trying nextcloud for the first time and giving it up shortly thereafter.

joshtrichards added a commit that referenced this issue May 4, 2024
joshtrichards added a commit that referenced this issue May 8, 2024
joshtrichards added a commit that referenced this issue May 8, 2024
@oadaeh
Copy link

oadaeh commented May 8, 2024

Thanks for the patch. I've been dealing with random sync errors for a few months, and after applying the patch to address the log errors, I think the sync errors have gone away, too. I only just applied the patch about an hour ago, so there still might be something else, but so far, it's looking pretty good.

backportbot bot pushed a commit that referenced this issue May 13, 2024
backportbot bot pushed a commit that referenced this issue May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.