cancel
Showing results for 
Search instead for 
Did you mean: 

[Again] Error when edit product or browser page with Insert Image field (Magento 2.4.1)

SOLVED

[Again] Error when edit product or browser page with Insert Image field (Magento 2.4.1)

Hi there,

 

I was posted a post wrote the issue can be resolved by change directory permission. But I was wrong.

 

I upgraded to Magento 2.4.1, encounter serious problem.

In admin backend, when browser to Catalog > Product > edit product or any page with "Insert Image field" will have the following error.

 

Error: Class 'Magento\MediaGalleryIntegration\Model\OpenDialogUrlProvider' not found in /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:121 Stack trace: #0 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\MediaGa...', Array) #1 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\MediaGa...') #2 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\MediaGa...') #3 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Ui\\Comp...') #4 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Ui\\Comp...') #5 /var/sites/m23/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Cms\\Mod...', Array) #6 /var/sites/m23/vendor/magento/module-cms/Model/Wysiwyg/ConfigProviderFactory.php(42): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Cms\\Mod...', Array) #7 /var/sites/m23/vendor/magento/module-cms/Model/Wysiwyg/CompositeConfigProvider.php(162): Magento\Cms\Model\Wysiwyg\ConfigProviderFactory->create('Magento\\Cms\\Mod...') #8 /var/sites/m23/vendor/magento/module-cms/Model/Wysiwyg/CompositeConfigProvider.php(116): Magento\Cms\Model\Wysiwyg\CompositeConfigProvider->updateConfig(Object(Magento\Framework\DataObject), Array) #9 /var/sites/m23/vendor/magento/module-cms/Model/Wysiwyg/Config.php(207): Magento\Cms\Model\Wysiwyg\CompositeConfigProvider->processGalleryConfig(Object(Magento\Framework\DataObject)) #10 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Cms\Model\Wysiwyg\Config->getConfig(Array) #11 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Cms\Model\Wysiwyg\Config\Interceptor->___callParent('getConfig', Array) #12 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Cms\Model\Wysiwyg\Config\Interceptor->Magento\Framework\Interception\{closure}(Array) #13 /var/sites/m23/generated/code/Magento/Cms/Model/Wysiwyg/Config/Interceptor.php(26): Magento\Cms\Model\Wysiwyg\Config\Interceptor->___callPlugins('getConfig', Array, Array) #14 /var/sites/m23/vendor/magento/module-ui/Component/Form/Element/Wysiwyg.php(64): Magento\Cms\Model\Wysiwyg\Config\Interceptor->getConfig(Array) #15 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(121): Magento\Ui\Component\Form\Element\Wysiwyg->__construct(Object(Magento\Framework\View\Element\UiComponent\Context), Object(Magento\Framework\Data\FormFactory), Object(Magento\Cms\Model\Wysiwyg\Config\Interceptor), Array, Array, Array) #16 /var/sites/m23/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Ui\\Comp...', Array) #17 /var/sites/m23/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Ui\\Comp...', Array) #18 /var/sites/m23/vendor/magento/framework/View/Element/UiComponentFactory.php(261): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Ui\\Comp...', Array) #19 /var/sites/m23/vendor/magento/module-ui/Component/Form/Field.php(85): Magento\Framework\View\Element\UiComponentFactory->create('short_descripti...', 'wysiwyg', Array) #20 /var/sites/m23/vendor/magento/framework/View/Layout/Generator/UiComponent.php(164): Magento\Ui\Component\Form\Field->prepare() #21 /var/sites/m23/vendor/magento/framework/View/Layout/Generator/UiComponent.php(161): Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent(Object(Magento\Ui\Component\Form\Field)) #22 /var/sites/m23/vendor/magento/framework/View/Layout/Generator/UiComponent.php(161): Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent(Object(Magento\Ui\Component\Container)) #23 /var/sites/m23/vendor/magento/framework/View/Layout/Generator/UiComponent.php(161): Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent(Object(Magento\Ui\Component\Form\Fieldset)) #24 /var/sites/m23/vendor/magento/framework/View/Layout/Generator/UiComponent.php(142): Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent(Object(Magento\Ui\Component\Form)) #25 /var/sites/m23/vendor/magento/framework/View/Layout/Generator/UiComponent.php(103): Magento\Framework\View\Layout\Generator\UiComponent->generateComponent(Object(Magento\Framework\View\Layout\Data\Structure), 'product_form', Array, Object(Magento\Framework\View\Layout\Interceptor)) #26 /var/sites/m23/vendor/magento/framework/View/Layout/GeneratorPool.php(81): Magento\Framework\View\Layout\Generator\UiComponent->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context)) #27 /var/sites/m23/vendor/magento/framework/View/Layout.php(352): Magento\Framework\View\Layout\GeneratorPool->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context)) #28 /var/sites/m23/generated/code/Magento/Framework/View/Layout/Interceptor.php(89): Magento\Framework\View\Layout->generateElements() #29 /var/sites/m23/vendor/magento/framework/View/Layout/Builder.php(129): Magento\Framework\View\Layout\Interceptor->generateElements() #30 /var/sites/m23/vendor/magento/framework/View/Page/Builder.php(55): Magento\Framework\View\Layout\Builder->generateLayoutBlocks() #31 /var/sites/m23/vendor/magento/framework/View/Layout/Builder.php(65): Magento\Framework\View\Page\Builder->generateLayoutBlocks() #32 /var/sites/m23/vendor/magento/framework/View/Layout.php(259): Magento\Framework\View\Layout\Builder->build() #33 /var/sites/m23/vendor/magento/framework/View/Layout.php(884): Magento\Framework\View\Layout->build() #34 /var/sites/m23/generated/code/Magento/Framework/View/Layout/Interceptor.php(414): Magento\Framework\View\Layout->getBlock('menu') #35 /var/sites/m23/vendor/magento/module-backend/Model/View/Result/Page.php(26): Magento\Framework\View\Layout\Interceptor->getBlock('menu') #36 /var/sites/m23/vendor/magento/module-catalog/Controller/Adminhtml/Product/Edit.php(82): Magento\Backend\Model\View\Result\Page->setActiveMenu('Magento_Catalog...') #37 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Catalog\Controller\Adminhtml\Product\Edit->execute() #38 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callParent('execute', Array) #39 /var/sites/m23/vendor/magento/framework/App/Action/Plugin/ActionFlagNoDispatchPlugin.php(51): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}() #40 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Framework\App\Action\Plugin\ActionFlagNoDispatchPlugin->aroundExecute(Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Object(Closure)) #41 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}() #42 /var/sites/m23/generated/code/Magento/Catalog/Controller/Adminhtml/Product/Edit/Interceptor.php(26): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callPlugins('execute', Array, Array) #43 /var/sites/m23/vendor/magento/framework/App/Action/Action.php(111): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->execute() #44 /var/sites/m23/vendor/magento/module-backend/App/AbstractAction.php(151): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http)) #45 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http)) #46 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callParent('dispatch', Array) #47 /var/sites/m23/app/code/WeltPixel/Backend/Plugin/Utility.php(76): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http)) #48 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(135): WeltPixel\Backend\Plugin\Utility->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http)) #49 /var/sites/m23/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http)) #50 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http)) #51 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http)) #52 /var/sites/m23/generated/code/Magento/Catalog/Controller/Adminhtml/Product/Edit/Interceptor.php(39): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callPlugins('dispatch', Array, NULL) #53 /var/sites/m23/vendor/magento/framework/App/FrontController.php(186): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http)) #54 /var/sites/m23/vendor/magento/framework/App/FrontController.php(118): Magento\Framework\App\FrontController->processRequest(Object(Magento\Framework\App\Request\Http), Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor)) #55 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http)) #56 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array) #57 /var/sites/m23/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http)) #58 /var/sites/m23/generated/code/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array) #59 /var/sites/m23/vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http)) #60 /var/sites/m23/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch() #61 /var/sites/m23/vendor/magento/framework/App/Bootstrap.php(263): Magento\Framework\App\Http\Interceptor->launch() #62 /var/sites/m23/pub/index.php(40): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor)) #63 {main}

 

