Drupal\Core\Config\UnmetDependenciesException: Configuration objects provided by "standard" have unmet dependencies

Created on 11 October 2024, 2 months ago

Problem/Motivation

Installation dialog 11.0.5

Steps to reproduce

cd /var/www/vhost/dpl.tryx.org
composer create-project drupal/recommended-project /var/www/vhost/dpl.tryx.org
https://dpl.tryx.org (DocumentRoot /var/www/vhost/dpl.tryx.org/web)
Step 1 through Step 4 works without problem. Step 5 pretends to work, meaning I see a progress bar display but goes nowhere and in short order produces an error message of some length, attached below.

Proposed resolution

I propose that the missing dependencies be discovered and provided. I suspect that composer is misconfigured.

Error message:
Error
The website encountered an unexpected error. Try again later.
Drupal\Core\Config\UnmetDependenciesException: Configuration objects provided by standard have unmet dependencies: block_content.type.basic (block_content), comment.type.comment (comment), contact.form.feedback (contact), core.entity_form_display.block_content.basic.default (text), core.entity_form_display.node.article.default (image.style.thumbnail, comment, image, path, text), core.entity_form_display.node.page.default (path, text), core.entity_form_display.user.user.default (image.style.thumbnail, image), core.entity_view_display.node.article.default (image.style.wide, comment, image, text), core.entity_view_display.node.article.rss (core.entity_view_mode.node.rss), core.entity_view_display.node.article.teaser (core.entity_view_mode.node.teaser, image.style.medium, image, text), core.entity_view_display.node.page.teaser (core.entity_view_mode.node.teaser, text), editor.editor.basic_html (ckeditor5, editor), field.field.block_content.basic.body (field.storage.block_content.body, text, field), field.field.comment.comment.comment_body (field.storage.comment.comment_body, text, field), field.field.node.article.body (field.storage.node.body, text, field), field.field.node.article.comment (comment, field), field.field.node.article.field_image (image, field), field.field.node.article.field_tags (field), field.storage.node.comment (comment, node, field), field.storage.node.field_image (file, image, node, field), field.storage.node.field_tags (node, taxonomy, field), field.storage.user.user_picture (file, image, field), filter.format.basic_html (editor, filter), filter.format.restricted_html (filter), node.type.article (node), taxonomy.vocabulary.tags (taxonomy), user.role.anonymous (comment, contact, filter, search), user.role.authenticated (comment, contact, file, filter, search, shortcut), user.role.content_editor (comment, contextual, file, node, path, taxonomy, toolbar) in Drupal\Core\Config\UnmetDependenciesException::create() (line 100 of core/lib/Drupal/Core/Config/UnmetDependenciesException.php).

πŸ› Bug report
Status

Active

Version

11.0 πŸ”₯

Component

install system

Created by

πŸ‡ΊπŸ‡ΈUnited States cjm51213

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

