server icon indicating copy to clipboard operation
server copied to clipboard

do not fail if size metadata for an image fail

Open mgallien opened this issue 2 years ago • 3 comments

some images may trigger an exception when trying to get their size

Signed-off-by: Matthieu Gallien [email protected]

fix for a blocking exception when running occ files:scan --generate-metadata for some images

Checklist

mgallien avatar May 01 '23 18:05 mgallien

Isnt https://github.com/nextcloud/server/pull/37944 the better approach?

szaimen avatar May 02 '23 08:05 szaimen

Isnt #37944 the better approach?

Both make sense. The execute method has a proper error handling already. PHP 8 behaves different and throws an exception, but returned false for earlier versions.

kesselb avatar May 02 '23 08:05 kesselb

@mgallien What is the trace of the error you are trying to fix?

come-nc avatar May 02 '23 12:05 come-nc

@come-nc see

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(333): OC\Files\Cache\Scanner->scanChildren()
#17 /var/www/nextcloud/lib/private/Files/Utils/Scanner.php(256): OC\Files\Cache\Scanner->scan()
#18 /var/www/nextcloud/apps/files/lib/Command/Scan.php(161): OC\Files\Utils\Scanner->scan()
#19 /var/www/nextcloud/apps/files/lib/Command/Scan.php(217): OCA\Files\Command\Scan->scanFiles()
#20 /var/www/nextcloud/apps/recognize/vendor/symfony/console/Command/Command.php(298): OCA\Files\Command\Scan->execute()
#21 /var/www/nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#22 /var/www/nextcloud/apps/recognize/vendor/symfony/console/Application.php(1040): OC\Core\Command\Base->run()
#23 /var/www/nextcloud/apps/recognize/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#24 /var/www/nextcloud/apps/recognize/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#25 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
#26 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
#27 /var/www/nextcloud/occ(11): require_once('...')
#28 {main}

mgallien avatar May 04 '23 09:05 mgallien

@mgallien This is fixed by https://github.com/nextcloud/server/pull/37944

come-nc avatar May 04 '23 12:05 come-nc

@come-nc so let's close #38011

mgallien avatar May 04 '23 13:05 mgallien