Generating previews on encrypted files let generator fail
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
- Upload a password secured pdf
- 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
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.
The current version fails and generating preview stops totally. Have to remove the encrypted file and start the whole process again.
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...')
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.
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}