previewgenerator icon indicating copy to clipboard operation
previewgenerator copied to clipboard

Generating previews on encrypted files let generator fail

Open xundeenergie opened this issue 2 months ago • 5 comments

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Upload a password secured pdf
  2. run preview-generator

Expected behaviour

If preview generator can not open a file to generate a preview in case of encryption / password secured file, it should ignore this file or create a thumbnail which gives information that this file is encrypted.

Actual behaviour

Generation of previews stops with an error. No more previews are generated. I have to remove the encrypted file and start again generating previews.

Server configuration

Web server: Nextcloud AIO 31.0.9 bundled caddy

Database: Nextcloud AIO 31.0.9 think it's postgres?

PHP version: Nextcloud AIO 31.0.9

Nextcloud version: (see Nextcloud admin page)

List of activated apps
# docker exec -ti --user=www-data nextcloud-aio-nextcloud php occ app:list
Enabled:
  - activity: 4.0.0
  - admin_audit: 1.21.0
  - assistant: 2.9.0
  - bruteforcesettings: 4.0.0
  - calendar: 5.5.7
  - circles: 31.0.0
  - cloud_federation_api: 1.14.0
  - collectives: 3.2.1
  - comments: 1.21.0
  - contacts: 7.3.4
  - contactsinteraction: 1.12.0
  - cookbook: 0.11.4
  - cospend: 3.1.6
  - dav: 1.33.0
  - deck: 1.15.3
  - emlviewer: 2.0.1
  - epubviewer: 1.8.1
  - facerecognition: 0.9.70
  - federatedfilesharing: 1.21.0
  - federation: 1.21.0
  - files: 2.3.1
  - files_accesscontrol: 2.0.2
  - files_automatedtagging: 2.0.0
  - files_confidential: 3.3.0
  - files_downloadactivity: 1.18.1
  - files_downloadlimit: 4.0.0
  - files_external: 1.23.0
  - files_pdfviewer: 4.0.0
  - files_reminders: 1.4.0
  - files_retention: 2.0.1
  - files_sharing: 1.23.1
  - files_trashbin: 1.21.0
  - files_versions: 1.24.0
  - fileslibreofficeedit: 2.0.1
  - forms: 5.2.2
  - gpoddersync: 3.13.1
  - groupfolders: 19.1.8
  - impersonate: 2.0.0
  - integration_oidc: 0.1.6
  - integration_openai: 3.7.1
  - journeys: 0.7.11
  - logreader: 4.0.0
  - lookup_server_connector: 1.19.0
  - maps: 1.6.0
  - memories: 7.7.0
  - music: 2.4.1
  - nextcloud-aio: 0.8.0
  - nextcloud_announcements: 3.0.0
  - nextpod: 0.7.8
  - notes: 4.12.3
  - notifications: 4.0.0
  - notify_push: 1.2.0
  - oauth2: 1.19.1
  - oidc_login: 3.2.2
  - ownershiptransfer: 1.3.0
  - photos: 4.0.0
  - polls: 8.5.0
  - previewgenerator: 5.10.0
  - privacy: 3.0.0
  - profile: 1.0.0
  - provisioning_api: 1.21.0
  - related_resources: 2.0.0
  - richdocuments: 8.7.6
  - serverinfo: 3.0.0
  - settings: 1.14.0
  - sharebymail: 1.21.0
  - spreed: 21.1.5
  - support: 3.0.0
  - suspicious_login: 9.0.1
  - tasks: 0.16.1
  - text: 5.0.0
  - theming: 2.6.1
  - twofactor_backupcodes: 1.20.0
  - twofactor_nextcloud_notification: 5.0.0
  - twofactor_totp: 13.0.0-dev.0
  - updatenotification: 1.21.0
  - user_oidc: 8.1.0
  - user_status: 1.11.0
  - viewer: 4.0.0
  - whiteboard: 1.3.0
  - workflow_script: 2.0.0
  - workflowengine: 2.13.0
