Drupal 8.5 broken after simultaneously enabling many modules
-
18-01-2021 - |
Question
I installed D8 yesterday, and installed a bunch of modules today, then went into the "Extend" window and enabled a lot of them all at the same time (clearly not the best plan). Now all I get on the site is
Uncaught PHP Exception Symfony\\Component\\Routing\\Exception\\RouteNotFoundException: "Route "devel.admin_settings" does not exist." at /path/to/drupal/core/lib/Drupal/Core/Routing/RouteProvider.php line 202
showing up in the error log. I'm guessing I have to reset the database back to its initial condition. Can I do that without reinstalling Drupal?
Solution
In the Drupal Slack channel, it was suggested I should try disabling modules using drush
, starting with Devel since that appeared to be where the problem was coming from. After
# drush pm-uninstall devel
The following extensions will be uninstalled: devel, ds_devel
Do you really want to continue? (y/n): y
devel was successfully uninstalled. [ok]
ds_devel was successfully uninstalled. [ok]
the site's user interface came back to life, and I was able to install all of the modules I had previously selected, including Devel and Display Suite Devel.
I strongly suspect what happened is the error that terminated the initial attempt to enable modules
Maximum execution time of 30 seconds exceeded in /web/spacecolonists/drupal/vendor/symfony/dependency-injection/ContainerBuilder.php on line 1005
occrured in the middle of processing the Devel installation, which broke it.
This tells me that module installations are not done as a transaction: If they were, the timeout error would have caused the database transaction to fail, resulting in a rollback that left the database in a stable, working state.