Hello,
today, while we were working in admin catalog pages, the web site has crashed.
Could anyone help me please?
Thank you a lot in advance
Following the log error:
1 exception(s): Exception #0 (Exception): Item (Magento\Catalog\Model\Category\Interceptor) with the same ID "53" already exists. Exception #0 (Exception): Item (Magento\Catalog\Model\Category\Interceptor) with the same ID "53" already exists. <pre>#1 Magento\Eav\Model\Entity\Collection\AbstractCollection->addItem(&Magento\Catalog\Model\Category\Interceptor#00000000312dedc000000000185ed897#) called at [vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php:1138] #2 Magento\Eav\Model\Entity\Collection\AbstractCollection->_loadEntities(false, false) called at [vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php:927] #3 Magento\Eav\Model\Entity\Collection\AbstractCollection->load(false, false) called at [vendor/magento/module-catalog/Model/ResourceModel/Category/Collection.php:234] #4 Magento\Catalog\Model\ResourceModel\Category\Collection->load() called at [vendor/magento/framework/Data/Collection.php:824] #5 Magento\Framework\Data\Collection->getItemById(45) called at [vendor/swissup/module-navigationpro/Model/ResourceModel/Item/Collection.php:302] #6 Swissup\Navigationpro\Model\ResourceModel\Item\Collection->addRemoteEntitiesToResult() called at [vendor/swissup/module-navigationpro/Model/ResourceModel/Item/Collection.php:194] #7 Swissup\Navigationpro\Model\ResourceModel\Item\Collection->_afterLoad() called at [vendor/magento/framework/Data/Collection/AbstractDb.php:594] #8 Magento\Framework\Data\Collection\AbstractDb->loadWithFilter(false, false) called at [vendor/magento/framework/Data/Collection/AbstractDb.php:565] #9 Magento\Framework\Data\Collection\AbstractDb->load() called at [vendor/magento/framework/Data/Collection.php:300] #10 Magento\Framework\Data\Collection->getFirstItem() called at [vendor/swissup/module-navigationpro/Observer/PrepareMenuItems.php:72] #11 Swissup\Navigationpro\Observer\PrepareMenuItems->execute(&Magento\Framework\Event\Observer#00000000312dec7500000000185ed897#) called at [vendor/magento/framework/Event/Invoker/InvokerDefault.php:88] #12 Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod(&Swissup\Navigationpro\Observer\PrepareMenuItems#00000000312dec5e00000000185ed897#, &Magento\Framework\Event\Observer#00000000312dec7500000000185ed897#) called at [vendor/magento/framework/Event/Invoker/InvokerDefault.php:74] #13 Magento\Framework\Event\Invoker\InvokerDefault->dispatch(array('instance' => 'Swissup\Navigati...', 'name' => 'swissup_navigati...'), &Magento\Framework\Event\Observer#00000000312dec7500000000185ed897#) called at [vendor/magento/framework/Event/Manager.php:66] #14 Magento\Framework\Event\Manager->dispatch('swissup_navigati...', array('menu' => &Magento\Framework\Data\Tree\Node#00000000312dec7b00000000185ed897#, 'block' => &Swissup\Navigationpro\Block\Menu\Interceptor#00000000312de4be00000000185ed897#, 'request' => &Magento\Framework\App\Request\Http#00000000312de1fb00000000185ed897#)) called at [generated/code/Magento/Framework/Event/Manager/Proxy.php:95] #15 Magento\Framework\Event\Manager\Proxy->dispatch('swissup_navigati...', array('menu' => &Magento\Framework\Data\Tree\Node#00000000312dec7b00000000185ed897#, 'block' => &Swissup\Navigationpro\Block\Menu\Interceptor#00000000312de4be00000000185ed897#, 'request' => &Magento\Framework\App\Request\Http#00000000312de1fb00000000185ed897#)) called at [vendor/swissup/module-navigationpro/Block/Menu.php:893] #16 Swissup\Navigationpro\Block\Menu->getMenuTree() called at [generated/code/Swissup/Navigationpro/Block/Menu/Interceptor.php:128] #17 Swissup\Navigationpro\Block\Menu\Interceptor->getMenuTree() called at [vendor/swissup/module-navigationpro/Block/Menu.php:382] #18 Swissup\Navigationpro\Block\Menu->getHtml('level-top') called at [generated/code/Swissup/Navigationpro/Block/Menu/Interceptor.php:115] #19 Swissup\Navigationpro\Block\Menu\Interceptor->getHtml('level-top') called at [vendor/swissup/module-navigationpro/view/frontend/templates/menu.phtml:2] #20 include('/storage/wwwroot...') called at [vendor/magento/framework/View/TemplateEngine/Php.php:59] #21 Magento\Framework\View\TemplateEngine\Php->render(&Swissup\Navigationpro\Block\Menu\Interceptor#00000000312de4be00000000185ed897#, '/storage/wwwroot...', array()) called at [vendor/magento/framework/View/Element/Template.php:271] #22 Magento\Framework\View\Element\Template->fetchView('/storage/wwwroot...') called at [generated/code/Swissup/Navigationpro/Block/Menu/Interceptor.php:258] #23 Swissup\Navigationpro\Block\Menu\Interceptor->fetchView('/storage/wwwroot...') called at [vendor/magento/framework/View/Element/Template.php:301] #24 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1097] #25 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/Cache/LockGuardedCacheLoader.php:79] #26 Magento\Framework\Cache\LockGuardedCacheLoader->lockedLoadData('BLOCK_a44b820e66...', &Closure#00000000312dec3d00000000185ed897#, &Closure#00000000312dec3400000000185ed897#, &Closure#00000000312dec3f00000000185ed897#) called at [vendor/magento/framework/View/Element/AbstractBlock.php:1133] #27 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:671] #28 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [generated/code/Swissup/Navigationpro/Block/Menu/Interceptor.php:570] #29 Swissup\Navigationpro\Block\Menu\Interceptor->toHtml() called at [vendor/magento/framework/View/Layout.php:557] #30 Magento\Framework\View\Layout->_renderBlock('navpro.topnav') called at [vendor/magento/framework/View/Layout.php:533] #31 Magento\Framework\View\Layout->renderNonCachedElement('navpro.topnav') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:206] #32 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('navpro.topnav') called at [vendor/magento/framework/View/Layout.php:488] #33 Magento\Framework\View\Layout->renderElement('navpro.topnav', true) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:193] #34 Magento\Framework\View\Layout\Interceptor->renderElement('navpro.topnav', true) called at [vendor/magento/framework/View/Element/AbstractBlock.php:522] #35 Magento\Framework\View\Element\AbstractBlock->getChildHtml('', true) called at [generated/code/Magento/Framework/View/Element/Template/Interceptor.php:336] #36 Magento\Framework\View\Element\Template\Interceptor->getChildHtml() called at [vendor/magento/module-theme/view/frontend/templates/html/container.phtml:7] #37 include('/storage/wwwroot...') called at [vendor/magento/framework/View/TemplateEngine/Php.php:59] #38 Magento\Framework\View\TemplateEngine\Php->render(&Magento\Framework\View\Element\Template\Interceptor#00000000312de58100000000185ed897#, '/storage/wwwroot...', array()) called at [vendor/magento/framework/View/Element/Template.php:271] #39 Magento\Framework\View\Element\Template->fetchView('/storage/wwwroot...') called at [generated/code/Magento/Framework/View/Element/Template/Interceptor.php:102] #40 Magento\Framework\View\Element\Template\Interceptor->fetchView('/storage/wwwroot...') called at [vendor/magento/framework/View/Element/Template.php:301] #41 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1097] #42 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1101] #43 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:671] #44 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [generated/code/Magento/Framework/View/Element/Template/Interceptor.php:427] #45 Magento\Framework\View\Element\Template\Interceptor->toHtml() called at [vendor/magento/framework/View/Layout.php:557] #46 Magento\Framework\View\Layout->_renderBlock('store.menu') called at [vendor/magento/framework/View/Layout.php:533] #47 Magento\Framework\View\Layout->renderNonCachedElement('store.menu') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:206] #48 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('store.menu') called at [vendor/magento/framework/View/Layout.php:488] #49 Magento\Framework\View\Layout->renderElement('store.menu', true) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:193] #50 Magento\Framework\View\Layout\Interceptor->renderElement('store.menu') called at [vendor/magento/module-theme/view/frontend/templates/html/sections.phtml:22] #51 include('/storage/wwwroot...') called at [vendor/magento/framework/View/TemplateEngine/Php.php:59] #52 Magento\Framework\View\TemplateEngine\Php->render(&Magento\Framework\View\Element\Template\Interceptor#00000000312de5a400000000185ed897#, '/storage/wwwroot...', array()) called at [vendor/magento/framework/View/Element/Template.php:271] #53 Magento\Framework\View\Element\Template->fetchView('/storage/wwwroot...') called at [generated/code/Magento/Framework/View/Element/Template/Interceptor.php:102] #54 Magento\Framework\View\Element\Template\Interceptor->fetchView('/storage/wwwroot...') called at [vendor/magento/framework/View/Element/Template.php:301] #55 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1097] #56 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1101] #57 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:671] #58 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [generated/code/Magento/Framework/View/Element/Template/Interceptor.php:427] #59 Magento\Framework\View\Element\Template\Interceptor->toHtml() called at [vendor/magento/framework/View/Layout.php:557] #60 Magento\Framework\View\Layout->_renderBlock('navigation.secti...') called at [vendor/magento/framework/View/Layout.php:533] #61 Magento\Framework\View\Layout->renderNonCachedElement('navigation.secti...') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:206] #62 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('navigation.secti...') called at [vendor/magento/framework/View/Layout.php:488] #63 Magento\Framework\View\Layout->renderElement('navigation.secti...', false) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:193] #64 Magento\Framework\View\Layout\Interceptor->renderElement('navigation.secti...', false) called at [vendor/magento/framework/View/Layout.php:585] #65 Magento\Framework\View\Layout->_renderContainer('page.top', false) called at [vendor/magento/framework/View/Layout.php:535] #66 Magento\Framework\View\Layout->renderNonCachedElement('page.top') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:206] #67 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.top') called at [vendor/magento/framework/View/Layout.php:488] #68 Magento\Framework\View\Layout->renderElement('page.top', false) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:193] #69 Magento\Framework\View\Layout\Interceptor->renderElement('page.top', false) called at [vendor/magento/framework/View/Layout.php:585] #70 Magento\Framework\View\Layout->_renderContainer('page.wrapper', false) called at [vendor/magento/framework/View/Layout.php:535] #71 Magento\Framework\View\Layout->renderNonCachedElement('page.wrapper') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:206] #72 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.wrapper') called at [vendor/magento/framework/View/Layout.php:488] #73 Magento\Framework\View\Layout->renderElement('page.wrapper', false) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:193] #74 Magento\Framework\View\Layout\Interceptor->renderElement('page.wrapper', false) called at [vendor/magento/framework/View/Layout.php:585] #75 Magento\Framework\View\Layout->_renderContainer('root', false) called at [vendor/magento/framework/View/Layout.php:535] #76 Magento\Framework\View\Layout->renderNonCachedElement('root') called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:206] #77 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('root') called at [vendor/magento/framework/View/Layout.php:488] #78 Magento\Framework\View\Layout->renderElement('root', true) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:193] #79 Magento\Framework\View\Layout\Interceptor->renderElement('root') called at [vendor/magento/framework/View/Layout.php:954] #80 Magento\Framework\View\Layout->getOutput() called at [vendor/magento/framework/Interception/Interceptor.php:58] #81 Magento\Framework\View\Layout\Interceptor->___callParent('getOutput', array()) called at [vendor/magento/framework/Interception/Interceptor.php:138] #82 Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153] #83 Magento\Framework\View\Layout\Interceptor->___callPlugins('getOutput', array(), array(array('layout-model-cac...'))) called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:494] #84 Magento\Framework\View\Layout\Interceptor->getOutput() called at [vendor/magento/framework/View/Result/Page.php:258] #85 Magento\Framework\View\Result\Page->render(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#) called at [vendor/magento/framework/View/Result/Layout.php:171] #86 Magento\Framework\View\Result\Layout->renderResult(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#) called at [vendor/magento/framework/Interception/Interceptor.php:58] #87 Magento\Framework\View\Result\Page\Interceptor->___callParent('renderResult', array(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#)) called at [vendor/magento/framework/Interception/Interceptor.php:138] #88 Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#) called at [vendor/swissup/module-amp/Plugin/Framework/ViewResultPage.php:66] #89 Swissup\Amp\Plugin\Framework\ViewResultPage->aroundRenderResult(&Magento\Framework\View\Result\Page\Interceptor#00000000312de50700000000185ed897#, &Closure#00000000312de08600000000185ed897#, &Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#) called at [vendor/magento/framework/Interception/Interceptor.php:135] #90 Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#) called at [vendor/magento/framework/Interception/Interceptor.php:153] #91 Magento\Framework\View\Result\Page\Interceptor->___callPlugins('renderResult', array(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#), array(array('result-optimiser...', 'result-messages', 'result-builtin-c...', 'result-varnish-c...'))) called at [generated/code/Magento/Framework/View/Result/Page/Interceptor.php:130] #92 Magento\Framework\View\Result\Page\Interceptor->renderResult(&Magento\Framework\App\Response\Http\Interceptor#00000000312de18000000000185ed897#) called at [vendor/magento/framework/App/Http.php:141] #93 Magento\Framework\App\Http->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:24] #94 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:261] #95 Magento\Framework\App\Bootstrap->run(&Magento\Framework\App\Http\Interceptor#00000000312de18900000000185ed897#) called at [index.php:39] </pre>
It seems you delete any products but its id still exits in some table so its throwing this error:
I found this as someone facing same error you can try to check in database or try to check by running this query in db:
SELECT * FROM cataloginventory_stock_item
WHERE product_id in (
SELECT product_id
FROM cataloginventory_stock_item
GROUP BY product_id
HAVING ( COUNT(product_id) > 1 )
)
Delete if there any duplicate entry.
Or search in database catalog table if you can find id=53 any entry and that related to which table.
Hi @filaverse ,
From the stack trace it seems like you are using one third party module of Swissup_NavigationPro
1. Try to disable this module first and crosscheck whether this module is compatible with your magento version or not.
Hope this helps you!
Problem Solved! Click Kudos & Accept as Solution!
Hi, thank you for your reply.
I checked and thare isn't any product with duplicate id. The first id is 69.
in db there are a lot of table related with product. could you give me any sudgest where to begin the manual research?
Thank you for your reply, i checked and Swissup_NavigationPro is compatible with the version of my magento 2.3.3
In my previuos post i forgot to specify that the admin area is still working and i can navigate even in navigation pro admin area .
thank you for any support.
Valerio
Hello @filaverse
Have you ran shared query? what is the result for shared query?
@Manish Mittal i'm sorry for my late reply.
I'm new, can you expplain me what's shared query?
Hello,
SELECT * FROM cataloginventory_stock_item WHERE product_id in ( SELECT product_id FROM cataloginventory_stock_item GROUP BY product_id HAVING ( COUNT(product_id) > 1 ) )
oh, it was very simple. yes i ran the shared query and i got no records as result.
there isn't any dupplicate record.
I found this was down to the duplicate url rewrites in the url_rewrite table.
First thing I did was check if I had any 301s set for categories that weren't set as false for is_autogenerated:
SELECT * FROM `url_rewrite` WHERE `entity_type` = 'category' AND `redirect_type` = 301 AND `is_autogenerated` = 1;
If that produced any results, I removed them:
UPDATE `url_rewrite` SET `is_autogenerated` = 0 WHERE `entity_type` = 'category' AND `redirect_type` = 301 AND `is_autogenerated` = 1;
Then I ran a check for duplicate records:
SELECT entity_id, target_path, store_id, COUNT(*) AS quantity FROM `url_rewrite` WHERE `target_path` REGEXP '^catalog/category/view/id/[0-9]+$' AND `redirect_type` = 0 AND `is_autogenerated` = 1 AND `entity_type` = 'category' GROUP BY entity_id, target_path, store_id HAVING COUNT(*) > 1;
So for example if I had
request_path - target_path - redirect_type - is_autogenerated
blahblaf/abc1 - catalog/category/view/id/1234 - 0 - 1
blahblaf/abc2 - catalog/category/view/id/1234 - 0 - 1
Then I'd make one of them records be a 301 to the other one.
This resolved the issue for me.