Disabled:
  - app_api: 5.0.2 (installed 5.0.2)
  - dashboard: 7.11.0 (installed 7.11.0)
  - encryption: 2.19.0 (installed 2.19.0)
  - firstrunwizard: 4.0.0 (installed 4.0.0)
  - intros: 1.1.2 (installed 1.1.2)
  - libresign: 11.5.1 (installed 11.5.1)
  - password_policy: 3.0.0 (installed 3.0.0)
  - recommendations: 4.0.0 (installed 4.0.0)
  - survey_client: 3.0.0 (installed 3.0.0)
  - systemtags: 1.21.1 (installed 1.21.1)
  - tables: 0.9.5 (installed 0.9.5)
  - user_ldap: 1.22.0
  - weather_status: 1.11.0 (installed 1.11.0)
  - webhook_listeners: 1.2.0 (installed 1.2.0)

Nextcloud configuration
root@zimablade:~# docker exec -ti --user=www-data nextcloud-aio-nextcloud php occ config:list system
{
    "system": {
        "debug": false,
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "overwritehost": "nc.schuerz.at",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "nc.schuerz.at"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "31.0.9.1",
        "overwrite.cli.url": "https:\/\/nc.schuerz.at\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "updatechecker": false,
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": 10485760,
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 80,
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita",
            "0": "OC\\Preview\\Imaginary",
            "23": "OC\\Preview\\ImaginaryPDF"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": 30,
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "updatedirectory": "\/nc-updater",
        "maintenance_window_start": 100,
        "allow_local_remote_servers": true,
        "davstorage.request_timeout": 3600,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "facerecognition.external_model_url": "nextcloud-aio-facerecognition:5000",
        "enabledFaceRecognitionMimetype": [
            "image\/jpeg",
            "image\/png",
            "image\/heic",
            "image\/tiff",
            "image\/webp"
        ],
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-amd64-musl",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-amd64",
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "memories.vod.external": true,
        "memories.vod.connect": "nextcloud-aio-memories:47788",
        "allow_user_to_change_display_name": false,
        "lost_password_link": "disabled",
        "app_install_overwrite": [
            "globalsiteselector"
        ],
        "default_phone_region": "AT",
        "filesystem_check_changes": 1,
        "memories.gis_type": 2,
        "facerecognition.external_model_api_key": "910a37b3a89a7c47964eca0195ee74f17b3d7e00955e5b60",
        "DOMAIN": "nc.schuerz.at"
    }
}

Browser

Browser name: not relevant. It's serverside

Browser version: not relevant. It's serverside

Operating system: not relevant. It's serverside

not relevant. It's serverside

xundeenergie avatar Oct 23 '25 06:10 xundeenergie

The current logic will try to regenerate the preview again and again when it fails.

We would need to implement some kind of detection logic for encrypted PDFs for this to work I think.

st3iny avatar Oct 23 '25 07:10 st3iny

The current version fails and generating preview stops totally. Have to remove the encrypted file and start the whole process again.

xundeenergie avatar Oct 23 '25 17:10 xundeenergie

So i moved an encrypted file again to my nextcloud an run docker exec -ti --user=www-data nextcloud-aio-nextcloud php occ preview:generate-all -vvv again.

This is the error on the encrypted file, where preview-generation stops:

2025-10-24T07:15:43+00:00 Generating previews for /myuser/files/Bi-s 3890 Stirn-Bühne-Draufsicht-PW.pdf
An unhandled exception has been thrown:
Error: Call to undefined method GuzzleHttp\Psr7\Utils::redactUserInfo() in /var/www/html/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php:92
Stack trace:
#0 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response), NULL, Array, NULL)
#1 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response))
#2 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)
#3 /var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
#4 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Promise\TaskQueue->run(true)
#5 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#6 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#7 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#8 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#9 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Promise\Promise->wait()
#10 /var/www/html/lib/private/Http/Client/Client.php(277): GuzzleHttp\Client->request('post', 'http://nextclou...', Array)
#11 /var/www/html/custom_apps/richdocuments/lib/Service/RemoteService.php(87): OC\Http\Client\Client->post('http://nextclou...', Array)
#12 /var/www/html/custom_apps/richdocuments/lib/Service/RemoteService.php(67): OCA\Richdocuments\Service\RemoteService->convertTo('Bi-s 3890 Stirn...', Resource id #4548, 'png')
#13 /var/www/html/custom_apps/richdocuments/lib/Preview/Office.php(41): OCA\Richdocuments\Service\RemoteService->convertFileTo(Object(OC\Files\Node\File), 'png')
#14 /var/www/html/lib/private/Preview/GeneratorHelper.php(44): OCA\Richdocuments\Preview\Office->getThumbnail(Object(OC\Files\Node\File), 2048, 2048)
#15 /var/www/html/lib/private/Preview/Generator.php(342): OC\Preview\GeneratorHelper->getThumbnail(Object(OCA\Richdocuments\Preview\Pdf), Object(OC\Files\Node\File), 2048, 2048)
#16 /var/www/html/lib/private/Preview/Generator.php(313): OC\Preview\Generator->generateProviderPreview(Object(OC\Files\SimpleFS\SimpleFolder), Object(OC\Files\Node\File), 2048, 2048, false, true, 'application/pdf', '')
#17 /var/www/html/lib/private/Preview/Generator.php(117): OC\Preview\Generator->getMaxPreview(Object(OC\Files\SimpleFS\SimpleFolder), Array, Object(OC\Files\Node\File), 'application/pdf', '')
#18 /var/www/html/lib/private/PreviewManager.php(182): OC\Preview\Generator->generatePreviews(Object(OC\Files\Node\File), Array, 'application/pdf')
#19 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(210): OC\PreviewManager->generatePreviews(Object(OC\Files\Node\File), Array)
#20 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(192): OCA\PreviewGenerator\Command\Generate->parseFile(Object(OC\Files\Node\File))
#21 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(170): OCA\PreviewGenerator\Command\Generate->parseFolder(Object(OC\Files\Node\Folder), Array)
#22 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(116): OCA\PreviewGenerator\Command\Generate->generateUserPreviews(Object(OC\User\LazyUser))
#23 /var/www/html/lib/private/User/Manager.php(645): OCA\PreviewGenerator\Command\Generate->OCA\PreviewGenerator\Command\{closure}(Object(OC\User\LazyUser))
#24 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(115): OC\User\Manager->callForSeenUsers(Object(Closure))
#25 /var/www/html/3rdparty/symfony/console/Command/Command.php(326): OCA\PreviewGenerator\Command\Generate->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#26 /var/www/html/3rdparty/symfony/console/Application.php(1078): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#27 /var/www/html/3rdparty/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand(Object(OCA\PreviewGenerator\Command\Generate), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /var/www/html/3rdparty/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /var/www/html/lib/private/Console/Application.php(187): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /var/www/html/console.php(87): OC\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput))
#31 /var/www/html/occ(33): require_once('/var/www/html/c...')

xundeenergie avatar Oct 24 '25 07:10 xundeenergie

Oh... and currently not available network-storages also stops generating previews...

That is the only line from output for this case and the last one.

2025-10-24T08:49:26+00:00 Storage for folder /myuser/files/SHARED is not available: Storage with mount id 35 is not available

After that, preview:generate-all stopped

This is a simple SFTP mounted external storage. I added this as user, not as system-share into my nextcloud. But the backend-server is not always online.

preview-generator just shuld ignore such cases and not stop.

xundeenergie avatar Oct 24 '25 10:10 xundeenergie

That is the output of docker exec -ti --user=www-data nextcloud-aio-nextcloud php occ preview:generate-all -vvv when a encrypted file is met.

An unhandled exception has been thrown:
Error: Call to undefined method GuzzleHttp\Psr7\Utils::redactUserInfo() in /var/www/html/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php:92
Stack trace:
#0 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response), NULL, Array, NULL)
#1 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response))
#2 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)
#3 /var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
#4 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Promise\TaskQueue->run(true)
#5 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#6 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#7 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#8 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#9 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Promise\Promise->wait()
#10 /var/www/html/lib/private/Http/Client/Client.php(206): GuzzleHttp\Client->request('get', 'https://nextclo...', Array)
#11 /var/www/html/lib/private/Files/Storage/DAV.php(330): OC\Http\Client\Client->get('https://nextclo...', Array)
#12 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(142): OC\Files\Storage\DAV->fopen('110 Jahre Press...', 'r')
#13 /var/www/html/lib/private/Files/Storage/Wrapper/KnownMtime.php(108): OC\Files\Storage\Wrapper\Wrapper->fopen('110 Jahre Press...', 'r')
#14 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(142): OC\Files\Storage\Wrapper\KnownMtime->fopen('110 Jahre Press...', 'r')
#15 /var/www/html/lib/private/Files/Storage/Wrapper/PermissionsMask.php(98): OC\Files\Storage\Wrapper\Wrapper->fopen('110 Jahre Press...', 'r')
#16 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(142): OC\Files\Storage\Wrapper\PermissionsMask->fopen('110 Jahre Press...', 'r')
#17 [internal function]: OC\Files\Storage\Wrapper\Wrapper->fopen('110 Jahre Press...', 'r')
#18 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(79): call_user_func_array(Array, Array)
#19 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(174): OC\Files\Storage\Wrapper\Availability->handleAvailability('fopen', '110 Jahre Press...', 'r')
#20 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(142): OC\Files\Storage\Wrapper\Availability->fopen('110 Jahre Press...', 'r')
#21 /var/www/html/lib/private/Files/View.php(1209): OC\Files\Storage\Wrapper\Wrapper->fopen('110 Jahre Press...', 'r')
#22 /var/www/html/lib/private/Files/View.php(1037): OC\Files\View->basicOperation('fopen', '/jakobus.schuer...', Array, 'r')
#23 /var/www/html/lib/private/Files/Node/File.php(95): OC\Files\View->fopen('/jakobus.schuer...', 'r')
#24 /var/www/html/lib/private/Preview/ProviderV2.php(73): OC\Files\Node\File->fopen('r')
#25 /var/www/html/lib/private/Preview/Movie.php(83): OC\Preview\ProviderV2->getLocalFile(Object(OC\Files\Node\File), 5242880)
#26 /var/www/html/lib/private/Preview/GeneratorHelper.php(44): OC\Preview\Movie->getThumbnail(Object(OC\Files\Node\File), 2048, 2048)
#27 /var/www/html/lib/private/Preview/Generator.php(342): OC\Preview\GeneratorHelper->getThumbnail(Object(OC\Preview\Movie), Object(OC\Files\Node\File), 2048, 2048)
#28 /var/www/html/lib/private/Preview/Generator.php(313): OC\Preview\Generator->generateProviderPreview(Object(OC\Files\SimpleFS\SimpleFolder), Object(OC\Files\Node\File), 2048, 2048, false, true, 'video/mp4', '')
#29 /var/www/html/lib/private/Preview/Generator.php(117): OC\Preview\Generator->getMaxPreview(Object(OC\Files\SimpleFS\SimpleFolder), Array, Object(OC\Files\Node\File), 'video/mp4', '')
#30 /var/www/html/lib/private/PreviewManager.php(182): OC\Preview\Generator->generatePreviews(Object(OC\Files\Node\File), Array, 'video/mp4')
#31 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(210): OC\PreviewManager->generatePreviews(Object(OC\Files\Node\File), Array)
#32 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(192): OCA\PreviewGenerator\Command\Generate->parseFile(Object(OC\Files\Node\File))
#33 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(190): OCA\PreviewGenerator\Command\Generate->parseFolder(Object(OC\Files\Node\Folder), Array)
#34 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(190): OCA\PreviewGenerator\Command\Generate->parseFolder(Object(OC\Files\Node\Folder), Array)
#35 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(170): OCA\PreviewGenerator\Command\Generate->parseFolder(Object(OC\Files\Node\Folder), Array)
#36 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(116): OCA\PreviewGenerator\Command\Generate->generateUserPreviews(Object(OC\User\LazyUser))
#37 /var/www/html/lib/private/User/Manager.php(645): OCA\PreviewGenerator\Command\Generate->OCA\PreviewGenerator\Command\{closure}(Object(OC\User\LazyUser))
#38 /var/www/html/custom_apps/previewgenerator/lib/Command/Generate.php(115): OC\User\Manager->callForSeenUsers(Object(Closure))
#39 /var/www/html/3rdparty/symfony/console/Command/Command.php(326): OCA\PreviewGenerator\Command\Generate->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#40 /var/www/html/3rdparty/symfony/console/Application.php(1078): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#41 /var/www/html/3rdparty/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand(Object(OCA\PreviewGenerator\Command\Generate), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#42 /var/www/html/3rdparty/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#43 /var/www/html/lib/private/Console/Application.php(187): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#44 /var/www/html/console.php(87): OC\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput))
#45 /var/www/html/occ(33): require_once('/var/www/html/c...')
#46 {main}

xundeenergie avatar Oct 24 '25 17:10 xundeenergie