- 🇮🇳India syammohanmp
I will be resolved by clearing the plugin render cache. Thanks all !.
- 🇬🇧United Kingdom sagraham
I hit this issue this week after updating to Drupal 10.0.7. Typical solutions such as running
drush cr
were failing with the errorIn EntityTypeManager.php line 139: The "XXX" entity type does not exist.
with XXX usually being
date_format
, but alsouser
and others. I also tried truncating the cache tables by hand but that still didn't fix the issue.Adding my fix for anyone who finds themselves here after Googling some error messages.
The only solution I could find was to delete the
/vendor
,/web/core
and/web/modules/contrib
folders and re runningcomposer install
.Once that was done, the site was running again.
This issue is not just for filter plugins. So patch #147 is not going to solve the issue.
I have this issue when trying to add a new Action plugin. When trying to import the new system.action.my_action_id.yml config item, it can't find the plugin I created in my_module\src\Plugin\Action\MyAction.php
- 🇪🇬Egypt mahmoudsayed96 Cairo
I used this command to fix the issue
drush eval "drupal_flush_all_caches();"
That's no different than running
drush cache:rebuild
, which didn't fix it for me.- 🇺🇸United States loopy1492
Getting this while doing a feed import:
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException: The "node_type" plugin does not exist. Valid plugin IDs for Drupal\Core\Condition\ConditionManager are: language, current_theme, request_path, user_role, webform, entity_bundle:block_content, entity_bundle:comment, entity_bundle:crop, entity_bundle:feeds_feed, entity_bundle:media, entity_bundle:node, entity_bundle:paragraph, entity_bundle:redirect, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:webform_submission, entity_bundle:menu_link_content in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of /var/www/html/docroot/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
I suspect it is a specific issue with feeds. We were getting it with PathAuto, but they fixed their problem: https://www.drupal.org/project/pathauto/issues/2925169 💬 PluginNotFoundException: The "node_type" plugin does not exist Fixed
I just wish the traceback on the error actually told you where the problem is. As it stands, it's almost impossible to figure out where in the code we need to look in order to fix anything.
- 🇨🇦Canada dadderley Vancouver
Thanks Anybody,
The comment (137) by Anybody provided the solution.This was very frustrating.
I was upgrading a site from Drupal 9.5.9 to Drupal 10.0.9
No matter what I did, I kept getting the error below and WSOD on all content.Drupal\Component\Plugin\Exception\PluginNotFoundException: The "node_type" plugin does not exist. Valid plugin IDs for Drupal\Core\Condition\ConditionManager are: current_theme, request_path, user_role, webform, entity_bundle:block_content, entity_bundle:contact_message, entity_bundle:media, entity_bundle:menu_link_content, entity_bundle:node, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:webform_submission, entity_bundle:paragraph in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of /Users/meuser/Sites/ost9/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
I exported the config for the whole site.
I searched for "node_type".There were 3 .yml files with "id node_type"
- menu_position.menu_position_rule.member_location.yml
- menu_position.menu_position_rule.news_item.yml
- user.role.admin.yml
I rolled back to original and got the site up again.
I uninstalled Menu Position 8.x-1.0
I uninstalled Automatic Entity Label 8.x-3.0I did the upgrade again ----- this time success - upgraded to Drupal 10.0.9 with no errors!!
I reinstalled both modules and it still worked.
I exported the config from the upgraded Drupal 10.0.9 site.
I searched for "node_type".
There were no .yml files with "id node_type"Hopefully this may help someone else.
I'm having this error on my drupal site when i Add a new payment area. Please help as I'm new to Drupal and don't have much expertise.
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" plugin does not exist. Valid plugin IDs for Drupal\commerce\ConditionManager are: commerce_conditions_plus_and_operator, commerce_conditions_plus_or_operator, order_billing_address, order_currency, order_customer, order_customer_role, order_email, order_item_purchased_entity:commerce_product_variation, order_purchased_entity:commerce_product_variation, order_shipping_address, order_store, order_total_price, order_type, order_payment_gateway, order_item_product, order_item_product_category, order_item_product_type, order_item_variation_type, order_product, order_product_category, order_product_type, order_variation_type, order_item_quantity, shipment_address, shipment_quantity, shipment_weight in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 16)
Drupal\Core\Plugin\Factory\ContainerFactory->createInstance() (Line: 83)
Drupal\Component\Plugin\PluginManagerBase->createInstance() (Line: 324)
Drupal\commerce_conditions_plus\Element\ConditionsTable::addNewCondition()
call_user_func_array() (Line: 114)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers() (Line: 52)
Drupal\Core\Form\FormSubmitter->doSubmitForm() (Line: 595)
Drupal\Core\Form\FormBuilder->processForm() (Line: 323)
Drupal\Core\Form\FormBuilder->buildForm() (Line: 73)
Drupal\Core\Controller\FormController->getContentResult()
call_user_func_array() (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 580)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 169)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 81)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 23)
Stack\StackedHttpKernel->handle() (Line: 718)
Drupal\Core\DrupalKernel->handle() (Line: 19)I used config export
drush cex
and then researched "node_type" in config files with IDE.
In my case the asset injector module was throwing:Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "The "node_type" plugin does not exist. Valid plugin IDs for Drupal\Core\Condition\ConditionManager are: domain, language, current_theme, request_path, user_role, webform, entity_bundle:block_content, entity_bundle:comment, entity_bundle:contact_message, entity_bundle:media, entity_bundle:menu_link_content, entity_bundle:node, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:token_custom, entity_bundle:webform_submission, entity_bundle:paragraph" at ...\core\lib\Drupal\Component\Plugin\Discovery\DiscoveryTrait.php line 53
Probably JS scripts which were referencing to node_type.
- 🇦🇫Afghanistan drupalam
This error came up for me because I'm trying to update to drupal 10 but removed some plugins from composer.json. I had to reinstall lightning_core to fix it.
It's hard to try and fix everyone's individual issues with this error. In a nutshell, your config files are referencing items which are available in plugins which are not installed.
To fix my issue, I had to install lightning_core
Use php debug or print out the entity variables in this file, to figure out which plugin's class is being requested.
docroot/core/lib/Drupal/Core/Entity/EntityTypeManager.php
getDefinition()
Looking at these variables will help you figure out which module to install.
- 🇨🇳China g089h515r806
This is my suggestion :
✨ Change PluginNotFoundException to an error message when not use the plugin ActiveOnly throw PluginNotFoundException when use it, other case show user an error message instead.
- 🇮🇳India ashraf.hussain Bangalore
I was able to fix by the following steps:
Search for id: node_type in config directory.
Replace node_type with id: 'entity_bundle:node'
Run Drush cim.
- 🇺🇸United States butterwise
Following the breadcrumbs, #164 💬 Drupal 10 updating issue - Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" plugin does not exist Needs work helped me out. In my case, the culprit was pathauto. I was able to resolve the issue by uninstalling the module, exporting the config, re-installing the module, then recreating my one (fortunately) pattern. The only difference to the config yaml, other than the uuid values changing, was:
id: node_type
was removed, and
id: 'entity_bundle:node'
was added. - 🇺🇸United States DamienMcKenna NH, USA
There are possibly similar issues elsewhere affecting other parts of the site than the filter system, e.g. 🐛 PluginNotFoundException: "The "views_view:view.comment.page_published" plugin does not exist. Valid plugin IDs for Drupal\Core\Menu\LocalTaskManager are... Needs work , is it possible there's a problem deeper in the system?
- 🇺🇸United States stevenpatz Alexandria VA
For me it's
The "group" entity type does not exist.
( the error log says it's coming from linkit_filter). it's on a page that had a View Attachment. The content type that the view uses has a URL field but it's not using LinkIt, just link.Anyway ideas.
- 🇺🇸United States Poindexterous
I'm having a similar issue with plugin not found with "latest_version_tab", which should be dynamically handled by drupal core modules (or that's my current understanding). in my case it seems related to local task manager and content moderation. I'm still scratching my head over the call stack. This "latest_version_tab" plugin not found seems to be triggered on pages where there isn't a "latest version" at all, we are using workflows and content moderation but these pages where the error is occurring are pages where the published revision is even with the latest revision, so there is no "more recent" revision unpublished in the moderation workflow. I am not sure why drupal is looking for the "latest_version_tab" plugin for a page where there is no latest version. I'm trying to figure out why it seems like drupal thinks this page needs/expects a latest version link in the local task block, and then barfs when it can't find the plugin for it. I'm not that familliar with the inner code workings of task manager partnered with revisions/workflows, but I'm trying to dig in since it's causing random WSODs that we can't replicate, clearing cache works to get the site back alive, but this is a really slippery one to figure out.
Our team had to take a D9 theme and migrate it (along with it's configs) to D10 so this does fit in with the "seems to be happening after upgrading to D!0" trend with this overall thread. However, if this is a bad config somewhere we can't seem to figure out what it is. There is also a similar issue here: https://www.drupal.org/project/drupal/issues/3164711 🐛 Plugin doesn't exists error Closed: cannot reproduce but that issue was closed/can't reproduce and it seemed to be an issue with D9.
The exception and call stack are below:
a:6:{s:5:"%type";s:57:"Drupal\Component\Plugin\Exception\PluginNotFoundException";s:8:"@message";s:10381:"The "content_moderation.workflows:node.latest_version_tab" plugin does not exist. Valid plugin IDs for Drupal\Core\Menu\LocalTaskManager are: entity.block.edit_form, block.admin_display, block.admin_display_theme:claro, block.admin_display_theme:themag, block.admin_display_theme:themag_st, entity.block_content.collection, entity.block_content.canonical, entity.block_content.delete_form, entity.block_content_type.edit_form, captcha_settings, captcha_examples, captcha_points.list, config.sync, config.import, config.export, config.export_full, config.import_full, config.export_single, config.import_single, entity.config_split.canonical, entity.config_split.edit_form, entity.config_split.delete_form, entity.config_split.activate, entity.config_split.deactivate, entity.config_split.import, entity.config_split.export, entity.config_split.collection, content_moderation.workflows:content_moderation.moderated_content, content_moderation.content, dblog.view_logs, dblog.clear_logs, diff.general_settings, diff.fields_list, entity.embed_button.collection, embed.settings, encrypt.list_tab, encrypt.settings_tab, entity.entity_browser.edit_form, entity.entity_browser.edit_form_overview, entity.entity_browser.edit_widgets, entity.entity_browser.delete_form, entityqueue.entities:entity.block_content.entityqueue, entityqueue.entities:entity.config_split.entityqueue, entityqueue.entities:entity.entity_subqueue.entityqueue, entityqueue.entities:entity.media.entityqueue, entityqueue.entities:entity.menu_link_content.entityqueue, entityqueue.entities:entity.node.entityqueue, entityqueue.entities:entity.poll.entityqueue, entityqueue.entities:entity.redirect.entityqueue, entityqueue.entities:entity.shortcut.entityqueue, entityqueue.entities:entity.taxonomy_term.entityqueue, entityqueue.entities:entity.user.entityqueue, entity.entity_subqueue.canonical, entity.entity_subqueue.delete_form, environment_indicator.settings.tab, environment_indicator.collection.tab, entity.field_storage_config.collection, field_ui.fields:overview_block_content, field_ui.fields:form_display_overview_block_content, field_ui.fields:display_overview_block_content, field_ui.fields:field_edit_block_content, field_ui.fields:field_storage_block_content, field_ui.fields:field_form_display_default_block_content, field_ui.fields:field_display_default_block_content, field_ui.fields:field_display_full_block_content, field_ui.fields:field_display_token_block_content, field_ui.fields:overview_entity_subqueue, field_ui.fields:form_display_overview_entity_subqueue, field_ui.fields:display_overview_entity_subqueue, field_ui.fields:field_edit_entity_subqueue, field_ui.fields:field_storage_entity_subqueue, field_ui.fields:field_form_display_default_entity_subqueue, field_ui.fields:field_display_default_entity_subqueue, field_ui.fields:overview_media, field_ui.fields:form_display_overview_media, field_ui.fields:display_overview_media, field_ui.fields:field_edit_media, field_ui.fields:field_storage_media, field_ui.fields:field_form_display_default_media, field_ui.fields:field_display_default_media, field_ui.fields:field_form_display_inline_media, field_ui.fields:field_form_display_media_library_media, field_ui.fields:field_display_compact_preview_media, field_ui.fields:field_display_full_media, field_ui.fields:field_display_gallery_grid_media, field_ui.fields:field_display_media_library_media, field_ui.fields:field_display_paragraph_preview_media, field_ui.fields:field_display_slick_media, field_ui.fields:field_display_token_media, field_ui.fields:overview_node, field_ui.fields:form_display_overview_node, field_ui.fields:display_overview_node, field_ui.fields:field_edit_node, field_ui.fields:field_storage_node, field_ui.fields:field_form_display_default_node, field_ui.fields:field_display_default_node, field_ui.fields:field_display_diff_node, field_ui.fields:field_display_full_node, field_ui.fields:field_display_large_compact_teaser_node, field_ui.fields:field_display_large_teaser_card_node, field_ui.fields:field_display_medium_card_with_square_image_node, field_ui.fields:field_display_medium_compact_teaser_node, field_ui.fields:field_display_medium_teaser_card_node, field_ui.fields:field_display_medium_teaser_card_with_teaser_text_node, field_ui.fields:field_display_medium_teaser_item_node, field_ui.fields:field_display_rss_node, field_ui.fields:field_display_search_index_node, field_ui.fields:field_display_search_result_node, field_ui.fields:field_display_small_compact_teaser_node, field_ui.fields:field_display_small_teaser_card_node, field_ui.fields:field_display_small_teaser_item_node, field_ui.fields:field_display_teaser_node, field_ui.fields:field_display_tiny_teaser_item_node, field_ui.fields:field_display_token_node, field_ui.fields:overview_poll, field_ui.fields:form_display_overview_poll, field_ui.fields:display_overview_poll, field_ui.fields:field_edit_poll, field_ui.fields:field_storage_poll, field_ui.fields:field_form_display_default_poll, field_ui.fields:field_display_default_poll, field_ui.fields:field_display_teaser_poll, field_ui.fields:overview_taxonomy_term, field_ui.fields:form_display_overview_taxonomy_term, field_ui.fields:display_overview_taxonomy_term, field_ui.fields:field_edit_taxonomy_term, field_ui.fields:field_storage_taxonomy_term, field_ui.fields:field_form_display_default_taxonomy_term, field_ui.fields:field_display_default_taxonomy_term, field_ui.fields:field_display_full_taxonomy_term, field_ui.fields:field_display_token_taxonomy_term, field_ui.fields:overview_user, field_ui.fields:form_display_overview_user, field_ui.fields:display_overview_user, field_ui.fields:field_edit_user, field_ui.fields:field_storage_user, field_ui.fields:field_form_display_default_user, field_ui.fields:field_display_default_user, field_ui.fields:field_form_display_register_user, field_ui.fields:field_display_author_info_user, field_ui.fields:field_display_compact_user, field_ui.fields:field_display_full_user, field_ui.fields:field_display_token_user, field_ui.fields:overview_paragraph, field_ui.fields:form_display_overview_paragraph, field_ui.fields:display_overview_paragraph, field_ui.fields:field_edit_paragraph, field_ui.fields:field_storage_paragraph, field_ui.fields:field_form_display_default_paragraph, field_ui.fields:field_display_default_paragraph, field_ui.fields:field_display_mg_compact_paragraph, field_ui.fields:field_display_preview_paragraph, field_ui.fields:field_display_token_paragraph, entity.entity_view_mode.edit_form, entity.entity_form_mode.edit_form, entity.entity_view_mode.collection, entity.entity_form_mode.collection, entity.filter_format.edit_form_tab, filter.admin_overview, google_analytics.admin_settings_form_tab, google_tag.default_tag_tab, google_tag.settings_form_tab, google_tag.container_list_tab, entity.image_style.edit_form, entity.image_style.collection, jm_cache.cc_open_modal, entity.key_config_override.collection, media.tasks:entity.media.canonical, media.tasks:entity.media.delete_form, entity.media_type.edit_form, entity.media_type.collection, entity.media.collection, media_directories_ui.media_directories_overview.tab, media_library.table, media_library.grid, entity.menu.view_modes_settings, entity.menu.view_modes_settings.default, entity.menu_link_content.canonical, entity.menu.edit_form, entity.menu.collection, metatag_defaults, metatag.settings, entity.node.canonical, entity.node.edit_form, entity.node.delete_form, entity.node.version_history, entity.node_type.edit_form, entity.node_type.collection, entity.path_alias.collection, entity.poll.canonical, entity.poll.edit_form, entity.poll.delete_form, poll.poll_overview, poll.settings, preview_link.entity_links:block_content.preview_link_generate, preview_link.entity_links:entity_subqueue.preview_link_generate, preview_link.entity_links:media.preview_link_generate, preview_link.entity_links:menu_link_content.preview_link_generate, preview_link.entity_links:node.preview_link_generate, preview_link.entity_links:taxonomy_term.preview_link_generate, recaptcha.admin_settings_form_tab, redirect.list, redirect.settings, redirect_404.fix_404, entity.responsive_image_style.edit_form, samlauth.configuration, search.plugins:node_search, shortcut.set_switch, entity.shortcut_set.customize_form, entity.shortcut_set.edit_form, entity.shortcut.canonical, simple_sitemap.sitemaps, simple_sitemap.status, simple_sitemap.types, simple_sitemap.settings, simple_sitemap.inclusion, simple_sitemap.entities, simple_sitemap.custom, entity.slick.collection, entity.slick.edit_form, slick.settings, structure_sync.general, structure_sync.taxonomies, structure_sync.blocks, structure_sync.menu, system.rss_feeds_settings_tab, system.site_maintenance_mode_tab, system.site_information_settings_tab, system.themes_page, system.theme_settings, system.theme_settings_global, system.theme_settings_theme:claro, system.theme_settings_theme:themag, system.theme_settings_theme:themag_st, system.modules_list, system.modules_uninstall, system.admin, system.admin_index, entity.date_format.collection, entity.date_format.edit_form, entity.version_history:block_content.version_history, system.admin_content, system.performance_settings, entity.taxonomy_term.canonical, entity.taxonomy_term.edit_form, entity.taxonomy_term.delete_form, entity.taxonomy_vocabulary.overview_form, entity.taxonomy_vocabulary.edit_form, update.status, update.settings, update.report_update, update.module_update, update.theme_update, entity.user_role.edit_form, entity.user_role.edit_permissions_form, user.account_settings_tab, user.register, user.pass, user.login, entity.user.canonical, entity.user.edit_form, entity.user.collection, user.admin_permissions, entity.bundle.permission_form:permissions_block_content_type, entity.bundle.permission_form:permissions_media_type, entity.bundle.permission_form:permissions_node_type, entity.bundle.permission_form:permissions_taxonomy_vocabulary, entity.user_role.collection, user.role.settings, views_ui.settings_tab, views_ui.settings_basic_tab, views_ui.settings_advanced_tab, views_ui.list_tab, views_ui.reports_fields, entity.view.edit_form, entity.view.edit_display_form, pathauto.patterns.form, pathauto.settings.form, pathauto.bulk.update.form, pathauto.admin.delete, views_view:view.files.page_1, views_view:view.samlauth_map.page, entity.paragraphs_type.edit_form, entity.paragraphs_type.collection";s:9:"%function";s:58:"Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition()";s:5:"%file";s:83:"/var/www/html/docroot/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php";s:5:"%line";i:53;s:17:"@backtrace_string";s:7050:"#0 /var/www/html/docroot/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php(25): Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() #1 /var/www/html/docroot/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(16): Drupal\Core\Plugin\DefaultPluginManager->getDefinition() #2 /var/www/html/docroot/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance() #3 /var/www/html/docroot/core/lib/Drupal/Core/Menu/LocalTaskManager.php(263): Drupal\Component\Plugin\PluginManagerBase->createInstance() #4 /var/www/html/docroot/core/lib/Drupal/Core/Menu/LocalTaskManager.php(290): Drupal\Core\Menu\LocalTaskManager->getLocalTasksForRoute() #5 /var/www/html/docroot/core/lib/Drupal/Core/Menu/LocalTaskManager.php(358): Drupal\Core\Menu\LocalTaskManager->getTasksBuild() #6 /var/www/html/docroot/core/lib/Drupal/Core/Menu/Plugin/Block/LocalTasksBlock.php(95): Drupal\Core\Menu\LocalTaskManager->getLocalTasks() #7 /var/www/html/docroot/core/modules/block/src/BlockViewBuilder.php(171): Drupal\Core\Menu\Plugin\Block\LocalTasksBlock->build() #8 [internal function]: Drupal\block\BlockViewBuilder::preRender() #9 /var/www/html/docroot/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(111): call_user_func_array() #10 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(797): Drupal\Core\Render\Renderer->doTrustedCallback() #11 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(386): Drupal\Core\Render\Renderer->doCallback() #12 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(458): Drupal\Core\Render\Renderer->doRender() #13 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender() #14 /var/www/html/docroot/core/lib/Drupal/Core/Template/TwigExtension.php(474): Drupal\Core\Render\Renderer->render() #15 /tmp/someenvprod/php_storage/twig/refs/tags/pipelines-build-version/1.0.4/sitename/twig/651c79a5091cd_page--layout-builder-enab_cWANDOXnBZPVjkUKgA-Bshhuj/bJlK2EuJOpNYOG693jgXH4DBBV1LqZbpzLb088q8lds.php(54): Drupal\Core\Template\TwigExtension->escapeFilter() #16 /var/www/html/vendor/twig/twig/src/Template.php(394): __TwigTemplate_618eeaf42370d16879ebe70a43b62376->doDisplay() #17 /var/www/html/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling() #18 /var/www/html/vendor/twig/twig/src/Template.php(379): Twig\Template->display() #19 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\Template->render() #20 /var/www/html/docroot/core/themes/engines/twig/twig.engine(53): Twig\TemplateWrapper->render() #21 /var/www/html/docroot/core/lib/Drupal/Core/Theme/ThemeManager.php(372): twig_render_template() #22 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(445): Drupal\Core\Theme\ThemeManager->render() #23 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender() #24 /var/www/html/docroot/core/lib/Drupal/Core/Template/TwigExtension.php(474): Drupal\Core\Render\Renderer->render() #25 /tmp/someenvprod/php_storage/twig/refs/tags/pipelines-build-version/1.0.4/sitename/twig/651c79a5091cd_html.html.twig_7zwbrb3i83LMTfxPRAN_sdvFP/ijhtjG8FEH8x8Z_h3LQErV4QMb2bPGgyr4MUlVV3lx8.php(162): Drupal\Core\Template\TwigExtension->escapeFilter() #26 /var/www/html/vendor/twig/twig/src/Template.php(171): __TwigTemplate_e8de942a1490ca3511adedde44242f4b->block_body() #27 /tmp/someenvprod/php_storage/twig/refs/tags/pipelines-build-version/1.0.4/sitename/twig/651c79a5091cd_html.html.twig_7zwbrb3i83LMTfxPRAN_sdvFP/ijhtjG8FEH8x8Z_h3LQErV4QMb2bPGgyr4MUlVV3lx8.php(131): Twig\Template->displayBlock() #28 /var/www/html/vendor/twig/twig/src/Template.php(394): __TwigTemplate_e8de942a1490ca3511adedde44242f4b->doDisplay() #29 /var/www/html/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling() #30 /var/www/html/vendor/twig/twig/src/Template.php(379): Twig\Template->display() #31 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\Template->render() #32 /var/www/html/docroot/core/themes/engines/twig/twig.engine(53): Twig\TemplateWrapper->render() #33 /var/www/html/docroot/core/lib/Drupal/Core/Theme/ThemeManager.php(372): twig_render_template() #34 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(445): Drupal\Core\Theme\ThemeManager->render() #35 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender() #36 /var/www/html/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(158): Drupal\Core\Render\Renderer->render() #37 /var/www/html/docroot/core/lib/Drupal/Core/Render/Renderer.php(592): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() #38 /var/www/html/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(159): Drupal\Core\Render\Renderer->executeInRenderContext() #39 /var/www/html/docroot/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() #40 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() #41 /var/www/html/docroot/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func() #42 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(187): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() #43 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw() #44 /var/www/html/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle() #45 /var/www/html/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle() #46 /var/www/html/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle() #47 /var/www/html/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass() #48 /var/www/html/docroot/modules/contrib/shield/src/ShieldMiddleware.php(270): Drupal\page_cache\StackMiddleware\PageCache->handle() #49 /var/www/html/docroot/modules/contrib/shield/src/ShieldMiddleware.php(137): Drupal\shield\ShieldMiddleware->bypass() #50 /var/www/html/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\shield\ShieldMiddleware->handle() #51 /var/www/html/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() #52 /var/www/html/docroot/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() #53 /var/www/html/docroot/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle() #54 /var/www/html/docroot/index.php(19): Drupal\Core\DrupalKernel->handle() #55 {main}";}
- First commit to issue fork.
- @larowlan opened merge request.
- Status changed to Needs review
about 1 year ago 10:27pm 8 November 2023 - 🇦🇺Australia larowlan 🇦🇺🏝.au GMT+10
Refocussing this on the concrete issue of filter plugins.
Adding steps to reproduce.
Added an MR to take care when we're syncing the entity.
- 🇨🇦Canada joseph.olstad
@larowlan, excellent work.
It would be very very nice to get this backported even into 9.5.x with a tagged release
10.0.x and 10.1.x given how much of a positive impact this will have on the upgrade process helping people through the upgrade process from Drupal 9.5 through 10.0 and into 10.1 and beyond.People get trapped into this, I might even suggest backporting to 9.4.x, 9.3.x and tagging a release for those also in case anyone is still stuck on this issue where it's blocking their upgrade process.
I've seen his issue many times and managed to work around the issue but it's not easy to figure out for someone with less grey hairs than me.
- Status changed to Needs work
about 1 year ago 4:17pm 9 November 2023 - 🇺🇸United States smustgrave
Seems will still need test coverage though.
D9 is EOL so don't think any new releases will be done, could be wrong not sure if there are special cases but I haven't seen it.
Thanks!
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
@larowlan in #177: AFAICT that is precisely what the already-RTBC 🐛 Consistently sort filter formats to simplify config exports Fixed is solving?
- 🇦🇺Australia larowlan 🇦🇺🏝.au GMT+10
Thanks @Wim Leers - I wasn't aware of that one, added to my list 🙌
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
That one is in!
What does that mean for this issue? 🤔 Does that mean we should restore the original scope? I'm not familiar yet with the ins and outs of this issue, so letting @larowlan or somebody else make a more informed suggestion than I could right now 😅
- 🇦🇺Australia larowlan 🇦🇺🏝.au GMT+10
@Wim Leers we still need the check for isSyncing in editor.module (And in ckeditor in contrib).
I think we should be dealing with these issues on a per-module/sub-system basis. The filter one (which is now just the isSyncing check in editor module) is actionable. Each other issue needs its own issue.
Needs work for a re-roll after the filter sorting one went in.
- 🇺🇸United States DamienMcKenna NH, USA
Related to this, we found a similar scenario:
* Update a text format to remove a filter ("My Filter") that comes from a specific module ("My Filter Module").
* Uninstall the module.
* Export the configuration, confirm that both the filter.format.*.yml and core.extensions.yml files are updated.
* Attempt to load the config changes in another copy of the same site using Drush, this error will be shown:[error] Drupal\Core\Config\ConfigImporterException: There were errors validating the config synchronization.
Unable to uninstall the My Filter Module module because: Provides a filter plugin that is in use in the following filter formats: Full HTML. in Drupal\Core\Config\ConfigImporter->validate() (line 814 of core/lib/Drupal/Core/Config/ConfigImporter.php). - last update
11 months ago Build Successful - last update
11 months ago 29,794 pass, 204 fail - 🇮🇳India zeeshan_khan
Do we have any possible solution for this??
This issue starts occurring after upgrade from Drupal 9 to Drupal 10. its not easily reproducible, However if we do lots of content entries it occurs but not every time. - 🇺🇸United States SocialNicheGuru
The patch provides an error on D10.2 and editing and trying to create a new fitler type using ckeditor5:
?destination=/admin/config/content/formats|1||Warning: Undefined array key "provider" in Drupal\filter\Entity\FilterFormat->filters() (line 148 of d10.2.x/html/core/modules/filter/src/Entity/FilterFormat.php)
- 🇺🇸United States sassafrass
I also experience the error reported in #188. In addition, I am unable to create any new filter text formats because I am unable to select CKEditor5 as the text editor. I get an error indicating that I must select and configure it when I try to save. I removed the patch to create the new filter, but am now experiencing the original plugin error reported.
- 🇦🇺Australia acbramley
Hiding old patches and screenshots, going to take a stab at this today.
- 🇦🇺Australia acbramley
I can't reproduce the PluginNotFoundException, but I do get another error
Unable to uninstall the Linkit module because: Provides a filter plugin that is in use in the following filter formats: Basic HTML
This is following the steps in the IS, but without the environment switch, so:
- drush si standard
- drush en linkit -y
- Login and enable the Linkit filter on Basic HTML
- Export configuration
- Dump your database
- Disable the filter on Basic HTML
- drush pmu linkit
- Restore the database
- drush cim -y
On both 11.x and the current MR branch I get the above error.
- 🇦🇺Australia acbramley
This is looking much trickier than I'd hoped. Tried adding another isSyncing() check in FilterUninstallValidator but at that point the filter config hasn't been marked as syncing :(
- 🇦🇺Australia acbramley
Further testing shows the
Plugin (X) instance class "Drupal\my_module\Plugin\Filter\X" does not exist.
appears if you try to config import when the actual plugin file doesn't exist. Perhaps the original error was reported when people were trying to deploy the uninstallation of the module, the removal of the plugin AND they had removed the module from composer. I don't think that's something we support currently (there's other issues floating around about being able to uninstall a module that no longer exists on the file system) so we can focus on the config dependency issue here. - 🇺🇸United States tenten71
In my case I have a DEV server and a LIVE (production) server. We have yet to be able to reproduce the errors in DEV that we see in LIVE. We are looking into possible server differences but we have not found any yet. We've tested backups of LIVE in DEV and still can't recreate in DEV. The first "plugin" error I get in LIVE is for CKEditor5. Any page that needs to use the WYSIWYG in the admin is not accessible. CKEditor5 is not listed in the Text Formats page. Just "---" where it should say CKEditor5.
We are in the process of cloning the LIVE environment so we can recreate the issue and debug it in LIVE-CLONE without affecting the actual LIVE site.
- 🇺🇸United States tenten71
Not quite sure what fixed the issue since I'm not quite sure what the problem was but here is what we did:
- Created a clone of the entire LIVE server
- Changed local Host file to point us at the new clone site
- Went to a page that uses CKEditor to be sure it was still causing an error (success)
- Since using drush cr possibly made the site worse, I tried going through individual cache commands and checked the site after each one to be sure it was still working
- cd ../../var/www/drupal
- ./vendor/bin/drush cache-clear theme-registry
- ./vendor/bin/drush cache-clear css-js
- ./vendor/bin/drush twig-compile
- ./vendor/bin/drush cache-clear router
- ./vendor/bin/drush cr
- ./vendor/bin/drush eval "drupal_flush_all_caches();"
- ./vendor/bin/drush config:status
- ./vendor/bin/drush cex
- ./vendor/bin/drush cr
- lastly I clicked the Cache Rebuild button in the admin UIThe site was no longer giving me anymore of the "plugin not found" errors. So we did the same in the LIVE server with the same results.
Unfortunately, I did not test any pages using CKEditor during any of these steps so I can't say which step made the magic happen. Sorry, I forgot and I'm kicking myself.
But our site is back up and running so hope this helps someone else with their similar issues.