nystudio107 / craft-imageoptimize

Automatically create & optimize responsive image transforms, using either native Craft transforms or a service like Imgix, with zero template changes.
https://nystudio107.com/plugins/imageoptimize
Other
235 stars 36 forks source link

IMGIX : resizing fails on server #239

Closed denisyilmaz closed 3 years ago

denisyilmaz commented 3 years ago

Hi, I'm experiencing a similar Issue as mentioned in your comment here: https://github.com/nystudio107/craft-imageoptimize/issues/116#issuecomment-450177936. I have S3 setup with IMGIX with rather large image library (7000+). I had to change some settings inside image-optimize which result in a Optimizing images in media task.

{
    "criteria": {
        "siteId": 1,
        "volumeId": "3",
        "status": null,
        "enabledForSite": false
    },
    "fieldId": null,
    "force": false,
    "description": "Optimizing images in Media"
}

TTR is set to 4500 and queue is running via supervisor (queue/listen) as described in your blog-entry.

for some images the task fails with following error message (paths shortened for readability):

2020-11-18 15:40:37 [-][-][-][error][Imagine\Exception\RuntimeException] ImagickException: cache resources exhausted `./storage/runtime/temp/image-file.delimiter.5fb53263c054e8.68206049.jpg' @ error/cache.c/OpenPixelCache/3984 in ./vendor/pixelandtonic/imagine/src/Imagick/Imagick.php:189
Stack trace:
#0 ./vendor/pixelandtonic/imagine/src/Imagick/Imagick.php(189): Imagick->sampleimage()
#1 ./vendor/pixelandtonic/imagine/src/Imagick/Imagick.php(35): Imagine\Imagick\Imagick->thumbnailImage()
#2 ./vendor/pixelandtonic/imagine/src/Imagick/Image.php(317): Imagine\Imagick\Imagick->smartResize()
#3 ./vendor/craftcms/cms/src/image/Raster.php(379): Imagine\Imagick\Image->smartResize()
#4 ./vendor/craftcms/cms/src/image/Raster.php(241): craft\image\Raster->resize()
#5 ./vendor/craftcms/cms/src/services/AssetTransforms.php(1177): craft\image\Raster->scaleToFit()
#6 ./vendor/craftcms/cms/src/services/AssetTransforms.php(1095): craft\services\AssetTransforms->storeLocalSource()
#7 ./vendor/craftcms/cms/src/elements/Asset.php(1366): craft\services\AssetTransforms->getLocalImageSource()
#8 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(231): craft\elements\Asset->getTransformSource()
#9 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(211): nystudio107\imageoptimize\services\Placeholder->createImageFromAsset()
#10 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(433): nystudio107\imageoptimize\services\Placeholder->createTempPlaceholderImage()
#11 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(546): nystudio107\imageoptimize\services\OptimizedImages->generatePlaceholders()
#12 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(130): nystudio107\imageoptimize\services\OptimizedImages->addVariantImageToModel()
#13 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(248): nystudio107\imageoptimize\services\OptimizedImages->populateOptimizedImageModel()
#14 ./vendor/nystudio107/craft-imageoptimize/src/jobs/ResaveOptimizedImages.php(98): nystudio107\imageoptimize\services\OptimizedImages->updateOptimizedImageFieldData()
#15 ./vendor/yiisoft/yii2-queue/src/Queue.php(246): nystudio107\imageoptimize\jobs\ResaveOptimizedImages->execute()
#16 ./vendor/yiisoft/yii2-queue/src/cli/Queue.php(162): yii\queue\Queue->handleMessage()
#17 ./vendor/yiisoft/yii2-queue/src/cli/Command.php(146): yii\queue\cli\Queue->execute()
#18 [internal function]: yii\queue\cli\Command->actionExec()
#19 ./vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#20 ./vendor/yiisoft/yii2/base/Controller.php(180): yii\base\InlineAction->runWithParams()
#21 ./vendor/yiisoft/yii2/console/Controller.php(179): yii\base\Controller->runAction()
#22 ./vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction()
#23 ./vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#24 ./vendor/craftcms/cms/src/console/Application.php(88): yii\console\Application->runAction()
#25 ./vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#26 ./vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest()
#27 ./craft(22): yii\base\Application->run()
#28 {main}

Next Imagine\Exception\RuntimeException: Resize operation failed in ./vendor/pixelandtonic/imagine/src/Imagick/Image.php:325
Stack trace:
#0 ./vendor/craftcms/cms/src/image/Raster.php(379): Imagine\Imagick\Image->smartResize()
#1 ./vendor/craftcms/cms/src/image/Raster.php(241): craft\image\Raster->resize()
#2 ./vendor/craftcms/cms/src/services/AssetTransforms.php(1177): craft\image\Raster->scaleToFit()
#3 ./vendor/craftcms/cms/src/services/AssetTransforms.php(1095): craft\services\AssetTransforms->storeLocalSource()
#4 ./vendor/craftcms/cms/src/elements/Asset.php(1366): craft\services\AssetTransforms->getLocalImageSource()
#5 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(231): craft\elements\Asset->getTransformSource()
#6 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(211): nystudio107\imageoptimize\services\Placeholder->createImageFromAsset()
#7 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(433): nystudio107\imageoptimize\services\Placeholder->createTempPlaceholderImage()
#8 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(546): nystudio107\imageoptimize\services\OptimizedImages->generatePlaceholders()
#9 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(130): nystudio107\imageoptimize\services\OptimizedImages->addVariantImageToModel()
#10 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(248): nystudio107\imageoptimize\services\OptimizedImages->populateOptimizedImageModel()
#11 ./vendor/nystudio107/craft-imageoptimize/src/jobs/ResaveOptimizedImages.php(98): nystudio107\imageoptimize\services\OptimizedImages->updateOptimizedImageFieldData()
#12 ./vendor/yiisoft/yii2-queue/src/Queue.php(246): nystudio107\imageoptimize\jobs\ResaveOptimizedImages->execute()
#13 ./vendor/yiisoft/yii2-queue/src/cli/Queue.php(162): yii\queue\Queue->handleMessage()
#14 ./vendor/yiisoft/yii2-queue/src/cli/Command.php(146): yii\queue\cli\Queue->execute()
#15 [internal function]: yii\queue\cli\Command->actionExec()
#16 ./vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#17 ./vendor/yiisoft/yii2/base/Controller.php(180): yii\base\InlineAction->runWithParams()
#18 ./vendor/yiisoft/yii2/console/Controller.php(179): yii\base\Controller->runAction()
#19 ./vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction()
#20 ./vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#21 ./vendor/craftcms/cms/src/console/Application.php(88): yii\console\Application->runAction()
#22 ./vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#23 ./vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest()
#24 ./craft(22): yii\base\Application->run()
#25 {main}
denisyilmaz commented 3 years ago

I've run the task again now and now it outputs errors for a set of different images and then failing with same "cache resources exhausted":

020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/ka16_xyz.delimiter.5fb541a1262ad4.22558811.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/ka16_xyz_1.delimiter.5fb541a13ca8a6.63010432.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/ka16_xyz_200622_152105.delimiter.5fb541a15336f6.89207138.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz7.delimiter.5fb541a166f965.35388147.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz1.delimiter.5fb541a1784fe9.72968506.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz2.delimiter.5fb541a18b6460.45506541.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz3_doppel.delimiter.5fb541a1a629b1.80381159.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz5.delimiter.5fb541a1bccd50.80177326.jpg” does not appear to be an image.
2020-11-18 16:45:37 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz7_200622_152646.delimiter.5fb541a1d55ea9.83511065.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz8.delimiter.5fb541a1e8db69.15272340.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyzcain_collections_xyz9.delimiter.5fb541a205e632.03982127.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz06L.delimiter.5fb541a22862e3.74723203.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz01.delimiter.5fb541a23870d0.28804355.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz02.delimiter.5fb541a251df41.60751655.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz03.delimiter.5fb541a26a8435.97594564.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz04.delimiter.5fb541a2785286.46234955.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz05.delimiter.5fb541a28cebf1.23172765.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz06.delimiter.5fb541a2a0d374.98949860.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz06L_200622_153110.delimiter.5fb541a2b45616.16495432.jpg” does not appear to be an image.
2020-11-18 16:45:38 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz07.delimiter.5fb541a2d25897.35091241.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz08.delimiter.5fb541a2e6db74.68520563.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz09.delimiter.5fb541a3088e01.60267049.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz10.delimiter.5fb541a31bf385.14245784.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz11.delimiter.5fb541a3320b80.23530781.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz12.delimiter.5fb541a344fb73.89133762.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz13.delimiter.5fb541a358b179.45031325.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz14.delimiter.5fb541a36c0ec9.46879643.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz15.delimiter.5fb541a3846321.99820450.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz16.delimiter.5fb541a3976e18.89933527.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz17.delimiter.5fb541a3a6f4d4.95990342.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz18.delimiter.5fb541a3bc7786.59295345.jpg” does not appear to be an image.
2020-11-18 16:45:39 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz19.delimiter.5fb541a3cd8b26.23322859.jpg” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz20.delimiter.5fb541a3e16803.59932947.jpg” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz21.delimiter.5fb541a406a890.47029274.jpg” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz22.delimiter.5fb541a4163074.26330189.jpg” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz22L.delimiter.5fb541a42a2637.31889944.jpg” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_cain_bags_shoes_xyz23.delimiter.5fb541a4446941.07116304.jpg” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_xyz_oyj_jxyz_03.delimiter.5fb541a46004c3.27415582.png” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_xyz_oyj_jxyz_14.delimiter.5fb541a47f1796.84896476.png” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_xyz_oyj_jxyz_18.delimiter.5fb541a49955c5.70018107.png” does not appear to be an image.
2020-11-18 16:45:40 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_xyz_oyj_jxyz_28.delimiter.5fb541a4c62337.27802257.png” does not appear to be an image.
2020-11-18 16:45:41 [-][-][-][error][nystudio107\imageoptimize\jobs\ResaveOptimizedImages::execute] The file “./storage/runtime/temp/xyz_upm-keyeme_jxyz_01.delimiter.5fb541a4e4f130.66238481.png” does not appear to be an image.
2020-11-18 16:45:41 [-][-][-][error][craft\queue\QueueLogBehavior::afterError]  [271800] Optimizing images in Media (attempt: 1) - Error (time: 940.738s): Resize operation failed
2020-11-18 16:45:41 [-][-][-][error][Imagine\Exception\RuntimeException] ImagickException: cache resources exhausted `./storage/runtime/assets/sources/20106.jpg' @ error/cache.c/OpenPixelCache/3984 in ./vendor/pixelandtonic/imagine/src/Imagick/Imagick.php:177
Stack trace:
#0 ./vendor/pixelandtonic/imagine/src/Imagick/Imagick.php(177): Imagick->resizeimage()
#1 ./vendor/pixelandtonic/imagine/src/Imagick/Imagick.php(35): Imagine\Imagick\Imagick->thumbnailImage()
#2 ./vendor/pixelandtonic/imagine/src/Imagick/Image.php(317): Imagine\Imagick\Imagick->smartResize()
#3 ./vendor/craftcms/cms/src/image/Raster.php(379): Imagine\Imagick\Image->smartResize()
#4 ./vendor/craftcms/cms/src/image/Raster.php(260): craft\image\Raster->resize()
#5 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(278): craft\image\Raster->scaleAndCrop()
#6 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(233): nystudio107\imageoptimize\services\Placeholder->createImageFromPath()
#7 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(211): nystudio107\imageoptimize\services\Placeholder->createImageFromAsset()
#8 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(433): nystudio107\imageoptimize\services\Placeholder->createTempPlaceholderImage()
#9 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(546): nystudio107\imageoptimize\services\OptimizedImages->generatePlaceholders()
#10 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(130): nystudio107\imageoptimize\services\OptimizedImages->addVariantImageToModel()
#11 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(248): nystudio107\imageoptimize\services\OptimizedImages->populateOptimizedImageModel()
#12 ./vendor/nystudio107/craft-imageoptimize/src/jobs/ResaveOptimizedImages.php(98): nystudio107\imageoptimize\services\OptimizedImages->updateOptimizedImageFieldData()
#13 ./vendor/yiisoft/yii2-queue/src/Queue.php(246): nystudio107\imageoptimize\jobs\ResaveOptimizedImages->execute()
#14 ./vendor/yiisoft/yii2-queue/src/cli/Queue.php(162): yii\queue\Queue->handleMessage()
#15 ./vendor/yiisoft/yii2-queue/src/cli/Command.php(146): yii\queue\cli\Queue->execute()
#16 [internal function]: yii\queue\cli\Command->actionExec()
#17 ./vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#18 ./vendor/yiisoft/yii2/base/Controller.php(180): yii\base\InlineAction->runWithParams()
#19 ./vendor/yiisoft/yii2/console/Controller.php(179): yii\base\Controller->runAction()
#20 ./vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction()
#21 ./vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#22 ./vendor/craftcms/cms/src/console/Application.php(88): yii\console\Application->runAction()
#23 ./vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#24 ./vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest()
#25 ./craft(22): yii\base\Application->run()
#26 {main}

