Problem/Motivation
When deploying config changes that both remove a filter from an input format, and uninstall the module that provided that filter an error is produced.
Unable to uninstall the Linkit module because: Provides a filter plugin that is in use in the following filter formats: Basic HTML
Steps to reproduce
- drush si standard
- drush en linkit -y
- Login and enable the Linkit filter on Basic HTML
- Dump your database
- Disable the filter on Basic HTML
- drush pmu linkit
- Export configuration
- Restore the database
- drush cim -y
There are two issues here (three if you are using ckeditor 4 module from contrib)
- editor_filter_format_presave doesn't check if the entity is syncing and should
- If you have the CKE4 module from contrib - ckeditor_editor_presave doesn't check if the entity is syncing and should
- We shouldn't sort the plugins when we're syncing
Proposed resolution
We careful of loading filters when we're syncing
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
| Comment | File | Size | Author |
|---|
Issue fork drupal-3056633
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
qproComment #3
qproComment #4
jimafisk commentedI think I have the same issue, after upgrading from 8.6.16 => 8.7.1 anonymous users get a 500 error with this message:
My authenticated session continues to work.
I'm also upgrading via
lando composer update drupal/core webflo/drupal-core-require-dev --with-dependenciesEdit: Our error is regarding "context is required and not present" which may be unrelated, so we've opened a new issue here: https://www.drupal.org/project/drupal/issues/3057399. Thanks!
Comment #5
yookoala commentedI'm using Drupal 8.7.2 on Apache, PHP 7.1 and Mariadb. This is the error I got in a simple "Manage form display" submission.
AFAIK, "email" is a core plugin that doesn't require extra installation.
Comment #6
qproComment #7
qproComment #8
qproComment #9
qproComment #10
qproComment #11
AlexanderPop commentedsaw same issue today. clearing cache solved all problems
Comment #12
cofi-alan commentedWe had (have?) a similar behavior after upgrading from 8.6.13 to 8.7.3. In our case all of our paragraph types were affected, stopping content editing cold. We were getting this line in the logs:
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "entity:paragraph:our_names" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedDataManager are...
The paragraph types were completely functional at /admin/structure/paragraphs_type, but they could not be loaded/found when editing any of our content pages.
Our fix seemed to be forcing the types to update themselves. I added a description to each one and saved it, and that re-wrote whatever piece was missing in the database or configuration. Oddly, in reviewing later logs this was also affecting a button component (entity:components:our_buttons), but that disappeared when the paragraph type got fixed. Maybe updating one paragraph triggered a re-read of all the plugin information? (I don't know Drupal well enough to know if that's a thing...)
Comment #13
andres.torres commentedJust installed a fresh Drupal 8.7.4, enabled content translation and ECK, can't create entity bundles, I'm getting the same error.
Running cron or clearing cache dont work.
The website encountered an unexpected error. Please try again later.Drupal\Component\Plugin\Exception\PluginNotFoundException: The "entity:activity_type" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedDataManager are: filter_format, layout_section, metatag, search_api_text, search_api_html, field_item:address, field_item:address_zone, field_item:address_country, field_item:block_field, field_item:comment, field_item:contact_storage_options_email, field_item:datetime, field_item:file, field_item:file_uri, field_item:geolocation, field_item:image, field_item:layout_section, field_item:link, field_item:metatag, field_item:list_string, field_item:list_integer, field_item:list_float, field_item:path, field_item:redirect_source, field_item:telephone, field_item:text_long, field_item:text_with_summary, field_item:text, field_item:video_embed_field, field_item:viewsreference, field_item:changed, field_item:decimal, field_item:timestamp, field_item:string, field_item:language, field_item:created, field_item:boolean, field_item:uri, field_item:password, field_item:string_long, field_item:entity_reference, field_item:uuid, field_item:integer, field_item:float, field_item:email, field_item:map, entity, entity:block, entity:block_content_type, entity:block_content, entity:block_content:basic, entity:captcha_point, entity:comment_type, entity:comment, entity:contact_form, entity:contact_message, entity:contact_message:feedback, entity:contact_message:personal, entity:eck_entity_bundle, entity:eck_entity_type, entity:editor, entity:entity_browser, entity:field_config, entity:field_storage_config, entity:file, entity:filter_format, entity:image_style, entity:language_content_settings, entity:configurable_language, entity:metatag_defaults, entity:node, entity:node:article, entity:node:page, entity:node:projected_day, entity:node:worked_day, entity:node_type, entity:rdf_mapping, entity:redirect, entity:search_api_server, entity:search_api_index, entity:search_api_task, entity:shortcut_set, entity:shortcut, entity:shortcut:default, entity:slick, entity:action, entity:menu, entity:taxonomy_vocabulary, entity:taxonomy_term, entity:taxonomy_term:tags, entity:toolbar_menu_element, entity:tour, entity:user_role, entity:user, entity:userprotect_rule, entity:menu_link_content, entity:pathauto_pattern, entity:xmlsitemap, entity:view, entity:date_format, entity:base_field_override, entity:entity_form_display, entity:entity_view_mode, entity:entity_view_display, entity:entity_form_mode, entity_reference, timestamp, integer, language_reference, map, boolean, datetime_iso8601, list, any, language, duration_iso8601, string, email, timespan, float, uri, binary in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Drupal\Core\Plugin\DefaultPluginManager->getDefinition('entity:activity_type') (Line: 115)Comment #14
felubraI've encountered this issue after importing configuration from a folder in Drupal 8.7.5. I've managed to solve this problem by running drupal console commands
drupal crfollowed bydrupal cr discovery. Hopefully this will help anyone.Comment #15
jnettikI've also encountered this issue after upgrading to Drupal 8.7.5.
Comment #16
tlwatsonWe encountered this issue as well after pulling & syncing a minor change to the 'syslogs' config.
The site was unreachable and drush ULI gave the errors above.
Running 'drush cr' from the command line fixed the issue.UPDATE: continuing to have the same error anytime we clear the cache via the UI.
Comment #17
qproComment #18
qproSee Edit 3 in the issue summary. Maybe we can compare our backtraces to be sure we are getting the same error.
Comment #19
shamilto2000 commentedI have a similar issue, running drush cr leads to error:
The "ds_entity:taxonomy_term" plugin does not exist. Valid plugin IDs for D
rupal\views\Plugin\ViewsPluginManager are: aggregator_rss, comment_rss, ent
ity_reference_revisions, node_rss, entity:node, data_field, data_entity, se
arch_view, entity:user, rss_fields, fields, entity:aggregator_feed, entity:
aggregator_item, entity:block_content, entity:comment, entity:feeds_subscri
ption, entity:feeds_feed, entity:file, entity:media, entity:paragraphs_libr
ary_item, entity:shortcut, entity:taxonomy_term, entity:webform_submission,
entity:menu_link_content, entity:paragraph, entity_reference, opml_fields
After a lot of searching, I discovered that many of my problems were due to database conflicts resulting from having originally installed Drupal 8 via the drupal/project template using composer, but later updating individual modules using the UI. I had to go into the db and delete rows in the config table that had conflicting settings, in this case ds and ds_extras. Here was the SQL I used to find the offending entries, then I deleted the rows and re-enabled the modules:
SELECT * FROM `config` WHERE name LIKE '%ds.settings%'
SELECT * FROM `config` WHERE name LIKE '%ds_extras.settings%'
The errors about a missing plugin no longer tortures me.
Comment #20
nikhileshpaul commentedWe didn't encounter the issue just after updating to Drupal 8.7.5, but only recently. Also, the plugin in our case is "views_view:view.comment.page_published". Below is the exact error message
Uncaught PHP Exception Drupal\\Component\\Plugin\\Exception\\PluginNotFoundException: "The "views_view:view.comment.page_published" plugin does not exist
Users get this error intermittently on /admin/content page and as is the case with others, it goes off with a cache clear
Comment #21
ahimsauziIn my case the issue is with Commerce payment gateways. It appears the Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php) function is picking up the payment gateway id instead of the plugin id used by the payment gateway.
When created a new payment gateway and gave it an id/name using one of the valid plugin IDs (Acceptjs in the attached is the only gateway with no issue), the error is gone.
Comment #22
netronicus commentedSame persistent error after upgrading to drupal 8.7.8, the problem seems to be fixed after clearing the cache but returns after a while.
Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "The "broken" plugin does not exist. Valid plugin IDs for Drupal\views\Plugin\ViewsHandlerManager are: "
Edited: after a while, error came out again
Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "The "views_query" plugin does not exist. Valid plugin IDs for Drupal\views\Plugin\ViewsPluginManager are: "
so annoying
Comment #23
qproComment #24
cilefen commentedPriority levels are documented. Please justify changes to critical.
Comment #25
cilefen commentedI read the summary and all comments. It will be ideal if anyone can determine the steps to reproduce, beginning with “Install Drupal...”.
The OP’s original report is so interesting because different plugins are reported missing. I am interested to know the opcache configuration on affected sites.
Comment #26
ktch_my commentedI'm having the similar issue.
But instead of Drupal 8.7+, mine was drupal 8.6.16.
But the error didn't occur during core update, it's after I enabled a module (coincidentally it's feeds module I enabled).
Then the error shows.
Drupal\\Component\\Plugin\\Exception\\PluginNotFoundException: The "smallad_search" plugin does not exist.The plugin that was "missing" is one of the module I uninstalled about 16 months ago.
I assume somewhere in the database the table still kept the uninstalled module config records.
And somehow Feeds module installation triggered it. (Could it be?)
As I've also enabled few modules on the same site without the error.
Comment #28
qproEureka! , TLTR : The cause of issue was an indentation error on a config file in a subtheme (../config/schema/subtheme.schema.yml).
This file (from a my custom Bootstrap Barrio subtheme) have no indentation after "mapping:" :
instead of this
This thing caused all "Drupal\Component\Plugin\Exception\PluginNotFoundException: The "{whatever}" plugin does not exist." errors. (facepalm).
I found a copy of the file with .save at end of filename (subtheme.schema.yml.save) with the correct indentation so I supposed something happened while editing the file (using nano in linux).
So issue was completely my fault, not a bug in code, but maybe Drupal should point out problems in configuration files, in this case log files didn't give a clue for the issue origin.
I found the problem because I decided to start from the scratch the site to the determine steps to reproduce as suggested in #25 so thanks @cilefen , also for reading all the summary and comments, and the issue priority levels remark
Comment #29
dpiThis doesn’t look Fixed
Comment #30
bwoods commentedThank you @ahimsauzi for pointing me in the right direction for the problem I was having with this. I have been using the Payment module without Commerce, and somehow ended up with an "Unavailable" method. I think what happened is that I was testing a new method and deleted content before deleting the method first. It seems that I can delete payment records directly in the database to fix the issue, although there's probably some other cleanup I need to do as well.
Comment #31
bart lambert commentedupdating from 8.7.10 to 8.8.0 gives me similar error but for the filter module.
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "filter_format" plugin does not exist. .....
Core Filter module is unchecked (not installed) whilst on 8.7.10 it was. Trying to enable this module gives error :
Unable to install Filter, filter.format.plain_text, filter.settings already exist in active configuration.
As admin I can acces the site but not all is working....
any clues?
Comment #32
shubhangi1995In my case :
All the above patches were suppressing the fatal errors by providing a default class in case the actual class or handler were not reachable but again the reason behind the errors were still not known until , i checked my settings for drupal cache.
I am using varnish and with purge module. my drupal cache was set upto 30 min increasing the drupal cache time to 1 week removed the errors in my case.
Comment #33
freshyill commentedI'm experiencing a similar error to #31. I've tried reinstalling and uninstalling the module with no luck. I have absolutely no clue how to proceed.
Comment #34
khoa pham commentedI got some similar error messages in 2 times:
in the first time i got the error message: Drupal\Component\Plugin\Exception\PluginNotFoundException: The "panels" plugin does not exist. Some steps i did (example: current version - panels 8.x-4.2, i don't remember exact version):
- composer require drupal/panels:4.3
- drush updb && drush cr
- composer require drupal/panels:4.4
- drush updb && drush cr
in the second time i got another error message: Drupal\Component\Plugin\Exception\PluginNotFoundException: The "linkit" plugin does not exist.
- i did these steps above, i updated module via composer step by step and it worked properly.
Comment #35
mtrayhan commentedAlso updating from 8.7.10 to 8.8.0.
PluginNotFoundException: The "blazy_filter" plugin does not exist....
I can't uninstall the module as it throws the same error. The solution in #28 didn't help me.
Comment #36
ioannis.cherouvim commentedWhatever appears in the "plugin does not exist" error does not matter at all.
I can consistently reproduce this problem via pasting the following block at once in a terminal:
Comment #37
cvw commentedI have the same problem on "comment plugin does not exist" after a fairly big import of config plus update from 8.7 to 8.8.
The problem disappears after either uninstalling and installing field_ui, or by issuing
drush cache-clear pluginThis is not meant any more for Drupal 8, but with drush 10 it works.
drush cache-rebuildis supposed to clear the plugin cache anyway by calling drupal_rebuild().
My knowledge of what happens inside drupal_rebuild() is insufficient to evaluate if something is amiss there.
Is the plugin cache sufficiently cleared?
Comment #38
pietpomp commentedThis keeps coming up for me and again now going onto D8.8.1
Please see #2061377: [drupalImage] Optionally apply image style to images uploaded in CKEditor 5 where this 8.8 patch #2061377-345: [drupalImage] Optionally apply image style to images uploaded in CKEditor 5 works for me.
Comment #39
StaelensC commentedI had a site crash earlier after installing that Develop Suite module which I couldn't fix and restarted a project.
This time the project was pretty advanced and after installing commerce 2 via composer (base) and extend (all submodules), I added some content and once I did a drush cr, crash again.
I tried deleting ds.settings, since Develop Suite gave me problems earlier (not anymore after installing on clean project).
Did not work.
But after trying #36, namely drush eval "drupal_flush_all_caches();" and then drush cr again, project works.
I can't say if the removal of ds.settings had anything to do with it, I'm still a beginner..
Also, the drupal flush gave me a code of 1, which in my understanding should be an error exit code, I don't know if parts of the script had something to do with resolving this issue. See attached printscreens.
Comment #42
csunway commentedI keep having this problem too out of sudden.
Current php using: 7.1.8
Tried 1) Installed a fresh Drupal 8.8.x, the error occurred after putting in DB connection details during the setup.
2) Duplicated an existing application (D8.7.9), failed to load the duplicated version. The same error occurred.
Please kindly help.
Uncaught PHP Exception Drupal\\Component\\Plugin\\Exception\\PluginNotFoundException: "The "field_item:string_long" plugin does not exist. Valid plugin IDs for Drupal\\Core\\TypedData\\TypedDataManager are: entity_revision_reference, entity_revision, entity_revision:block, entity_revision:block_content, entity_revision:block_content:basic, entity_revision:block_content_type, entity_revision:comment, entity_revision:comment:comment, entity_revision:comment_type, entity_revision:contact_form, entity_revision:contact_message, entity_revision:contact_message:feedback, entity_revision:contact_message:personal, entity_revision:content_moderation_state, entity_revision:editor, entity_revision:field_config, entity_revision:field_storage_config, ......Comment #43
darnold commentedSame problem when trying to update webform to 8.x.5.5 to 8.x.5.6 on Drupal 8.7.10 site
Site is there but while trying to use any admin I get "The website encountered an unexpected error. Please try again later."
Error messages throw, "[04-Jan-2020 08:39:23 America/Los_Angeles] Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "The "SMTPMailSystem" plugin does not exist. Valid plugin IDs for Drupal\mailsystem\MailsystemManager are: webform_php_mail, php_mail, test_mail_collector" at /home/vrcfdru/public_html/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php line 53"
Comment #44
keshavv commentedUpdated Drupal 8.7.10 to 8.8.1 . So now i am not able to upload some file extensions like png, jpg, csv, xls etc Showing error
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "entity:file:undefined" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedDataManager are: formatted_price, entity_revision_reference, entity_revision, entity_revision:block, entity_revision:block_content, entity_revision:block_content:basic, entity_revision:block_content_type, entity_revision:comment, entity_revision:comment:comment, entity_revision:comment_type...Please help
Comment #45
keshavv commentedThanks @eglaw for quick response.
Issue fixed by adding extensions in /admin/structure/file-types
Really Thanks.
Comment #46
shahankitb1982 commentedTried all things above.
Upgrading from Drupal 8.6.7 to 8.7.11.
Still facing
Comment #47
mykola dolynskyifacing same problem (when adding field group for view form)
in my case I had in custom entity
All worked fine untill adding field group, field was working
but to solve problem had to change
to
Comment #48
shreya_r commentedI updated my website from Drupal v8.7.10 to 8.7.11. I encountered a similar error when I checked the ‘recent log messages’ after the update and also every time I do ‘drush cr’. This error is causing issues while rendering two pages of my website.
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "ds_entity:node" plugin does not exist. Valid plugin IDs for Drupal\views\Plugin\ViewsPluginManager are: entity_reference_revisions, node_rss, entity:node, search_api, entity:user, rss_fields, fields, entity:block_content, entity:content_moderation_state, entity:crop, entity:entity_subqueue, entity:feeds_subscription, entity:feeds_feed, entity:file, entity:media, entity:paragraphs_library_item, entity:redirect, entity:search_api_task, entity:shortcut, entity:taxonomy_term, entity:tmgmt_job_item, entity:tmgmt_remote, entity:tmgmt_job, entity:tmgmt_message, entity:tmgmt_local_task_item, entity:tmgmt_local_task, entity:webform_submission, entity:menu_link_content, entity:paragraph, entity_reference, opml_fields in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition()Comment #49
luiggi commentedI have Drupal 8.8.1 it was running correctly, but suddenly I got the next message:
----------------------------------------------------------------------------------------------------------------------------------------------------------
The website encountered an unexpected error. Please try again later.
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "field_item:language" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedDataManager are: filter_format, email, uri, map, any, list, timestamp, duration_iso8601, integer, datetime_iso8601, timespan, language_reference, string, float, language, binary, boolean, entity, entity:block, entity:block_content, entity:block_content:basic, entity:block_content_type, entity:comment_type, entity:comment, entity:comment:comment, entity:contact_form, entity:contact_message, entity:contact_message:feedback, entity:contact_message:personal, entity:editor, entity:field_config, entity:field_storage_config, entity:file, entity:filter_format, entity:image_style, entity:node_type, entity:node, entity:node:article, entity:node:page, entity:path_alias, entity:rdf_mapping, entity:search_page, entity:shortcut, entity:shortcut:default, entity:shortcut_set, entity:action, entity:menu, entity:taxonomy_term, entity:taxonomy_term:tags, entity:taxonomy_vocabulary, entity:tour, entity:user_role, entity:user, entity:menu_link_content, entity:menu_link_content:menu_link_content, entity:view, entity:base_field_override, entity:entity_view_mode, entity:entity_form_mode, entity:entity_form_display, entity:entity_view_display, entity:date_format, entity_reference in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Drupal\Core\Plugin\DefaultPluginManager->getDefinition('field_item:language') (Line: 248)
...
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
----------------------------------------------------------------------------------------------------------------------------------------------------------
The only thing I remember was changing the size of the font for the menu navigation of my site, using the Appearance menu, and then suddenly my site is not working anymore.
My server is runnign PHP 7.1, Mariadb 5.5.64, Apache 2, Centos 7, .
Comment #50
joseph.olstadI just hit this too, a colleague pushed up some new config to content type display modes, which seems to bust my environment.
investigating.
Comment #51
salihcenap commentedI was getting:
Drupal 8.8.2 were my version. Somehow my image effects were messed up. They were not even being displayed in effects lists when I tried to add a new image style. Stock image styles were impossible to edit. So installing image_effects module seemed to solve the problem:
But when I flushed the caches the problem came back.
Comment #52
tjtj commentedThis is the biggest problem I have using Drupal. Surely with so many affected, someone can provide a full description of how to fix this. Uninstalling and reinstalling the module in question never works for me.
Comment #53
joseph.olstadI found out why I was getting this error.
My Mysql server config and client config was incorrect.
When using Drupal the max_allowed_packet memory limit setting should be increased
if this setting is incorrect, nasty things can happen. the default value is too low for Drupal 7 or Drupal 8.
Comment #54
finex commentedSame problem here with commerce_stripe module.
The following fix doesn't work:
- uninstall/reinstall module
-
drush cr- Removing "vendor" and reinstalling it
- change max_allowed_packet from 16 to 32
The following command fixed the problem:
-
drush eval "drupal_flush_all_caches();"Comment #55
joseph.olstadDefinately keep your mysql conf for max_allowed_packet at 32M
that's the first time I've seen eval used this way, nice, I'll try it some time.
drush eval "drupal_flush_all_caches();"I wonder why that would work where drush cr would not? Maybe you needed to drush cc drush and then drush cr
the max_allowed_packet setting change probably is what helped you out the most.
Comment #56
thhafner commentedThe solution in #54 worked for me as well.
Comment #57
chankongching commentedFor yamlform module related issue, it was fixed by updating yamlform module and composer update
Comment #58
leolandotan commentedI have encountered this issue as well on Drupal 8.8.4, PHP 7.3.16 and MySQL 5.7.25.
The scenario was, I enabled the Address module, did some site building on my content type with an Address field, filled up the field in a node, viewed the node page and everything was alright. I cleared caches and the error came up. I'm not sure what's going on as well.
The solution in #54 regarding `drush eval "drupal_flush_all_caches();"` worked for me.
Thank you very much!
Comment #59
duneblFor me it is: The "excel_export" plugin does not exist.
The following fix doesn't work:
- couldn't uninstall/reinstall module because of the error
- change max_allowed_packet from 16 to 32
- drush eval "drupal_flush_all_caches();"
The error seems there only when flushing the caches
Comment #60
dunebl"excel_export" plugin does not exist: I solved this by removing manually all view display using this plugin in th exported config of the views.
After that I could re-import the views and the problem was solved (with missing display)
Comment #61
pirmax commentedHi,
I've this issue too after I updated modules via composer.
Comment #62
stevenlafl commentedI did a 'DELETE FROM config WHERE data LIKE %contenthub_filter%'; when my problem occurred when upgrading from CH 1.x to 2.x and my configuration for the REST module was using the 'contenthub_filter' plugin. I assume you could just search the config for the plugin ID and remove the offending rows, then config-import again from a known config.
Worked for me.
Comment #63
mohamed.osama commented#36 fixed for me!
Thanks so much!
Comment #64
loopy1492 commentedI'm getting this when installing from config in 8.8.x. Clearing the caches isn't an option for me because the error is occurring on the pipelines build.
field_item:list_string seems to exist in core, so I can't understand why it wouldn't be able to find it. Is the core config not being included in the installation?
Comment #65
josephdpurcell commentedI've seen this issue when a layout plugin was renamed. The error was:
I updated the description of this ticket to add a temporary workaround that I found, but it doesn't solve the issue.
Comment #66
joseph.olstadI get this error frequently right after dropping all tables and reloading a dump file then immediately without warming any caches or visiting /logging into the site, I start importing data using a script, then this exception comes up.
The solution for me in this situation is to after dropping tables and reloading from my dump file (due to code change/testing import script) is to after reloading the db is to log into the website. Sometimes actually have to create a bogus piece of content, but usually just logging in does it. then after this, my script usually works without errors from that point on.
or rather than reload again, cache rebuild , then log in, do some light task or two, then it usually wakes up this way too.
for certain tasks, it seems that some caches need to be populated first before executing. I haven't gone into detail with this otherwise.
Comment #67
mikemadison commentedI am hitting this issue on NEW project. We are building out on Drupal 8.8.4. The project uses a full config dump that is imported locally and during CI as part of a site install. For us, we are trying to add and enable the address module. Once config is exported with the necessary core.extension, field, and entity config updates (yes, valid config) when our CI attempts to run and import this config, we get a failure because of:
As some others in the chain have suggested, visiting the site in a browser (a few times) then ultimately doing a drush cr results in a working site. From what I see in the output during these attempts, I see multiple contrib plugins (including address, webform_submission, etc.) throw the same error. Then, as if all the plugins have been discovered and registered properly, THEN the site will bootstrap and load. It seems like something related to the entity installation / creation process in 8.8 is not properly registering plugins when drush commands (site install, cr, etc.) are run ONLY when the site is bootstraped via a browser?
To reproduce:
We also see this issue when NOT doing a clean install + config import, but taking a database for the site from one of our cloud environments and attempting to do a config import to enable the address module + import the necessary config for the new fields.
Comment #68
mikemadison commentedFYI this may be related to https://www.drupal.org/node/3034742.
In my case, I am enabling a module (via core.extensions) AND attempting to import config that places field / entity changes related to that module (and its plugins). If I add an update hook to a module to enable a module before the config import runs, THEN flush the cache, THEN do a config import (that places the necessary field config) I do not get these errors.
I'm guessing that something related to config imports that no longer allows all of those steps to be executed simultaneously in a single config import step. Just a guess based on what I'm seeing with just a config only change and a config + install / update hook change. Also, potentially related to https://www.drupal.org/node/3066005
Comment #69
mikemadison commentedFYI downgrading to drush 9.7.2 from drush 10.2.2 seems to stop the errors from happening. Continuing to dig into what's going on there.
Comment #70
mikemadison commentedCore 8.8.4 + Drush 9.7.2 seems to work.
Updating to Core 8.8.5 with Drush 10.2.2 "works" but I do have some issues with other modules. Specifically, the Google Tag module starts to throw:
Updating to the current head of drush 10 (so that https://github.com/drush-ops/drush/issues/4350 is merged) seems to work across the board.
I'm not sure how strictly related https://www.drupal.org/project/drupal/issues/3119373 is, but the Drush issue links to it and that's what prompted me to update to Core 8.8.5. This issue "may" be fixed via this other issues?
Comment #71
skaughti've stumbled across this issue.. i have been having a similar 'plugin missing' notice. i have found that truncating the cache_discovery table triggers a rebuild - this error goes away, until something does, once again create the error. have had this happen in my project over last 4months..
Comment #72
philsward commented5 hours to figure out:
In this situation, it was a rogue module that was added and installed through a patch: "simplenews_rules", then later removed but apparantly not properly uninstalled? No idea... Since we CAN'T DISABLE modules anymore, it takes forever to track these kinds of problems down now-a-days.
I just love how fragile Drupal 8 is. It's by far, the biggest "software baby" I've ever had to deal with.
Comment #73
joseph.olstadThe first reports of this error started with 8.7.x
I am wondering if this fragility was introduced in 8.7.x ?
Comment #74
skaught#71 - I've wondered that myself.
Comment #75
ghost of drupal pastComment #76
ghost of drupal pastComment #77
ghost of drupal pastComment #78
ghost of drupal pastComment #79
kapil17 commentedAnybody has multi-site application or modules placed in sub-directories. this patch worked for me.
https://www.drupal.org/files/issues/2018-07-11/specify_sitepath_cache_re...
Comment #80
skaught#79
what issue is that patch from? can you relink to it please?
--
My project is (was, now off that project..) a Multisite setup (running custom profile) and does have nested module folders..
Comment #81
socialnicheguru commented@skaught, its this issue: https://www.drupal.org/node/2985199
the number is usually in the patch.
Comment #82
dakwamineI also have had multiple times this plugin error on config import. I have been trying to import group_content:xyz plugin config from the group module.
What I can say to help narrow down the issue is that drush cim triggers the error, resulting in the crash, letting the site totally stuck with blank page, even if I
drush cr... unless I access the cache flush link from the browser, the one which is available in the extended admin toolbar (starting with /admin/flush?token=tokenhere).Core 8.8.3
Drush 10.2.2
Comment #83
dunebl#79 saved my day (multisite install), I used this patch: https://www.drupal.org/project/drupal/issues/2985199#comment-13286385
Comment #84
joseph.olstad#2985199: Extensions in Multisite Directories Not Registered When Rebuilding Cache
Comment #86
marcoka commentedInteresing. I just uploaded a site i developed locally to a server. All files+db. Directly WSOD.
Ok drush, the drush cr. Also doesn twork because of
That is a standard core field and not listed. Also using a multisite but i have no modules in the subdirs for the domains.
Drupal 8.9.1
Drush: 10.2.2
php 7.2.3
Solution
Edit. This is a cache problem.
Drush 9.7.2 works with a php 7.2.3 installed, then drush cr will work!
Truncating cache_* tables by hand was not enough
Comment #87
joseph.olstadas mentioned below by DamienMckenna try adding this core patch to your composer.json
#3126063-30: Harden SubProcess process plugin
OR, apply the patch manually.
Comment #88
damienmckennaPlease try out this issue to see if it fixes the problem: #3126063: Harden SubProcess process plugin
Comment #89
gnosis commentedI ran a composer update today to pull in core 8.9.3 and a bunch of other contrib updates. After the update, I ran into this error and chased it all over the place.
Finally I discovered that, why yes, the plugin in question _was_ actually missing. One of the contrib modules (salesforce) had changed its composer.json so that a couple of dependencies were moved from "require" to "suggest"; and then a sub-module (salesforce_mapping) had added those same dependencies as "require". For whatever reason, composer didn't pick up on this and the dependencies were removed. So in my case, dynamic_entity_reference really was missing and causing the error.
So...one possible troubleshooting path for this error is to look at which plugin the PluginNotFoundException is naming and verify that the module that provides it hasn't gone awol.
Comment #90
nathan tsai commenteddrush en computed_field; drush cr;worked for me.I also had to reenable my theme too
drush en THEMEHallelujah!
Comment #91
rfletcher73 commentedQuestion: Does this occur when you install a module and then uninstall the module via composer, but perhaps it has not uninstalled the module properly.
So, I'm seeing this same error in my logs for the contact_form module, which we are no longer using. How can I tell Drupal that it is gone since it has been removed already. It hasn't been on the site for about 6 months.
Comment #92
josephdpurcell commentedI just ran into this issue again on a live site when logging in as an admin and going to /admin/content. The error was:
To the best of my knowledge, nothing has been altered in the last 24 hrs on the site that would have caused this issue.
I ran a cache rebuild and the issue was resolved. I've updated the description to include this temporary workaround, and the temporary workaround I had used previously for a different (but similar) error on this thread.
Comment #93
joseph.olstadya confirmed, still an issue, I'm using the patch in #3126063: Harden SubProcess process plugin
however still same thing pops up when I'm running drush scripts creating content by script after taking a dump file from one filesystem to another and loading that dump file, cache rebuild isn't enough in this case, I have to go manually create and delete the same type of node via the web interface otherwise my script throws the plugin not found exception
Comment #94
baher commentedHi Guys,
For those who have the same problem. In my case, the problem was related to multilingue experimental module which have been disabled with the new update of 8.9.6. So pay attention if any of your module use this experimental module as required you have to remove this requirement. Drupal added automatically this module in his core.
Baher
Comment #95
rakesh.gectcrThanks to everyone, I went through all the above comments and tried everything and the problem was persisted.
My problem belongs to a plugin from the `Webform_ui` module, However, I end up fixing using the following drush command, Which will call the Core user data service and delete the user data for that particular module.
drush php-eval "\Drupal::service('user.data')->delete('webform_ui', NULL, NULL);"So if it's a views plugin causing the problem, you can try the following
drush php-eval "\Drupal::service('user.data')->delete('views', NULL, NULL);"Then I ran
drush crtoo. This fixed my problem, Hope it helps someone. Thanks again.Comment #96
josephdpurcell commentedWriting in to report that I just ran into this issue. Here were the steps I took:
1. Edit the form display for an Order Item Type
2. Move a field from hidden to displayed
3. Click save
4. Observe the following error:
A cache rebuild did not resolve the issue. I closed the browser tab, opened a new tab, repeated the exact same steps and it worked. I'm wondering if I did steps 2 and 3 too quickly and there was some JavaScript or AJAX running that didn't complete before I went to save. Hopefully, this example might help build a better picture of the nature of these types of issues.
Comment #97
erutan commentedThis hasn't occured to me on my local dev (macos + lando) running 8.9.11, but kept occuring when trying to restore a database dump using backup_migrate on an ubuntu server I had spun up to act as a test server for others to hit.
drush eval "drupal_flush_all_caches();"worked to clear things up enough to get into the site, but my restore failed. After being left with a halfway restored but semi-functional site I ran backup/migrate again and it went cleanly and the site works great. Sadly I had adjusted mariadb to usemax_allowed_packet=64Maround the same time, fuddling things up a bit in terms of what the fix was.Seems like it could definitely be environment dependent as I'm running the same composer.json to build the site. If it doesn't recur on my server it'd be likely that the db packet size configuration change fixes the issue (whilst the drush command gets you past it), and something in 8.7 has you hit edge cases where that packet size setting matters a bit more.
Comment #98
cilefen commentedYou can diff the output of phpinfo() (found also at admin/reports/status) from each platform to nail down the PHP platform differences precisely. I have done this any time evidence points to subtle environmental differences.
Comment #99
josephdpurcell commentedA production website just experienced the WSOD at /admin/content due to this issue. The specific exception was:
> PluginNotFoundException: "The "views_view:view.comment.page_published" plugin does not exist.
After a cache rebuild the page became available again. Does anyone have hints as to what might cause this issue?
Comment #100
simgui8 commentedI have seen The « » entity type does not exist. (empty « »)
The bug was painful to backtrace since it would occur randomly 1 time/month.
Long story short:
The site had a cron hook running drupal_flush_all_caches() once a day only, after a batch of entity update.
For performance reasons, the batch was using db->update query,
which had occasionally created a `Serialization failure: 1213 Deadlock`, leading to
The « » entity type does not exist.
Since drupal_flush_all_caches() was removed from hook_cron, no more `Serialization failure: 1213 Deadlock` occurred, nor The « » entity type does not exist.
Comment #101
Dayatry commentedI'm having this problem when i try to host my site in a test server, how can i solve it???
I'm using drupal 9
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" plugin does not exist. Valid plugin IDs for Drupal\Core\ImageToolkit\ImageToolkitManager are: gd in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Comment #102
alexrayu commentedI seem to be having a subset of this issues as well:
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "entity:paragraph:" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedDataManager are: ...Comment #103
jons commentedI'm seeing this on install of 9.1 on a hosted server. Works fine on my dev, but after DB is created and before prompt for admin details.
Code was built from git clone of a simple build then composer install (which gets drupal core etc).
PHP 7.3.
(https://myserver.com/core/install.php?rewrite=ok&langcode=en&profile=sta...)
I'm getting:
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "tag" plugin does not exist. Valid plugin IDs for Drupal\views\Plugin\ViewsPluginManager are: in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).drush watchdog-show is:
After this trying to refresh install page results in same error on screen and in log
I had seen this once after upgrading to 8.9.9 for a different application with same hoster, but clearing cache seemed to fix.
Comment #104
jons commentedI believe the tag plugin is at core/modules/views/src/Plugin/views/cache/ and I have
-rw-r--r-- 1 jon jon 6020 Dec 2 18:11 Time.php
-rw-r--r-- 1 jon jon 765 Dec 2 18:11 Tag.php
-rw-r--r-- 1 jon jon 764 Dec 2 18:11 None.php
-rw-r--r-- 1 jon jon 11134 Dec 2 18:11 CachePluginBase.php
which is same as my dev
This is a very simple plugin 'Simple caching of query results for Views displays.'
This new install of Drupal uses the extra directory level - ie xxx/web/core rather than xxx/core - dont know if this makes a difference in some scenarios
Comment #105
jons commentedI noticed that
composer require xxxwas taking a very long time and being 'Killed' or running out of RAM (at 1.2Gb).So I asked the hoster to change to composer 2.
composer requirethen worked as it should and somehow the missing tag plugin error went away too. I diffed a slightly older copy of the vendor directory with the current and there were quite a few changes, so it could be that the autoloader code is better for my hoster environment. I'd love to understand this!Comment #106
erutan commented@Jons, FWIW I was using 8.9 locally and on a VPS with the newer /web/* structure and only encountered the issue on my host. Was using Composer 2 in both places, though with a swap file to give it a bit more breathing room on the server. I haven't had it come back since changing
max_allowed_packet=64M- will chime in again if it does.Comment #107
jons commentedThanks @erutan. just to be sure - are you changing max_allowed_packet in the server mysql - or in a client-side setting?
BTW My host server is saying I have 256M max_allowed_packet
Comment #108
darchuletajr commentedFWIW I had this issue a few months ago and I can't remember the exact steps i took but i am almost certain it was memory based. So yeah changing max_allowed_packet might work or just increasing the memory php can use/has.
For me I had to change my host because I couldn't change my memory limit on shared hosting. After a switch to a better provider i was able to add more memory and fix the issue. I also ran into the issue on my local lando install, which makes sense because that's constrained too.
Comment #109
Dayatry commentedsolved the problem, certain packages of the php version I was using were not installed
Comment #110
xld commentedI have the same error.
Does not affect any functionality but it kind of fills the terminal. This started to happen when upgrading to Drupal ^8.7.11. Also, I have no custom block.
Comment #111
erutan commented@jons Both. :)
I'm not sure that's correct or optimal, I have never dug into MySQL configuration in any depth though I'm comfortable being an amateur sysadmin.
On Ubuntu this is the relevant part of my
/etc/mysql/my.cnf. The rest of is just comments explaining import/read order of other config files and said imports:Comment #112
jons commentedI've encountered this again which happens to have been after upgrading to 9.1.4.
Deleting vendor and then doing composer install (composer 2) has not helped, nor clearing caches, nor trying php versions 7.3, 7.4, and my max_allowed_packet is 256M
- so several critical functions fail with same basic error in the ViewsPluginManager:
taxonomy pages (for instance, taxonomy/term/33)
any view pages in edit mode /admin/structure/views/view/block_content
content list page /admin/content
user list page /admin/people
A key point is that the error line shows that the plugin definitions simply have not been loaded. The XXX below is actually empty in the error line and is where the list of plugins is supposed to be shown, so something is failing to load the plugins, or clearing the array after load.
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "tag" plugin does not exist. Valid plugin IDs for Drupal\views\Plugin\ViewsPluginManager are: XXX in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Comment #113
jons commentedOK - the problem is connected with composer.
I debugged the views:cache creation process on my dev, which was working, down a huge numbers of layers of code (OO simplifies?) to work out what is supposed to happen. I also used a custom cache view program. This showed that after a cache-clear (so the cache build process had to run - and which failed on prod) the cache data for cid='views:cache' was:
Array()when it should have been:
etc
The required cache plugin files were present and as it was an empty array (rather than no array) it may be that the array elements were built then removed in DefaultPluginManager findDefinitions() (extractProviderFromDefinitions()) - which happens if related modules are not detected.
Before I got to the point of verifying this, I deleted the core directory (where I'd deleted just vendor before) and did composer install. This rebuilt the core directory tree and the problem disappeared. So something in the earlier composer install, maybe something in the autoload processing had failed in an un-obvious way.
It might be useful to find a way to detect these kinds of errors, some kind of check diagnostic, as the failures are painful to find especially in a prod environment.
Comment #114
joseph.olstadfor those that keep hitting this, a workaround that I have to do to resolve this is to log into Drupal using the web user interface and create a node, save it, then delete it.
then after this, my script will work without the plugin not found exception
Possibly also need to run
php -r "opcache_reset();"Comment #115
jons commented@joseph.olstad It sounds like your issue may be different to mine - in that it seems that your node create is forcing a plugin build (to cache) one way which is then used by others (as you suggested earlier). Does it fail again if you clear all caches?
Comment #116
joseph.olstadI usually see this error after restoring a DB dump from another copy of the site
usually I see this error when running drush
perhaps the version of php used on the command line isn't the same as the server version or there's something different about that, maybe opcache issue, but resetting opcache didn't seem to solve it but should help , workaround like I said was to log into drupal web ui , create a node or menu link then save and then delete the newly created node or menu link.
usually just adding a node and deleting it wakes up the system enough for my scripts to run (import scripts)
Comment #117
dakwamineI'm wondering something. If we are restoring from another environment database, it means that the plugins may be different from the ones on the target environment. This means that the plugin classes collection must be refreshed. Is this not a symfony related thing, about the apc cache or something?
Sometimes, when I'm stuck into weird edge cases, I have to change the deployment_identifier in the settings file to circumvent the cache mechanisms to help deploying configurations. Could it be a starting point for figuring out a solution, for this specific edge case?
Comment #118
froboyWe ran into this after a deploy (to production). The site 500'ed and drush and the log were throwing all kinds of errors, seemingly about random modules, all similar to this:
Sure enough,
drush cr discoveryfrom all the way back up in #14 resolved it immediately!I'm. . .
wow.
i'm going to bed now.
Comment #119
thirstysix commented#54, works fine.
drush eval "drupal_flush_all_caches();"
Thank you,
Comment #120
anybodydrush eval "drupal_flush_all_caches();"solves it for me until I clear caches in the Drupal UI again, which fails with the described error.In my case "max_allowed_packet" is 1024MB so that's not the problem here (you can check this by the SQL Command:
SHOW VARIABLES LIKE '%max_allowed_packet%').Anyway I'm having the same problems as @Jons with composer as the Hoster limits PHP to 512M which is quite a lot, but composer uses even more so the server kills the process. I guess that breaks code... any ideas for that?
Comment #121
ichionid commentedSame issue here Drupal\Component\Plugin\Exception\PluginNotFoundException: The "entity:custom entity" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedDataManager are
Running 8.9.18 now. I can not really figure out how to go about debugging this one. I've never had problems with prod but lately this seems to be very shaky :(
Comment #122
jons commented@ichionid suggest you try my fix at #113 or anything that forces the code to be rebuilt that may be cached somewhere (including composer, vendor as well as Drupal). Use composer v2.
Comment #123
sapiusenator commentedI had this for "product_variation plugin" on drush updb after updating commerce_recurring and commerce.
Installing "Commerce Product" resolved the issue.
I was then able to run drush updb successfully.
Error I received:
Failed: Drupal\Component\Plugin\Exception\PluginNotFoundException: The "product_variation" plugin does not [error]
exist. Valid plugin IDs for Drupal\commerce_recurring\SubscriptionTypeManager are: standalone in
Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of
/var/www/mysite.com/drupal/web/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php)
Comment #124
matoeil commentedAdding to local.settings.php
$settings['class_loader_auto_detect'] = FALSE;
Comment #125
tim.plunkettI'm really sorry that so many people are having this issue, and that the plugin system isn't being more helpful about debugging this.
But without repeatable steps to reproduce the bug, it's impossible to figure out what the underlying bug actually is.
This is already tagged appropriately, fixing the category and moving to the latest version.
Comment #126
volegerComment #127
xld commentedTried #19 but the errors are still there.
Comment #128
webdrips commentedI'm also experiencing this issue on a D7 to 9 migration site. If we wind up migrating the site, I'll rework the migration to run it step-by-step with Drush, and try to isolate when the issue crops up. (The first pass, we just used the /upgrade approach, and that had an issue after several hours).
Comment #129
marcoka commentedI have this issue again with a core module, not contribs. This does not allow me to override image.settings variables in the settings.php at all. Neither can i import a modified image.settings.yml.
Error:
[warning] Undefined array key "class" TypedConfigManager.php:363
[error] Drupal\Core\Config\ConfigException: Errors occurred during import in Drush\Drupal\Commands\config\ConfigImportCommands->doImport() (line 343 of /srv/http/WORKSPACE_DRUPAL/Drupal9/vendor/drush/drush/src/Drupal/Commands/config/ConfigImportCommands.php).
The import failed due to the following reasons:
.. image.settings: The "image.settings" plugin does not exist. Valid plugin IDs for Drupal\Core\TypedData\TypedData
Manager are: entity_revision, entity_revision:block, entity_revision:block_content, entity_revision:block_content:b
...only entity*. something
I wonder how i could debug that. I have modified and imported other configs like views that worked perfectly.
I found something that seems suspicious, here is an xdebug screenshot: http://www.root.artwaves.de/sharex/19-11-21--22-15-36.jpg
Somehow the $definition['class'] is not set but $definition['definition_class'] is there and the code like this sees Undefined::class leading to an error.
Info: This is a site that once was D7 and has been migrated to D8 ->D9. So it is possible that there could be some data screwed up by the migration.
If you have any ideas or tips how i could xdebug this, i am up for it.
Comment #130
tim.plunkettThat's a different exception entirely. This is about PluginNotFoundException.
But that sounds like a valid bug, and you have the steps... can you open a new dedicated issue?
Thanks!
Comment #131
marcoka commentedAh ok, thank you. I will open a new issue.
#3250497: Undefined array key "class" TypedConfigManager - The "image.settings" plugin does not exist
Comment #133
epowelljr commentedI had a similar Drupal\Component\Plugin\Exception\PluginNotFoundException error.
I used "composer update" and it worked for me.
Comment #134
reloxo95 commentedI had similar error but with Plugin "update_product_stock". I have exported all config, see which file was producing the error and (I this case) whas a custom config file o I delete it and worked !
Comment #135
anybodySometimes the reason is also that an abandoned plugin, like "php" for example is still present in configs. In that case, export the configs, search for related code, KNOW WHAT YOU'RE DOING, remove the references and re-import the config.
EXPERTS ONLY ;)
Mostly due to missing dependency listings from Drupals history, I guess...
Comment #136
nojj commented@Anybody I have exact that problem trying to uninstall PHP Module.
Could you explain your process a little bit more in detail? Thanks in advance.
Comment #137
anybody@nojj as written above, this is only for experts and may break your Project. So definitely create (tested) backups and first read about the different topics to understand what you're doing.
drush cexdrush cim(overwrite the existing files in your config export folder)Please use documentation and other sources to learn about Drupal Config first. I can't give all that information here.
Comment #138
nojj commented@Anybody:
thank You very much. Helps me a lot!
Comment #139
anybodyCrazy... in another project I got
I exported the config and searched for "media_bundle" and it was in:
Updating these entries solved the problem...
So it always seems by case, but typically is outdated config...
Perhaps core can help with hints and further details... no perfect idea yet.
Comment #140
nojj commentedI had the Drupal\Component\Plugin\Exception\PluginNotFoundException error also on D9.3.3.
I like the idea of hints and tips!
Comment #141
casey commentedAny chance somebody tested patch of #3207813: ModuleHandler skips all hook implementations when invoked before the module files have been loaded? I suspect these plugin not found exceptions to have the same root cause as #3031598: The "paragraph" entity type did not specify a translation handler.
Comment #142
marcoka commentedI get that error a lot with various modules. A lot of times. Now i am on php 8.1.2
This time i dont even get the plugins name just "". I can see that it has to do with facets.
I think disabling a setting "index hirarchy" caused this. Then i enabled it again but same error.
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" plugin does not exist. Valid plugin IDs for Drupal\facets\Hierarchy\HierarchyPluginManager are: taxonomy in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (Zeile 53 in /srv/http/WORKSPACE_DRUPAL/EIGENE_PROJEKTE/PRODUCT_DISTRI_D9/web/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Maybe that helps anyone debugging in any way.
Comment #143
quimic@casey
I applied the #3207813: ModuleHandler skips all hook implementations when invoked before the module files have been loaded patch (on Drupal 8.9.20)
and the problem keeps reappearing. The patch did fix the Paragraph issue, but not this one…UPDATE 1: I spoke too fast (I was looking at old error messages). I will update this comment when I know more…
UPDATE 2: After a few days, the problem has not reappreared, which makes me think that indeed, this patch solved it
Comment #144
dakwamineWow, this issue is still around. :D
I currently don't have a failing website which I can debug.
So I'm doing a code inspection by reading the API for possible failures which are masked by the PluginNotFoundException.
Let's start by the class where this exception is thrown:
DiscoveryTrait::doGetDefinition(array $definitions, $plugin_id, $exception_on_invalid).Fact: The only thing that could trigger the issue is an empty or not up-to-date definitions list given in the arguments.
The expected plugin list comes from
DiscoveryTrait::getDefinitions(). This is an abstract function, with no PHPDoc (could be added for sure).Let's dig into the
DefaultPluginManagerwhich overrides (implements) it.DefaultPluginManageris one of the many occurrences where the exception can be seen.Theory #1: The cached definitions are outdated
For some reason, during the config import, the plugin manager was never asked to refresh its plugin list, or it was asked too early so an expected config dependency on a new plugin could not be satisfied.
Or the plugin discovery failed silently, returning only the currently cached plugin list. For instance, this may happen in
Drupal\Component\AnnotationPluginDiscovery\AnnotatedClassDiscovery::getDefinitions()if the doctrine annotation parser fails to read the new annotated plugin. A debug flag could be added in this function in the else path where this comment is located:// Store a NULL object, so the file is not reparsed again..Theory #2: The plugins come from a new or removed module
If the definitions are not yet set in the cache,
DefaultPluginManager::getDefinitions()tries tofindDefinitions().providerExists($provider)calls the module handler to check for module status. If the module is not (yet) ready, the definition is removed.Theory #3 (highly speculative): imported configs have circular dependencies
This could explain why cim + cr + cim works...
If it happens to you, can you check if the YAML config files have circular dependencies?
(Sorry for the long post.)
Comment #145
marcoka commentedYou can also cause this propblem with a broken custom config where you define some variables. I did that myself by accident :(
Comment #146
boulaffasae commentedHi !
Comment #147
boulaffasae commentedI applied the same code form
DefaultPluginManager::findDefinitions()Comment #149
bhanu951 commentedI think I am able to reproduce this issue on a clean install. I am trying to create a custom content entity whenever there is base field definition
it is causing error. I have created a test module for this issue to be reproducible. I am not facing this issue while accessing entity from UI but the issue is occurring when running phpunit tests.
I have attached phpunit test error log in this snippet.
The above field is causing following error .
You can test this issue by enabling the following test module .
Steps to reproduce :
Edit:
This issue happened due to missing module options in tests setup. Once its added I no longer see the error.
Comment #151
liquidcms commentedJust to add to this mess. I have recently updated from D8.9 to D9.4. Now every time I en/pmu a module with drush i get:
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException while computing Views data for entity: Workflow.It doesnt matter what module it is. Also, my watchdog is flooded with these messages so i suspect en/pmu a module is not the only thing tripping this exception.
I have 1 Workflow (workflow field) defined and i resaved it. I also have a slew of Views which use the workflow field in them. I resaved all of those. None of this helped.
Comment #152
liquidcms commentedi removed the single workflow field and disabled the workflows module. I now get more errors:
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException while computing Views data for entity: Workflow.
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException while computing Views data for entity: Workflow.
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException while computing Views data for entity: Role.
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException while computing Views data for entity: Role.
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException while computing Views data for entity: Role.
I think Tim mentioned this above.. but yes, certainly wouldnt hurt to have some information in this exception which gives some hint as to what the issue is. I also sort of get that this was changed to a "support request"; but certainly this is a bug.
Comment #153
liquidcms commentedOk, ignore my comments. I though this was a core exception; but this is coming form the Config Views module. Likely just a bug there.
Comment #155
floown commentedHello,
Have have the same problem:
Drupal\Component\Plugin\Exception\PluginNotFoundException : Plugin ID 'menu_link_content:ec98d2fd-6c0d-421e-93c6-a5fe28588db4' was not found. dans Drupal\Core\Menu\MenuLinkManager->getDefinition() (ligne 206 de /home/user/web/mydomain/public_html/web/core/lib/Drupal/Core/Menu/MenuLinkManager.php).I have try to:
Add in /etc/mysql/my.cnf
I have make a :
Restart the server too.
No way, nothings seems to work :\
Comment #156
syammohanmp commentedI will be resolved by clearing the plugin render cache. Thanks all !.
Comment #157
sagraham commentedI hit this issue this week after updating to Drupal 10.0.7. Typical solutions such as running
drush crwere failing with the errorwith XXX usually being
date_format, but alsouserand others. I also tried truncating the cache tables by hand but that still didn't fix the issue.Adding my fix (based on #113) for anyone who finds themselves here after Googling some error messages.
The only solution I could find was to delete the
/vendor,/web/coreand/web/modules/contribfolders and re runningcomposer install. Once that was complete I could rundrush crsuccesfully.Once that was done, the site was running again.
Obviously make sure you have backups and understand composer, etc before deleting folders in your install.
Comment #158
rajab natshahSame, I hit this issue this week
Comment #159
solideogloria commentedThis 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
Clearing the cache didn't help, and attempting to reinstall the module runs into the same issue when it tries to import the config from my_module\config\install\.
Comment #160
mahmoudsayed96I used this command to fix the issue
drush eval "drupal_flush_all_caches();"Comment #161
solideogloria commentedThat's no different than running
drush cache:rebuild(drush cr), which didn't fix it for me.Comment #162
loopy1492 commentedGetting this while doing a feed import:
Clearing cache does not help.
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 and there is a similar issue here: https://www.drupal.org/project/ctools/issues/3300682
However, 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.
Edit: Yeah, it had nothing to do with feeds. The error was just reporting during that process because [reasons?]. The actual issue was: https://www.drupal.org/project/view_mode_page/issues/3300706
Comment #163
loopy1492 commentedComment #164
dadderley commentedThanks 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"
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.0
I 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.
Comment #165
s_m_5353 commentedI'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)
Comment #167
montogro commentedI used config export
drush cexand 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 53Probably JS scripts which were referencing to node_type.
UPDATE: just found out it's not code's fault, but the module itself. Before switching from D9.5 to D10 I noticed a duplicated section for content types - one is faulty in D10 node-type and the other newer one is bundlenode which is correct for D10. I had to manually insert records for the proper version and it started working.
EDIT: just change records in config files and reimport them.
Comment #168
drupalam commentedThis 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.
Comment #169
g089h515r806 commentedThis is my suggestion :
#3378101: Change PluginNotFoundException to an error message when not use the plugin
Only throw PluginNotFoundException when use it, other case show user an error message instead.
Comment #170
ashraf.hussain commentedI was able to fix by the following steps:
Comment #171
butterwise commentedFollowing the breadcrumbs, #164 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_typewas removed, andid: 'entity_bundle:node'was added.Now that I read this, #170 may have been a better route, and saved me the trouble of uninstalling, reinstalling, and recreating the alias pattern.
Comment #172
damienmckennaThere are possibly similar issues elsewhere affecting other parts of the site than the filter system, e.g. #3354054: PluginNotFoundException: "The "views_view:view.comment.page_published" plugin does not exist. Valid plugin IDs for Drupal\Core\Menu\LocalTaskManager are..., is it possible there's a problem deeper in the system?
Comment #173
stevenpatzFor 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.
Comment #174
poindexterous commentedI'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 but that issue was closed/can't reproduce and it seemed to be an issue with D9.
The exception and call stack are below:
Comment #177
larowlanRefocussing this on the concrete issue of filter plugins.
Adding steps to reproduce.
Added an MR to take care when we're syncing the entity.
Comment #178
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 this 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.
Comment #179
solideogloria commentedComment #180
smustgrave commentedSeems 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!
Comment #181
wim leers@larowlan in #177: AFAICT that is precisely what the already-RTBC #3017054: Consistently sort filter formats to simplify config exports is solving?
Comment #182
wim leersComment #183
larowlanThanks @Wim Leers - I wasn't aware of that one, added to my list 🙌
Comment #184
wim leersThat 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 😅
Comment #185
larowlan@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.
Comment #186
damienmckennaRelated 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:
Comment #187
zeeshan_khan commentedDo 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.
Comment #188
socialnicheguru commentedThe 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)
Comment #189
sassafrass commentedI 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.
Comment #190
acbramley commentedHiding old patches and screenshots, going to take a stab at this today.
Comment #191
acbramley commentedI can't reproduce the PluginNotFoundException, but I do get another error
This is following the steps in the IS, but without the environment switch, so:
On both 11.x and the current MR branch I get the above error.
Comment #192
acbramley commentedThis 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 :(
EDIT: We also can't check
\Drupal::service('config.installer')->isSyncing(), that doesn't get set until after validation.Comment #193
acbramley commentedComment #194
acbramley commentedFurther 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.Comment #195
tenten71 commentedIn 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.
Comment #196
tenten71 commentedNot 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 UI
The 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.
Comment #197
nicxvan commentedNot sure about what status to leave this in, but with: #2579743: Config entities implementing EntityWithPluginCollectionInterface should ask the plugins to react when their dependencies are removed this can now be fixed.
Unfortunately contrib needs to add the interface and correct behavior.
Maybe we can gather some of the modules here and open issue in contrib for 11.3?
Comment #198
godotislateRe #197: I'm not sure the new APi from #2579743: Config entities implementing EntityWithPluginCollectionInterface should ask the plugins to react when their dependencies are removed will help that much, because
Drupal\filter\Entity\FilterFormat::onDependencyRemoval()already loops through all the filter plugins on module uninstall and removes them if possible. The problem is that only disabled filter plugins are removed, because it's a security risk to remove enabled filters from a format. And there's theFilterUninstallValidatorthat runs before onDependencyRemoval(), and the validator prevents a module from being uninstalled if any of its filter plugins are enabled in formats. During config sync, module install/uninstall happens before config objects and config entities are updated, so even the incoming configuration has those plugins removed, the validator does not know that.