Comments & Activities

  • Issue created by @cjm51213
  • Did you have an opportunity to search around for Drupal\Core\Config\UnmetDependenciesException before opening this critical bug?

    This one usually points to the platform not meeting all of Drupal’s requirements.

  • I am unlinking an issue that doesn’t seem related to avoid confusion.

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

    Hi cilefen,

    Did you have an opportunity to search around for Drupal\Core\Config\UnmetDependenciesException before opening this critical bug?

    I'm not sure what you mean, but, yes, I did look for it and found it and looked at the lines mentioned. It was not helpful. I also tried to understand what that haystack of an error message was trying to tell me. It looks to me like these are Drupal's components complaining about missing Drupal components. That would have to be a composer installation problem.

    This may "usually" point to a platform not meeting all of Drupal's requirements, but is should also then "usually" identify which requirement are not met.

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

    Hi cilefen,

    Sorry to be so persistent about this, but it is a problem and as nearly as I can determine right now, it is not one of my own making. I do meet the Drupal configuration requirements, so far as I know them, and the install dialog agrees, but if you have a complete list, I am eager to confirm this.

    I can offer this as confirmation:

    $ my_print_defaults mysqld
    --datadir=/var/www/mysql
    --log-error=/var/log/mariadb/mariadb.log
    --socket=/var/lib/mysql/mysql.sock
    --pid-file=/run/mariadb/mariadb.pid
    --skip-external-locking
    --key_buffer_size=384M
    --max_allowed_packet=64M
    --table_open_cache=4096
    --sort_buffer_size=2M
    --read_buffer_size=2M
    --read_rnd_buffer_size=64M
    --myisam_sort_buffer_size=64M
    --thread_cache_size=8
    --innodb_buffer_pool_size=384M
    --innodb_log_file_size=10M
    --innodb_log_buffer_size=64M
    --innodb_flush_log_at_trx_commit=1
    --innodb_lock_wait_timeout=180

    I am still seeing an exception. Superficially, it is the same error, but there may be important differences that I don't see.

    Drupal\Core\Config\UnmetDependenciesException: Configuration objects provided by <em class="placeholder">standard</em> have unmet dependencies: <em class="placeholder">block_content.type.basic (block_content), comment.type.comment (comment), contact.form.feedback (contact), core.entity_form_display.block_content.basic.default (text), core.entity_form_display.node.article.default (image.style.thumbnail, comment, image, path, text), core.entity_form_display.node.page.default (path, text), core.entity_form_display.user.user.default (image.style.thumbnail, image), core.entity_view_display.node.article.default (image.style.wide, comment, image, text), core.entity_view_display.node.article.rss (core.entity_view_mode.node.rss), core.entity_view_display.node.article.teaser (core.entity_view_mode.node.teaser, image.style.medium, image, text), core.entity_view_display.node.page.teaser (core.entity_view_mode.node.teaser, text), editor.editor.basic_html (ckeditor5, editor), field.field.block_content.basic.body (field.storage.block_content.body, text, field), field.field.comment.comment.comment_body (field.storage.comment.comment_body, text, field), field.field.node.article.body (field.storage.node.body, text, field), field.field.node.article.comment (comment, field), field.field.node.article.field_image (image, field), field.field.node.article.field_tags (field), field.storage.node.comment (comment, node, field), field.storage.node.field_image (file, image, node, field), field.storage.node.field_tags (node, taxonomy, field), field.storage.user.user_picture (file, image, field), filter.format.basic_html (editor, filter), filter.format.restricted_html (filter), node.type.article (node), taxonomy.vocabulary.tags (taxonomy), user.role.anonymous (comment, contact, filter, search), user.role.authenticated (comment, contact, file, filter, search, shortcut), user.role.content_editor (comment, contextual, file, node, path, taxonomy, toolbar)</em> in Drupal\Core\Config\UnmetDependenciesException::create() (line 100 of core/lib/Drupal/Core/Config/UnmetDependenciesException.php).

    Drupal\Core\Config\UnmetDependenciesException::create() (Line: 527)
    Drupal\Core\Config\ConfigInstaller->checkConfigurationToInstall() (Line: 132)
    Drupal\Core\ProxyClass\Config\ConfigInstaller->checkConfigurationToInstall() (Line: 199)
    Drupal\Core\Extension\ModuleInstaller->install() (Line: 83)
    Drupal\Core\ProxyClass\Extension\ModuleInstaller->install() (Line: 1668)
    install_install_profile() (Line: 695)
    install_run_task() (Line: 572)
    install_run_tasks() (Line: 121)
    install_drupal() (Line: 53)
  • The complete list of requirements are here: https://www.drupal.org/docs/getting-started/system-requirements β†’

    Note specifically that in the PHP requirements, certain configurations of xdebug can cause what you are experiencing.

    Yes, I understand that unfortunately Drupal isn't detecting an unmet platform dependency. That may be something we could address in an update. If for example, an xdebug setting is the problem, that is detectable in installer requirements. So, let's get that info from you.

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

    Hi cilefen,

    You were kind enough to proved detailed system requirements, so I reviewed them point by point. This is what is and has been the configuration that is producing the exception I see:

    # httpd -version
    Server version: Apache/2.4.62 (Fedora Linux)
    Server built:   Aug  1 2024 00:00:00
    
    Loaded Modules
        mod_rewrite.c
    
    <Directory "/var/www/vhost/dpl.tryx.org">
        AllowOverride All
        Require all granted
    </Directory>
    
    MultiViews not configured
    # mysql --version
    mysql  Ver 15.1 Distrib 10.11.8-MariaDB, for Linux (x86_64) using  EditLine wrapper
    
    MariaDB [(none)]> SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'dpl_tryx_org';
    +---------------------+--------+
    | TABLE_NAME          | ENGINE |
    +---------------------+--------+
    | batch               | InnoDB |
    | config              | InnoDB |
    | key_value           | InnoDB |
    | path_alias          | InnoDB |
    | path_alias_revision | InnoDB |
    | queue               | InnoDB |
    | sequences           | InnoDB |
    | sessions            | InnoDB |
    | user__roles         | InnoDB |
    | users               | InnoDB |
    | users_data          | InnoDB |
    | users_field_data    | InnoDB |
    +---------------------+--------+
    
    MariaDB [(none)]> SELECT * FROM information_schema.session_variables WHERE variable_name = 'tx_isolation';
    +---------------+----------------+
    | VARIABLE_NAME | VARIABLE_VALUE |
    +---------------+----------------+
    | TX_ISOLATION  | READ-COMMITTED |
    +---------------+----------------+
    
    # php -v
    PHP 8.3.11 (cli) (built: Aug 27 2024 19:16:34) (NTS gcc x86_64)
    Copyright (c) The PHP Group
    Zend Engine v4.3.11, Copyright (c) Zend Technologies
        with Zend OPcache v8.3.11, Copyright (c), by Zend Technologies
    
    # php -i
    memory_limit => 256M => 256M
    Used memory => 9167936
    Free memory => 125049792
    Wasted memory => 0
    Interned Strings Used memory => 2534168
    Interned Strings Free memory => 5854440
    opcache.memory_consumption => 128 => 128
    
    # head /etc/php.d/15-xdebug.ini
    ; Enable xdebug extension module
    ;zend_extension=xdebug.so
    
    # cat /etc/php.d/20-gd.ini 
    ; Enable gd extension module
    extension=gd
    
    # cat /etc/php.d/20-curl.ini 
    ; Enable curl extension module
    extension=curl
    
    # cat /etc/php.d/20-mbstring.ini 
    ; Enable mbstring extension module
    extension=mbstring
    
    # cat /etc/php.d/30-pdo_mysql.ini 
    ; Enable pdo_mysql extension module
    extension=pdo_mysql
    
    # lshw -class memory
    *-memory
           description: System Memory
           physical id: 19
           slot: System board or motherboard
           size: 8GiB
    # composer --version
    omposer version 2.7.8 2024-08-22 15:28:36
    PHP version 8.3.11 (/usr/bin/php)

    OpenSSL -- Unknown, but probably. Fedora 40 workstation. Can't be determined without a running site.

    Please re-open this bug. I think it is valid report and neither self-inflicted nor a matter of negligence.

    Thanks for the help,

    Chris.

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

    Hi cilefen,

    I disagree that this is a duplicate of https://www.drupal.org/project/drupal/issues/3316156: β†’

    o    I am not on GoDaddy.
    o    I have not changed anything in the Drupal installation.
    o    I meet or exceed the system requirements from https://www.drupal.org/docs/getting-started/system-requirements
    o    The error is happening at a different place in the installation dialog. In my case Step 5, not step 2.

    I'm sorry to be so persistent, but I'm pretty sure that there is a problem here and it is neither my negligence nor my incompetence. It is probably a configuration problem, but the exception is doing nothing to identify the problem so it can be rectified, and that in itself is a problem.

    I have eclipse running, so I can investigate this further, if you have any specific questions.

    Thanks for the help,

    Chris.

  • Obviously there is a problem here but I can't independently verify that.

    Get the entire PHP config in the web context (meaning: via a PHP file in the webroot), with the phpinfo() function. The partial php -i output which is incomplete and is from the CLI, is insufficient to understand if, for example, you have opcache.save_comments enabled. That's another one that I think could cause this.

    This is on Fedora Workstation. Is this for just your development purposes rather than production? If yes, take the advice in the local development guide β†’ , which recommends DDEV. It's what my team has used for many projects for years.

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

    Hi cilefen,

    I have fired up eclipse and set a breakpoint where the exception is created to look at the stack. I have it, but, of course, I can't recognize what might be wrong. Since I don't yet know enough about what is supposed to happen, I can't see anything wrong, so I'm going to give you a small amount of what I can see. I hope that you can see what I can not. I can give you any variables you want. I suspect the problem is in findDefaultConfigWithUnmetDependencies, but I don't understand the dependency calculus, so I can't say any more.

    This is old news, since it was posted as one of my earlier comments, but here is the stack:

    Drupal\Core\Config\UnmetDependenciesException::create() (Line: 527)
    Drupal\Core\Config\ConfigInstaller->checkConfigurationToInstall() (Line: 132)
    Drupal\Core\ProxyClass\Config\ConfigInstaller->checkConfigurationToInstall() (Line: 199)
    Drupal\Core\Extension\ModuleInstaller->install() (Line: 83)
    Drupal\Core\ProxyClass\Extension\ModuleInstaller->install() (Line: 1668)
    install_install_profile() (Line: 695)
    install_run_task() (Line: 572)
    install_run_tasks() (Line: 121)
    install_drupal() (Line: 53)

    I set my breakpoint at Drupal\Core\Config\UnmetDependenciesException::create() (Line: 527)

    Here is the code that lead to the exception:

      public function checkConfigurationToInstall($type, $name) {
        if ($this->isSyncing()) {
          // Configuration is assumed to already be checked by the config importer
          // validation events.
          return;
        }
        $config_install_path = $this->getDefaultConfigDirectory($type, $name);
        if (!is_dir($config_install_path)) {
          return;
        }
    
        $storage = new FileStorage($config_install_path, StorageInterface::DEFAULT_COLLECTION);
    
        $enabled_extensions = $this->getEnabledExtensions();
        // Add the extension that will be enabled to the list of enabled extensions.
        $enabled_extensions[] = $name;
        // Gets profile storages to search for overrides if necessary.
        $profile_storages = $this->getProfileStorages($name);
    
        // Check the dependencies of configuration provided by the module.
        [$invalid_default_config, $missing_dependencies] = $this->findDefaultConfigWithUnmetDependencies($storage, $enabled_extensions, $profile_storages);
        if (!empty($invalid_default_config)) {
    
           throw UnmetDependenciesException::create($name, array_unique($missing_dependencies, SORT_REGULAR));
    
        }
    
  • πŸ‡¬πŸ‡§United Kingdom wcndave

    Hi cjm51213, I have exactly the same problem on a siteground installation.
    Did you ever get this resolved?
    Thanks, Dave

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

    Hi, Dave,

    I have exactly the same problem on a siteground installation.
    Did you ever get this resolved?

    Unfortunately, no. You can read the comments and see that my initial report was assumed to be self-inflicted, and I was never able to convince anybody otherwise. In any case, maybe you and I can make a bit more progress. I am pretty sure that it is a Linux configuration problem not discovered by the installation script. In comment #9 I was comprehensively listed my versions. Are yours the same?

    Chris.

  • πŸ‡¬πŸ‡§United Kingdom wcndave

    I actually managed to solve my issue. I can't say it was the same, however it looked identical in terms of the result.
    I guess any problem that results in not having everything installed could do this.

    In the end, what I found was that I had installed drush from my "home" directory, so I had done:

    /home/dave$ php /usr/local/bin/composer.phar create-project drupal/recommended-project drupal
    /home/dave$ php /usr/local/bin/composer.phar require drush/drush

    What I actually needed to do, was install drush from inside drupal directory

    /home/dave$ cd drupal
    /home/dave/drupal$  php /usr/local/bin/composer.phar require drush/drush

    Then the dependencies were met.

  • @wcndave: Requiring Drush that like that is the only supported way to use Drush in its current versions.

  • πŸ‡¬πŸ‡§United Kingdom wcndave

    I don't understand what that means, however I am glad I solved it.

    I think requiring "that like that" being the only supported way is somewhat odd.
    I didn't see anything that mentioned where one had to be in directory structure when installing

  • composer require drush/drush, as you have now done, is the only supported way to use Drush.

    From https://www.drush.org/13.x/install/:

    It is required that Drupal sites be built using Composer, with Drush listed as a dependency.

Production build 0.71.5 2024