Next Imagine\Exception\RuntimeException: Resize operation failed in ./vendor/pixelandtonic/imagine/src/Imagick/Image.php:325
Stack trace:
#0 ./vendor/craftcms/cms/src/image/Raster.php(379): Imagine\Imagick\Image->smartResize()
#1 ./vendor/craftcms/cms/src/image/Raster.php(260): craft\image\Raster->resize()
#2 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(278): craft\image\Raster->scaleAndCrop()
#3 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(233): nystudio107\imageoptimize\services\Placeholder->createImageFromPath()
#4 ./vendor/nystudio107/craft-imageoptimize/src/services/Placeholder.php(211): nystudio107\imageoptimize\services\Placeholder->createImageFromAsset()
#5 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(433): nystudio107\imageoptimize\services\Placeholder->createTempPlaceholderImage()
#6 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(546): nystudio107\imageoptimize\services\OptimizedImages->generatePlaceholders()
#7 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(130): nystudio107\imageoptimize\services\OptimizedImages->addVariantImageToModel()
#8 ./vendor/nystudio107/craft-imageoptimize/src/services/OptimizedImages.php(248): nystudio107\imageoptimize\services\OptimizedImages->populateOptimizedImageModel()
#9 ./vendor/nystudio107/craft-imageoptimize/src/jobs/ResaveOptimizedImages.php(98): nystudio107\imageoptimize\services\OptimizedImages->updateOptimizedImageFieldData()
#10 ./vendor/yiisoft/yii2-queue/src/Queue.php(246): nystudio107\imageoptimize\jobs\ResaveOptimizedImages->execute()
#11 ./vendor/yiisoft/yii2-queue/src/cli/Queue.php(162): yii\queue\Queue->handleMessage()
#12 ./vendor/yiisoft/yii2-queue/src/cli/Command.php(146): yii\queue\cli\Queue->execute()
#13 [internal function]: yii\queue\cli\Command->actionExec()
#14 ./vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#15 ./vendor/yiisoft/yii2/base/Controller.php(180): yii\base\InlineAction->runWithParams()
#16 ./vendor/yiisoft/yii2/console/Controller.php(179): yii\base\Controller->runAction()
#17 ./vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction()
#18 ./vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#19 ./vendor/craftcms/cms/src/console/Application.php(88): yii\console\Application->runAction()
#20 ./vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#21 ./vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest()
#22 ./craft(22): yii\base\Application->run()
#23 {main}

