Closed Troops994 closed 2 years ago
Looks to be something strange going on with the eager loading, the normalized field value should not be returned as a string here:
Are you able to send a DB backup, as well as the composer.json + composer.lock over to hi@pressed.digital to assist with debugging?
Yes i can send that over shortly
Thank you
I'm getting this too. Error messsage is:
2022-08-23 15:16:06 [web.ERROR] [Error] Call to a member function getTypeHandle() on string {"trace":["#0 [internal function]: presseddigital\\linkit\\Linkit->presseddigital\\linkit\\{closure}(Object(craft\\events\\DefineEagerLoadingMapEvent))","#1 /srv/users/[removed]]/apps/[removed]]/vendor/yiisoft/yii2/base/Event.php(312): call_user_func(Object(Closure), Object(craft\\events\\DefineEagerLoadingMapEvent))","#2 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/base/Element.php(1219): yii\\base\\Event::trigger('craft\\\\base\\\\Elem...', 'defineEagerLoad...', Object(craft\\events\\DefineEagerLoadingMapEvent))","#3 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/elements/Entry.php(596): craft\\base\\Element::eagerLoadingMap(Array, 'linkTarget.entr...')","#4 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/services/Elements.php(2297): craft\\elements\\Entry::eagerLoadingMap(Array, 'linkTarget.entr...')","#5 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/services/Elements.php(2263): craft\\services\\Elements->_eagerLoadElementsInternal('craft\\\\elements\\\\...', Array, Array)","#6 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/elements/db/ElementQuery.php(2936): craft\\services\\Elements->eagerLoadElements('craft\\\\elements\\\\...', Array, Array)","#7 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/elements/db/ElementQuery.php(1432): craft\\elements\\db\\ElementQuery->_createElements(Array)","#8 /srv/users/[removed]]/apps/[removed]]/vendor/yiisoft/yii2/db/Query.php(251): craft\\elements\\db\\ElementQuery->populate(Array)","#9 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/db/Query.php(247): yii\\db\\Query->all(Object(craft\\db\\Connection))","#10 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/elements/db/ElementQuery.php(1471): craft\\db\\Query->all(Object(craft\\db\\Connection))","#11 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/base/Element.php(1060): craft\\elements\\db\\ElementQuery->all(Object(craft\\db\\Connection))","#12 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(649): craft\\base\\Element::indexHtml(Object(craft\\elements\\db\\EntryQuery), Array, Array, 'section:bd425d8...', 'index', true, true)","#13 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(146): craft\\controllers\\ElementIndexesController->elementResponseData(true, true)","#14 [internal function]: craft\\controllers\\ElementIndexesController->actionGetElements()","#15 /srv/users/[removed]]/apps/[removed]]/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)","#16 /srv/users/[removed]]/apps/[removed]]/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)","#17 /srv/users/[removed]]/apps/[removed]]/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('get-elements', Array)","#18 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/web/Application.php(301): yii\\base\\Module->runAction('element-indexes...', Array)","#19 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/web/Application.php(625): craft\\web\\Application->runAction('element-indexes...', Array)","#20 /srv/users/[removed]]/apps/[removed]]/vendor/craftcms/cms/src/web/Application.php(280): craft\\web\\Application->_processActionRequest(Object(craft\\web\\Request))","#21 /srv/users/[removed]]/apps/[removed]]/vendor/yiisoft/yii2/base/Application.php(384): craft\\web\\Application->handleRequest(Object(craft\\web\\Request))","#22 /srv/users/[removed]]/apps/[removed]]/public/index.php(12): yii\\base\\Application->run()","#23 {main}"],"memory":13923072,"exception":"[object] (Error(code: 0): Call to a member function getTypeHandle() on string at /srv/users/[removed]]/apps/[removed]]/vendor/presseddigital/linkit/src/Linkit.php:126)"}
Thanks @darylknight, will get a fix out asap.
Any news Sam? Sorry to pester you - client is currently unable to access or edit their navigation.
@darylknight have recreated and identified the issue, just trying to understand what is going on and get a fix out.
@darylknight @Troops994 just a quick note, worked it out and will get a fix out asap.
Awesome, thanks!
Hi Sam,
Thanks for working on this. Unfortunately I'm still getting the same behaviour as before. When I go to the Menu - Main section, it's blank, and I get the server error below:
2022-08-25 08:17:56 [web.ERROR] [Error] Call to a member function getUrl() on null {"trace":["#0 /srv/users/sitename/apps/sitename/vendor/presseddigital/linkit/src/base/Link.php(195): presseddigital\\linkit\\base\\ElementLink->getUrl()","#1 /srv/users/sitename/apps/sitename/vendor/presseddigital/linkit/src/base/Link.php(203): presseddigital\\linkit\\base\\Link->getLink(Array, false, true)","#2 /srv/users/sitename/apps/sitename/vendor/presseddigital/linkit/src/fields/LinkitField.php(263): presseddigital\\linkit\\base\\Link->getLinkPreview()","#3 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/base/Element.php(4306): presseddigital\\linkit\\fields\\LinkitField->getTableAttributeHtml(Object(presseddigital\\linkit\\models\\Entry), Object(craft\\elements\\Entry))","#4 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/elements/Entry.php(1567): craft\\base\\Element->tableAttributeHtml('field:24d80881-...')","#5 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/base/Element.php(4181): craft\\elements\\Entry->tableAttributeHtml('field:24d80881-...')","#6 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Extension/CoreExtension.php(1607): craft\\base\\Element->getTableAttributeHtml('field:24d80881-...')","#7 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/helpers/Template.php(101): twig_get_attribute(Object(craft\\web\\twig\\Environment), Object(Twig\\Source), Object(craft\\elements\\Entry), 'getTableAttribu...', Array, 'method', false, false)","#8 /srv/users/sitename/apps/sitename/storage/runtime/compiled_templates/17/17c24e7f6ef77e4cbb4c7efba52eca2f22aaf8b3f3e3b522324441cc4ef48f54.php(182): craft\\helpers\\Template::attribute(Object(craft\\web\\twig\\Environment), Object(Twig\\Source), Object(craft\\elements\\Entry), 'getTableAttribu...', Array, 'method')","#9 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Template.php(394): __TwigTemplate_126b64703b7eec5e4b14e3c5981d03e3f5f1a3d827cf6f9baab50162847b5e83->doDisplay(Array, Array)","#10 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Template.php(367): Twig\\Template->displayWithErrorHandling(Array, Array)","#11 /srv/users/sitename/apps/sitename/storage/runtime/compiled_templates/07/0796aac3010d06725665f0af45b32122dfffd998360f063de4f93fb18ec09c85.php(127): Twig\\Template->display(Array)","#12 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Template.php(394): __TwigTemplate_ce8400ed3cc1e2500a0abf90829f76d5398ebd5f8c8e408c0af098d71e218618->doDisplay(Array, Array)","#13 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Template.php(367): Twig\\Template->displayWithErrorHandling(Array, Array)","#14 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Template.php(379): Twig\\Template->display(Array)","#15 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\\Template->render(Array, Array)","#16 /srv/users/sitename/apps/sitename/vendor/twig/twig/src/Environment.php(277): Twig\\TemplateWrapper->render(Array)","#17 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/web/View.php(428): Twig\\Environment->render('_elements/table...', Array)","#18 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/base/Element.php(1064): craft\\web\\View->renderTemplate('_elements/table...', Array)","#19 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(649): craft\\base\\Element::indexHtml(Object(craft\\elements\\db\\EntryQuery), Array, Array, 'section:bd425d8...', 'index', true, true)","#20 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(146): craft\\controllers\\ElementIndexesController->elementResponseData(true, true)","#21 [internal function]: craft\\controllers\\ElementIndexesController->actionGetElements()","#22 /srv/users/sitename/apps/sitename/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)","#23 /srv/users/sitename/apps/sitename/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)","#24 /srv/users/sitename/apps/sitename/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('get-elements', Array)","#25 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/web/Application.php(301): yii\\base\\Module->runAction('element-indexes...', Array)","#26 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/web/Application.php(625): craft\\web\\Application->runAction('element-indexes...', Array)","#27 /srv/users/sitename/apps/sitename/vendor/craftcms/cms/src/web/Application.php(280): craft\\web\\Application->_processActionRequest(Object(craft\\web\\Request))","#28 /srv/users/sitename/apps/sitename/vendor/yiisoft/yii2/base/Application.php(384): craft\\web\\Application->handleRequest(Object(craft\\web\\Request))","#29 /srv/users/sitename/apps/sitename/public/index.php(12): yii\\base\\Application->run()","#30 {main}"],"memory":14575424,"exception":"[object] (Error(code: 0): Call to a member function getUrl() on null at /srv/users/sitename/apps/sitename/vendor/presseddigital/linkit/src/base/ElementLink.php:73)"}
@darylknight tracked down another issue related to eager loading disabled elements, will get a fix out.
Brilliant, thanks sam! Can confirm this has fixed everything. Really appreciate you getting the update out so quickly.
Issue with content after upgrading from 1.1.12.1 to 3.0 throwing an error and folder for the content is not accessible
We have a channel section with 6 entry types in it. One of the types has LinkField attached to it. The field is set to Linkit and used for URL and Entry only.
Since the upgrade we are no longer able to access that in Entries as it comes up with "A server error occurred." If we remove the filed then everything works. Adding it back brings back the same issue. The site is working but via the admin console we face this issue. We are unable to roll back the changes as this causes further page errors.
Logs are as follows with the error.
2022-08-23T08:00:32.933427427Z 169.254.129.1 - - [23/Aug/2022:08:00:32 +0000] "GET /cms/entries HTTP/1.1" 200 26974 "https://www-uat.charles-stanley.co.uk/cms/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" 2022-08-23T08:00:34.068256561Z 169.254.129.1 - - [23/Aug/2022:08:00:33 +0000] "POST / HTTP/1.1" 200 4067 "https://www-uat.charles-stanley.co.uk/cms/entries/sharedContent" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" 2022-08-23T08:00:34.182258371Z 2022-08-23 09:00:34 [External IP MASK][120059][5489d538010448adc1e803e27564565c][error][Error] Error: Call to a member function getTypeHandle() on string in /var/www/craft/vendor/presseddigital/linkit/src/Linkit.php:128 2022-08-23T08:00:34.182289972Z Stack trace: 2022-08-23T08:00:34.182294772Z #0 [internal function]: presseddigital\linkit\Linkit->presseddigital\linkit{closure}(Object(craft\events\DefineEagerLoadingMapEvent)) 2022-08-23T08:00:34.182299572Z #1 /var/www/craft/vendor/yiisoft/yii2/base/Event.php(312): call_user_func(Object(Closure), Object(craft\events\DefineEagerLoadingMapEvent)) 2022-08-23T08:00:34.182303572Z #2 /var/www/craft/vendor/craftcms/cms/src/base/Element.php(1036): yii\base\Event::trigger('craft\base\Elem...', 'defineEagerLoad...', Object(craft\events\DefineEagerLoadingMapEvent)) 2022-08-23T08:00:34.182307972Z #3 /var/www/craft/vendor/craftcms/cms/src/elements/Entry.php(622): craft\base\Element::eagerLoadingMap(Array, 'linkField.entry') 2022-08-23T08:00:34.182311772Z #4 /var/www/craft/vendor/craftcms/cms/src/services/Elements.php(2277): craft\elements\Entry::eagerLoadingMap(Array, 'linkField.entry') 2022-08-23T08:00:34.182320172Z #5 /var/www/craft/vendor/craftcms/cms/src/services/Elements.php(2244): craft\services\Elements->_eagerLoadElementsInternal('craft\elements\...', Array, Array) 2022-08-23T08:00:34.182324572Z #6 /var/www/craft/vendor/craftcms/cms/src/elements/db/ElementQuery.php(3207): craft\services\Elements->eagerLoadElements('craft\elements\...', Array, Array) 2022-08-23T08:00:34.182328472Z #7 /var/www/craft/vendor/craftcms/cms/src/elements/db/ElementQuery.php(1612): craft\elements\db\ElementQuery->_createElements(Array) 2022-08-23T08:00:34.182332372Z #8 /var/www/craft/vendor/yiisoft/yii2/db/Query.php(251): craft\elements\db\ElementQuery->populate(Array) 2022-08-23T08:00:34.182336172Z #9 /var/www/craft/vendor/craftcms/cms/src/db/Query.php(152): yii\db\Query->all(NULL) 2022-08-23T08:00:34.182350173Z #10 /var/www/craft/vendor/craftcms/cms/src/elements/db/ElementQuery.php(1650): craft\db\Query->all(NULL) 2022-08-23T08:00:34.182354073Z #11 /var/www/craft/vendor/craftcms/cms/src/base/Element.php(873): craft\elements\db\ElementQuery->all() 2022-08-23T08:00:34.182357873Z #12 /var/www/craft/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(542): craft\base\Element::indexHtml(Object(craft\elements\db\EntryQuery), Array, Array, 'section:a080b32...', 'index', true, true) 2022-08-23T08:00:34.182362473Z #13 /var/www/craft/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(139): craft\controllers\ElementIndexesController->elementResponseData(true, true) 2022-08-23T08:00:34.182366573Z #14 [internal function]: craft\controllers\ElementIndexesController->actionGetElements() 2022-08-23T08:00:34.182370273Z #15 /var/www/craft/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) 2022-08-23T08:00:34.182373773Z #16 /var/www/craft/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(Array) 2022-08-23T08:00:34.182377473Z #17 /var/www/craft/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction('get-elements', Array) 2022-08-23T08:00:34.182381173Z #18 /var/www/craft/vendor/craftcms/cms/src/web/Application.php(293): yii\base\Module->runAction('element-indexes...', Array) 2022-08-23T08:00:34.182384973Z #19 /var/www/craft/vendor/craftcms/cms/src/web/Application.php(602): craft\web\Application->runAction('element-indexes...', Array) 2022-08-23T08:00:34.182388773Z #20 /var/www/craft/vendor/craftcms/cms/src/web/Application.php(272): craft\web\Application->_processActionRequest(Object(craft\web\Request)) 2022-08-23T08:00:34.182392573Z #21 /var/www/craft/vendor/yiisoft/yii2/base/Application.php(384): craft\web\Application->handleRequest(Object(craft\web\Request)) 2022-08-23T08:00:34.182396473Z #22 /var/www/craft/web/index.php(93): yii\base\Application->run() 2022-08-23T08:00:34.182400373Z #23 {main}