The "" plugin does not exist / rabbit_hole_update_8106

Created on 11 October 2023, 9 months ago
Updated 9 May 2024, about 2 months ago

Problem/Motivation

[error] The "" plugin does not exist. Valid plugin IDs for Drupal\rabbit_hole\Plugin\RabbitHoleBehaviorPluginManager are: access_denied, page_redirect, page_not_found, display_page

[error] Update failed: rabbit_hole_update_8106

Steps to reproduce

Post drupal 10 upgrade while running drush updb

🐛 Bug report
Status

Active

Version

2.0

Component

Code

Created by

🇺🇸United States keithpotter21

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @keithpotter21
  • 🇬🇧United Kingdom arcaic Milton Keynes

    I had a very similar issue to this in that when running db updates on a D10 upgrade I was getting this error reported from rabbit_hole_update_8106 when doing drush updb.

    -- Uncaught PHP Exception 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, entity_bundle:block_content, entity_bundle:comment, entity_bundle:contact_message, entity_bundle:media, entity_bundle:menu_link_content, entity_bundle:node, entity_bundle:redirect, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:paragraph" --

    What I found is that it seems to be something to do with pathauto_update_8108. This update is titled "Update node type conditions from node_type to entity_bundle."

    I found that if I reset the pathauto updates to 8107 before the upgrade and run updb then, when I run drush updb again after updating the code base to D10 the rabbit hole update processed without issues.

    To reset the pathauto updates to 8107 use the following...

    drush eval "drupal_set_installed_schema_version('pathauto', '8107');"

    Note: This drush command will only work on D9.

    Looking at the PA 8108 update it seems safe to run any number of times as it only fixes pathauto patterns that have the incorrect type and selection criteria.
    Not entirely sure whats going on but I guess that pa8108 got run as part of an update at some point but then normal CMS actions have created further changes that 8108 fixes but as its already run it doesn't get the chance. What the root cause is I don't know.

  • 🇸🇪Sweden johnzzon Gothenburg 🇸🇪

    I encountered this on a site where both pathauto_update_8108 and rabbit_hole_update_8106 was going to execute in the same updb. Rabbit hole was being run first, so it failed. But pathauto was executed afterwards. So running updb again correctly ran rabbit_hole_update_8106 (and later) and then all postupdates.

    Everyting seems to work regardless.

  • 🇳🇱Netherlands MLZR Zutphen

    I had a similar error:
    "Drupal\Component\Plugin\Exception\PluginNotFoundException: The "" plugin does not exist. Valid plugin IDs for Drupal\rabbit_hole\Plugin\RabbitHoleBehaviorPluginManager are: access_denied, display_page, page_not_found, page_redirect in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (regel 53 van .../core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php)."

    This error was always after I logged in as admin. After I visit and saved the settings on the page in rabbit-hole -> user settings this disappears. I repeat this and is working in my case.

    Go to: /admin/config/content/rabbit-hole then on entity-type 'user' -> settings ( or direct to /admin/config/content/rabbit-hole/user )
    click save on that page. Check, problem solved!

  • 🇮🇳India manish.upadhyay

    Here is the patch for the problem.

  • the patch doe's not work on my configuration, Drupal 10.1.7, Rabbit Hole 2.0.0@alpha5.

    Same issue :

    >  [notice] Update started: rabbit_hole_update_8106
    >  [error]  Drupal\Component\Plugin\Exception\PluginNotFoundException: The "node_type" plugin does not exist. Valid plugin IDs for Drupal\Core\Condition\ConditionManager are: condition_group, config_pages_values_access, language, request_path, current_theme, user_role, webform, entity_bundle:block_content, entity_bundle:comment, entity_bundle:config_pages, entity_bundle:crop, entity_bundle:feeds_feed, entity_bundle:media, entity_bundle:menu_link_content, entity_bundle:node, entity_bundle:redirect, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:webform_submission, entity_bundle:paragraph in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of /project/app/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php). 
    >  [error]  The "node_type" plugin does not exist. Valid plugin IDs for Drupal\Core\Condition\ConditionManager are: condition_group, config_pages_values_access, language, request_path, current_theme, user_role, webform, entity_bundle:block_content, entity_bundle:comment, entity_bundle:config_pages, entity_bundle:crop, entity_bundle:feeds_feed, entity_bundle:media, entity_bundle:menu_link_content, entity_bundle:node, entity_bundle:redirect, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:webform_submission, entity_bundle:paragraph 
    >  [error]  Update failed: rabbit_hole_update_8106 
     [error]  Update aborted by: rabbit_hole_update_8106 
     [error]  Finished performing updates.
    
  • 🇺🇸United States mightymont

    had this same error while running UPDB after upgrading to Drupal 10.2.4 PHP 8.1 , to get updb to work I had to remove all setting in the rabbit hole module config, then disable the module, then run updb, then re-enable the rabbit_hole module and add the rabbit_hole configurations back.

  • 🇨🇦Canada fabienscotto

    Same issue on rabbit_hole_update_8106() after update pathauto & rabit_hole on D10.

    [error] The "node_type" plugin does not exist. Valid plugin IDs for Drupal\rules\Core\ConditionManager are: context, user_status, view_inclusion, request_domain, request_path_exclusion, context_all, http_status_code, response_code, language, rules_path_alias_exists, rules_data_comparison, rules_node_is_sticky, rules_path_has_alias, rules_entity_has_field, rules_entity_is_new, rules_list_count_is, rules_node_is_published, rules_list_contains, rules_entity_is_of_bundle, rules_entity_is_of_type, rules_entity_field_access, rules_text_comparison, rules_node_is_of_type, rules_user_is_blocked, rules_data_is_empty, rules_user_has_role, rules_node_is_promoted, rules_token_compare_data_with_token, rules_token_compare_token_with_token, response_status, request_path, current_theme, user_role, webform, entity_bundle:block_content, entity_bundle:comment, entity_bundle:contact_message, entity_bundle:crop, entity_bundle:media, entity_bundle:menu_link_content, entity_bundle:node, entity_bundle:redirect, entity_bundle:shortcut, entity_bundle:taxonomy_term, entity_bundle:webform_submission, entity_bundle:paragraph

    It's related to the pathauto module and the hook update pathauto_update_8108(), see 3356728 💬 The "node_type" plugin does not exist - upgrade from D9 to D10 Closed: cannot reproduce . pathauto_update_8108() must be executed before rabbit_hole_update_8106().

    This is how I solved the problem:

    1. drush eval 'include_once(DRUPAL_ROOT . "/modules/contrib/pathauto/pathauto.install"); pathauto_update_8108()'
    2. drush updb
Production build 0.69.0 2024