XF 2.3 Optimize attachments failure

cdarsch

Member
I'm getting an error partway through the "optimize attachments" process. Here's the error that appears onscreen
1740435522935.webp

And here's the server error log:
Stack trace
#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] ima...', '/home/gmcrvfor/...', 224)
#1 src/XF/Image/Gd.php(224): imagewebp(Object(GdImage), '/home/gmcrvfor/...', 85)
#2 src/XF/Image/AbstractDriver.php(285): XF\Image\Gd->_optimizeImage('/home/gmcrvfor/...', 85)
#3 src/XF/Service/Attachment/PreparerService.php(183): XF\Image\AbstractDriver->optimizeImage('/home/gmcrvfor/...')
#4 src/addons/XFMG/XF/Service/Attachment/Preparer.php(13): XF\Service\Attachment\PreparerService->optimizeExistingAttachment(Object(SV\AttachmentImprovements\XF\Entity\AttachmentData))
#5 src/addons/SV/AttachmentImprovements/XF/Service/Attachment/Preparer.php(134): XFMG\XF\Service\Attachment\Preparer->optimizeExistingAttachment(Object(SV\AttachmentImprovements\XF\Entity\AttachmentData))
#6 src/XF/Job/AttachmentOptimization.php(33): SV\AttachmentImprovements\XF\Service\Attachment\Preparer->optimizeExistingAttachment(Object(SV\AttachmentImprovements\XF\Entity\AttachmentData))
#7 src/XF/Job/AbstractImageOptimizationJob.php(27): XF\Job\AttachmentOptimization->optimizeById(1372)
#8 src/XF/Job/AbstractRebuildJob.php(42): XF\Job\AbstractImageOptimizationJob->rebuildById(1372)
#9 src/XF/Job/AbstractImageOptimizationJob.php(18): XF\Job\AbstractRebuildJob->run(8)
#10 src/XF/Job/Manager.php(275): XF\Job\AbstractImageOptimizationJob->run(8)
#11 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#12 src/XF/Job/Manager.php(121): XF\Job\Manager->runJobEntry(Array, 8)
#13 src/XF/Admin/Controller/ToolsController.php(146): XF\Job\Manager->runByIds(Array, 8)
#14 src/XF/Mvc/Dispatcher.php(362): XF\Admin\Controller\ToolsController->actionRunJob(Object(XF\Mvc\ParameterBag))
#15 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#16 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#17 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#18 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#19 src/XF.php(806): XF\App->run()
#20 admin.php(15): XF::runApp('XF\\Admin\\App')
#21 {main}


Any suggestions on how to find the image that's causing the problem? It would be nice if the process could just log the error and continue.

Thanks!
 
I would also run it in a screen environement too. If it disconnects you can reattach with "screen -r".
Yeah, he has issue with add-ons that can break attachment optimization, first he has to disable all add-ons before run rebuild attachment optimization, if that is fixed issue and he may need to report this issue to author developer

I can't disable all addons because this can take a lonnnng time to run.
How much do you have add-on installed? Are you running at Shared or VPS/Dedicated server?
 
Yeah, he has issue with add-ons that can break attachment optimization, first he has to disable all add-ons before run rebuild attachment optimization, if that is fixed issue and he may need to report this issue to author developer


How much do you have add-on installed? Are you running at Shared or VPS/Dedicated server?
shared. These are my addons:

1740494459690.webp
 