I checked the files in the runtime/temp folder and they are legit image files, I saved them locally and could provide them via email if you would like to investigate.

khalwat commented 3 years ago

So ImageOptimize just uses Craft transforms to transform images, and it in turn that calls the Imagine library which in turn calls Imagick or GD or whatever you have installed.

As we can see from the stack traces, it's dying somewhere inside of Imagick. The reason SEOmatic is using a local Craft transform here it all is because it needs to generate the placeholder image.

I'm going to suspect since it works for most files, but dies on some that there might be some corrupt files in the mix, or files that aren't in the right format.

denisyilmaz commented 3 years ago

Thanks for pointing that out. Did not know that the thumbnails are created within CraftCMS transformers. Makes sense! Closing this.

engram-design commented 3 years ago

Just ran into this on our server, and the failed queue job show "Resize operation failed". Would be great to know which asset failed so we can investigate if it's just a corrupt asset, too large, etc

khalwat commented 3 years ago

@engram-design the problem is the error is coming from far down the callchain, where there isn't a concept of an "Asset" even. I'd suggest running it via the CLI, where it should output each transform that's being done, and thus you should be able to correlate which asset is throwing the error.

If you can think of a better way I could make this information available, I'm all ears.

engram-design commented 3 years ago

@khalwat Yep after diving into it, looks like you're correct. I'll see if there's anything we can do. Wading through the logs, there was about 5 images that were 8k i dimensions, which was doing it.

khalwat commented 3 years ago

If only someone would write a plugin that could prevent people from uploading massive images... :)