Regression: After updating to 2.0.2, broken links report doesn't work

Created on 30 June 2025, 7 days ago

Problem/Motivation

Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" entity type does not exist. in Drupal\Core\Entity\EntityTypeManager->getDefinition() (line 142 of .../web/core/lib/Drupal/Core/Entity/EntityTypeManager.php).

#0 .../web/core/lib/Drupal/Core/Entity/EntityTypeManager.php(260): Drupal\Core\Entity\EntityTypeManager->getDefinition()
#1 .../web/core/lib/Drupal/Core/Entity/EntityTypeManager.php(195): Drupal\Core\Entity\EntityTypeManager->getHandler()
#2 .../web/modules/contrib/linkchecker/src/Entity/LinkCheckerLink.php(186): Drupal\Core\Entity\EntityTypeManager->getStorage()
#3 .../web/modules/contrib/linkchecker/src/LinkCheckerLinkAccessControlHandler.php(68): Drupal\linkchecker\Entity\LinkCheckerLink->getParentEntity()
#4 .../web/modules/contrib/linkchecker/src/LinkCheckerLinkAccessControlHandler.php(58): Drupal\linkchecker\LinkCheckerLinkAccessControlHandler->checkParentEntityAccess()
#5 .../web/core/lib/Drupal/Core/Entity/EntityAccessControlHandler.php(343): Drupal\linkchecker\LinkCheckerLinkAccessControlHandler->checkFieldAccess()
#6 .../web/core/lib/Drupal/Core/Field/FieldItemList.php(154): Drupal\Core\Entity\EntityAccessControlHandler->fieldAccess()
#7 .../web/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php(256): Drupal\Core\Field\FieldItemList->access()
#8 .../web/core/modules/layout_builder/src/Entity/LayoutBuilderEntityViewDisplay.php(282): Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple()
#9 .../web/core/modules/views/src/Entity/Render/EntityFieldRenderer.php(257): Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay->buildMultiple()
#10 .../web/core/modules/views/src/Entity/Render/EntityFieldRenderer.php(143): Drupal\views\Entity\Render\EntityFieldRenderer->buildFields()
#11 .../web/core/modules/views/src/Plugin/views/field/EntityField.php(873): Drupal\views\Entity\Render\EntityFieldRenderer->render()
#12 .../web/core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1195): Drupal\views\Plugin\views\field\EntityField->getItems()
#13 .../web/core/modules/views/views.theme.inc(238): Drupal\views\Plugin\views\field\FieldPluginBase->advancedRender()
#14 [internal function]: template_preprocess_views_view_field()
#15 .../web/core/lib/Drupal/Core/Theme/ThemeManager.php(261): call_user_func_array()
#16 .../web/core/lib/Drupal/Core/Render/Renderer.php(490): Drupal\Core\Theme\ThemeManager->render()
#17 .../web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#18 .../web/core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1796): Drupal\Core\Render\Renderer->render()
#19 .../web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(769): Drupal\views\Plugin\views\field\FieldPluginBase->theme()
#20 [internal function]: Drupal\views\Plugin\views\style\StylePluginBase->elementPreRenderRow()
#21 .../web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
#22 .../web/core/lib/Drupal/Core/Render/Renderer.php(886): Drupal\Core\Render\Renderer->doTrustedCallback()
#23 .../web/core/lib/Drupal/Core/Render/Renderer.php(431): Drupal\Core\Render\Renderer->doCallback()
#24 .../web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#25 .../web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(708): Drupal\Core\Render\Renderer->render()
#26 .../web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(574): Drupal\views\Plugin\views\style\StylePluginBase->renderFields()
#27 .../web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(462): Drupal\views\Plugin\views\style\StylePluginBase->renderGrouping()
#28 .../web/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php(2177): Drupal\views\Plugin\views\style\StylePluginBase->render()
#29 .../web/core/modules/views/src/ViewExecutable.php(1600): Drupal\views\Plugin\views\display\DisplayPluginBase->render()
#30 .../web/core/modules/views/src/Plugin/views/display/Page.php(201): Drupal\views\ViewExecutable->render()
#31 .../web/core/modules/views/src/ViewExecutable.php(1697): Drupal\views\Plugin\views\display\Page->execute()
#32 .../web/core/modules/views/src/Element/View.php(81): Drupal\views\ViewExecutable->executeDisplay()
#33 [internal function]: Drupal\views\Element\View::preRenderViewElement()
#34 .../web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
#35 .../web/core/lib/Drupal/Core/Render/Renderer.php(886): Drupal\Core\Render\Renderer->doTrustedCallback()
#36 .../web/core/lib/Drupal/Core/Render/Renderer.php(431): Drupal\Core\Render\Renderer->doCallback()
#37 .../web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#38 .../web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(238): Drupal\Core\Render\Renderer->render()
#39 .../web/core/lib/Drupal/Core/Render/Renderer.php(637): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#40 .../web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(231): Drupal\Core\Render\Renderer->executeInRenderContext()
#41 .../web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare()
#42 .../web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
#43 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
#44 .../web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
#45 .../vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#46 .../vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#47 .../web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()
#48 .../web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#49 .../web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#50 .../web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle()
#51 .../web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\big_pipe\StackMiddleware\ContentLength->handle()
#52 .../web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#53 .../web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#54 .../web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle()
#55 .../web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
#56 .../web/index.php(19): Drupal\Core\DrupalKernel->handle()
#57 {main}

Steps to reproduce

The composer.json file removed the DER dependency. Maybe this is the cause of the issue?

Visit /admin/reports/linkchecker

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Active

Version

2.0

Component

Code

Created by

Live updates comments and jobs are added and updated live.
  • Regression

    It restores functionality that was present in earlier versions.

Sign in to follow issues

Comments & Activities

  • Issue created by @solideogloria
  • I had to remove all link entities and reanalyze content for links. Then it works.

  • πŸ‡ΊπŸ‡ΈUnited States jlancaster

    Similar issues. I quickly realized no content edits would save on site, producing a parent_entity_type_id not found error. I manually enabled dynamic entity reference after seeing it in missing modules report.
    composer require 'drupal/dynamic_entity_reference:^3.2'

    But the error remains for core broken links reports:

    Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" entity type does not exist. in Drupal\Core\Entity\EntityTypeManager->getDefinition() (line 142 of core/lib/Drupal/Core/Entity/EntityTypeManager.php).
    
  • @jlancaster, yes that's exactly what I had happen. Same errors. To fix it, delete all links and reanalyze content for links. I also upgraded to 2.1.x and removed dynamic_entity_reference

  • πŸ‡ΊπŸ‡ΈUnited States jlancaster

    Ahh, you had me curious and confused because I had no idea what "delete all links and reanalyze content" meant (shows how often I use linkchecker). If anyone else sees this, I found what is being referenced at /admin/config/content/linkchecker in the "Maintenance" section the button says "Clear link data and analyze content for links." Once I ran this everything is good... minus waiting for content to reanalyze. That said, the missing dependency for DER is concerning and I'd like to manually not have to include it.

  • Yeah, 2.1.x doesn't use DER anymore, so I figured it was a good time to upgrade.

  • πŸ‡ΊπŸ‡ΈUnited States paulmckibben Atlanta, GA

    Confirming the instructions in #5 from @jlancaster cleared the problem up for me. Thank you!

  • Added workaround info to IS

Production build 0.71.5 2024