Disabled those addons and tried again via web (haven't tried CLI yet): Same error. FYI, the first time I ran this it got through >1000 images before dying, so I think it's choking on a particular image.
 
Could you send me a new error for full backtrace again? I can take a look
  • ErrorException: [E_WARNING] imagewebp(): gd-webp encoding failed
  • src/XF/Image/Gd.php:224
  • Generated by: Christo
  • Feb 25, 2025 at 9:44 AM

Stack trace​

#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] ima...', '/home/gmcrvfor/...', 224)
#1 src/XF/Image/Gd.php(224): imagewebp(Object(GdImage), '/home/gmcrvfor/...', 85)
#2 src/XF/Image/AbstractDriver.php(285): XF\Image\Gd->_optimizeImage('/home/gmcrvfor/...', 85)
#3 src/XF/Service/Attachment/PreparerService.php(183): XF\Image\AbstractDriver->optimizeImage('/home/gmcrvfor/...')
#4 src/addons/XFMG/XF/Service/Attachment/Preparer.php(13): XF\Service\Attachment\PreparerService->optimizeExistingAttachment(Object(XFMG\XF\Entity\AttachmentData))
#5 src/XF/Job/AttachmentOptimization.php(33): XFMG\XF\Service\Attachment\Preparer->optimizeExistingAttachment(Object(XFMG\XF\Entity\AttachmentData))
#6 src/XF/Job/AbstractImageOptimizationJob.php(27): XF\Job\AttachmentOptimization->optimizeById(1372)
#7 src/XF/Job/AbstractRebuildJob.php(42): XF\Job\AbstractImageOptimizationJob->rebuildById(1372)
#8 src/XF/Job/AbstractImageOptimizationJob.php(18): XF\Job\AbstractRebuildJob->run(8)
#9 src/XF/Job/Manager.php(275): XF\Job\AbstractImageOptimizationJob->run(8)
#10 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#11 src/XF/Job/Manager.php(121): XF\Job\Manager->runJobEntry(Array, 8)
#12 src/XF/Admin/Controller/ToolsController.php(146): XF\Job\Manager->runByIds(Array, 8)
#13 src/XF/Mvc/Dispatcher.php(362): XF\Admin\Controller\ToolsController->actionRunJob(Object(XF\Mvc\ParameterBag))
#14 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#15 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#16 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#17 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#18 src/XF.php(806): XF\App->run()
#19 admin.php(15): XF::runApp('XF\\Admin\\App')
#20 {main}

Request state​

array(4) {
["url"] => string(24) "/admin.php?tools/run-job"
["referrer"] => string(124) "https://www.gmcmotorhome.org/admin....xfRedirect=/admin.php?tools/rebuild&success=1"
["_GET"] => array(1) {
["tools/run-job"] => string(0) ""
}
["_POST"] => array(3) {
["_xfRedirect"] => string(62) "https://www.gmcmotorhome.org/admin.php?tools/rebuild&success=1"
["_xfToken"] => string(8) "********"
["only_ids"] => string(6) "190583"
}
}
 
  • ErrorException: [E_WARNING] imagewebp(): gd-webp encoding failed
  • src/XF/Image/Gd.php:224
  • Generated by: Christo
  • Feb 25, 2025 at 9:44 AM

Stack trace​

#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] ima...', '/home/gmcrvfor/...', 224)
#1 src/XF/Image/Gd.php(224): imagewebp(Object(GdImage), '/home/gmcrvfor/...', 85)
#2 src/XF/Image/AbstractDriver.php(285): XF\Image\Gd->_optimizeImage('/home/gmcrvfor/...', 85)
#3 src/XF/Service/Attachment/PreparerService.php(183): XF\Image\AbstractDriver->optimizeImage('/home/gmcrvfor/...')
#4 src/addons/XFMG/XF/Service/Attachment/Preparer.php(13): XF\Service\Attachment\PreparerService->optimizeExistingAttachment(Object(XFMG\XF\Entity\AttachmentData))
#5 src/XF/Job/AttachmentOptimization.php(33): XFMG\XF\Service\Attachment\Preparer->optimizeExistingAttachment(Object(XFMG\XF\Entity\AttachmentData))
#6 src/XF/Job/AbstractImageOptimizationJob.php(27): XF\Job\AttachmentOptimization->optimizeById(1372)
#7 src/XF/Job/AbstractRebuildJob.php(42): XF\Job\AbstractImageOptimizationJob->rebuildById(1372)
#8 src/XF/Job/AbstractImageOptimizationJob.php(18): XF\Job\AbstractRebuildJob->run(8)
#9 src/XF/Job/Manager.php(275): XF\Job\AbstractImageOptimizationJob->run(8)
#10 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#11 src/XF/Job/Manager.php(121): XF\Job\Manager->runJobEntry(Array, 8)
#12 src/XF/Admin/Controller/ToolsController.php(146): XF\Job\Manager->runByIds(Array, 8)
#13 src/XF/Mvc/Dispatcher.php(362): XF\Admin\Controller\ToolsController->actionRunJob(Object(XF\Mvc\ParameterBag))
#14 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#15 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#16 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#17 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#18 src/XF.php(806): XF\App->run()
#19 admin.php(15): XF::runApp('XF\\Admin\\App')
#20 {main}

Request state​

array(4) {
["url"] => string(24) "/admin.php?tools/run-job"
["referrer"] => string(124) "https://www.gmcmotorhome.org/admin.php?tools/run-job&only_id=190583&_xfRedirect=/admin.php?tools/rebuild&success=1"
["_GET"] => array(1) {
["tools/run-job"] => string(0) ""
}
["_POST"] => array(3) {
["_xfRedirect"] => string(62) "https://www.gmcmotorhome.org/admin.php?tools/rebuild&success=1"
["_xfToken"] => string(8) "********"
["only_ids"] => string(6) "190583"
}
}
Looks like Attachment improvements were disabled and no error. Please disable XenForo Media Gallery and try run again
 
  • ErrorException: [E_WARNING] imagewebp(): gd-webp encoding failed
  • src/XF/Image/Gd.php:224
  • Generated by: Christo
  • Feb 25, 2025 at 9:57 AM

Stack trace​

#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] ima...', '/home/gmcrvfor/...', 224)
#1 src/XF/Image/Gd.php(224): imagewebp(Object(GdImage), '/home/gmcrvfor/...', 85)
#2 src/XF/Image/AbstractDriver.php(285): XF\Image\Gd->_optimizeImage('/home/gmcrvfor/...', 85)
#3 src/XF/Service/Attachment/PreparerService.php(183): XF\Image\AbstractDriver->optimizeImage('/home/gmcrvfor/...')
#4 src/XF/Job/AttachmentOptimization.php(33): XF\Service\Attachment\PreparerService->optimizeExistingAttachment(Object(XF\Entity\AttachmentData))
#5 src/XF/Job/AbstractImageOptimizationJob.php(27): XF\Job\AttachmentOptimization->optimizeById(1372)
#6 src/XF/Job/AbstractRebuildJob.php(42): XF\Job\AbstractImageOptimizationJob->rebuildById(1372)
#7 src/XF/Job/AbstractImageOptimizationJob.php(18): XF\Job\AbstractRebuildJob->run(8)
#8 src/XF/Job/Manager.php(275): XF\Job\AbstractImageOptimizationJob->run(8)
#9 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#10 src/XF/Job/Manager.php(89): XF\Job\Manager->runJobEntry(Array, 8)
#11 src/XF/Admin/Controller/ToolsController.php(165): XF\Job\Manager->runQueue(true, 8)
#12 src/XF/Mvc/Dispatcher.php(362): XF\Admin\Controller\ToolsController->actionRunJob(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#14 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\ToolsController), NULL)
#15 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#16 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#17 src/XF.php(806): XF\App->run()
#18 admin.php(15): XF::runApp('XF\\Admin\\App')
#19 {main}

Request state​

array(4) {
["url"] => string(24) "/admin.php?tools/run-job"
["referrer"] => string(52) "https://www.gmcmotorhome.org/admin.php?tools/run-job"
["_GET"] => array(1) {
["tools/run-job"] => string(0) ""
}
["_POST"] => array(3) {
["_xfRedirect"] => string(38) "https://www.gmcmotorhome.org/admin.php"
["_xfToken"] => string(8) "********"
["only_ids"] => string(0) ""
}
}
 

Might be worth reading.
 

Might be worth reading.
I was close to giving a fix error, but never heard of this one. My solution issue is same as from this fix. Good for this!
 
Back
Top Bottom