If I deleted generated/* and pub/static, edit will not hit the error. Once the code compiled say, run "magento setup:di:compile" then it will hit the error again.

 

I spend days to figure out what happen or a bug.

Please share your thought. 

Thank you.

 

Regards,

kf

1 ACCEPTED SOLUTION

Accepted Solutions

Re: [Again] Error when edit product or browser page with Insert Image field (Magento 2.4.1)

It was resolved by disabled Opcache.

Magento suggest to disable Opcache validation, it would caused code not update after compile was done. 

 

Reference.

https://devdocs.magento.com/guides/v2.4/install-gde/prereq/php-settings.html

https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps

View solution in original post

3 REPLIES 3

Re: [Again] Error when edit product or browser page with Insert Image field (Magento 2.4.1)

Hi @kf_luk 

 

I fixed this by moving the module folder from app/design/frontend/<vendor>/<module> into code/<vendor>/<module>.

Running bin/magento setup:di:compile then removed the class not found error.

 

it may help you!
Problem Solved? Please click on 'Kudos' & Accept as Solution!

Problem solved? Click Accept as Solution!

Re: [Again] Error when edit product or browser page with Insert Image field (Magento 2.4.1)

Hi @Bhanu Periwal 

 

Thanks for your advice.

The module look like magento base module which in ./vendor/magento folder already.

I'm not sure should i move it out of default folder for composer module.


Regards,

kf

Re: [Again] Error when edit product or browser page with Insert Image field (Magento 2.4.1)

It was resolved by disabled Opcache.

Magento suggest to disable Opcache validation, it would caused code not update after compile was done. 

 

Reference.

https://devdocs.magento.com/guides/v2.4/install-gde/prereq/php-settings.html

https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps