Individual admin pages no longer accessible after update to 10.4

Created on 19 December 2024, 3 months ago

Problem/Motivation

After updating from Drupal core 10.3.10 to 10.4.0, I get an error message for the following three admin pages:

/admin/appearance
Notification: Symfony\Component\Routing\Exception\RouteNotFoundException: Route "update.theme_install" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 211 of /web/core/lib/Drupal/Core/Routing/RouteProvider.php).

/admin/modules
Notification: Symfony\Component\Routing\Exception\RouteNotFoundException: Route "update.module_install" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 211 of /web/core/lib/Drupal/Core/Routing/RouteProvider.php).

/reports/updates
Notification: Symfony\Component\Routing\Exception\RouteNotFoundException: Route "update.report_install" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 211 of /web/core/lib/Drupal/Core/Routing/RouteProvider.php).

Steps to reproduce

I did the update manually, i.e. without composer. (The website is completely installed without composer.)
The subsequent database update ran without errors.

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

🐛 Bug report
Status

Active

Version

10.4

Component

routing system

Created by

🇩🇪Germany frank.dev

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

Comments & Activities

  • Issue created by @frank.dev
  • 🇬🇧United Kingdom longwave UK

    Do you mean you got those errors after updating the code, but without running update.php or clearing caches? If so that sort of thing is to be expected, after updating code you must immediately run update.php to get things in sync for the new version. If there are no errors after running update.php, then everything would seem to be OK.

  • 🇩🇪Germany frank.dev

    Thanks for your answer, but no, that's not what I mean, of course:
    I first carried out the update manually at file level and then updated the database (using update.php).

    Even deleting the cache several times afterwards does not change the problem described above.

  • 🇬🇧United Kingdom longwave UK

    Those routes were deleted in 10.4.0 as part of the change record described above, but there is no reference to them remaining in the codebase. Do you have any modules that extend the update system that still refer to them? Or perhaps are there any references to them in your database somewhere?

    Perhaps we have to revisit this and retain the routes for now but deprecate them instead, though that is currently not possible: 📌 Support route aliasing (Symfony 5.4) and allow deprecating the route name Needs work

  • 🇩🇪Germany frank.dev

    Thanks for your answer.
    However, I administer several Drupal installations, some of them with composer, others manually. The modules used in the different installations are identical.
    The problem described here occurs on all manually administered installations. All installations administered with composer do not show this problem.

  • 🇬🇧United Kingdom longwave UK

    When you update an installation without composer, do you delete any files?

    The reason I ask this is that 📌 Remove adding an extension via a URL Fixed deleted core/modules/update/update.links.action.yml which contained references to these routes, but that should have been deleted when you upgraded to 10.4.0.

  • 🇩🇪Germany frank.dev

    Thank you for your patience!
    The subsequent deletion of the file update.links.action.yml has solved my problem.

    Until now, I assumed that for the manual update it was usually sufficient to overwrite the files of the old version with those of the new version and to ignore files that were no longer used. I was probably wrong.

  • 🇬🇧United Kingdom longwave UK

    The documentation for updating core manually does recommend deleting files, see step 4 of https://www.drupal.org/docs/updating-drupal/updating-drupal-core-manuall...

  • 🇺🇸United States davidwbarratt

    I'm having this problem, and I upgraded using Composer....

  • @davidwbarratt Does core/modules/update/update.links.action.yml exist in that installation?

  • 🇺🇸United States nicxvan

    @frank.dev just to clarify in case you only deleted that one file you should follow the instructions posted including step 4 in the link @longwave provided. Otherwise there is no way to know how many removed files still remain.

    You should also consider using composer every where because soon that is going to be the only way to update.

  • 🇺🇸United States davidwbarratt

    @cilefen hmm, this is odd, it does not exist when I blow out the folder and do a composer install, but it does exist in the docker container which does the same thing... this might be a caching problem I suppose.

  • 🇺🇸United States davidwbarratt

    I figured it out, the prebuilt Docker images from https://hub.docker.com/_/drupal have Drupal baked in. If you're doing something like this:
    https://github.com/davidbarratt/davidwbarratt/blob/8558d6d1e0be3d797bc3a...
    then you may end up with an older version of Drupal that is baked in, which would normally be fine since you're probably copying everything over anyways:
    https://github.com/davidbarratt/davidwbarratt/blob/8558d6d1e0be3d797bc3a...
    but Docker's COPY does not remove files that are not in the source.

    To get around this I could either specify the same version in the image (i.e. 10.4) or I can remove the baked image:
    https://github.com/davidbarratt/davidwbarratt/commit/8558d6d1e0be3d797bc...

  • I use composer to update to Drupal 10.4 and I have the same problem
    Message from Log:
    Symfony\Component\Routing\Exception\RouteNotFoundException: Route "update.module_install" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 211 of core/lib/Drupal/Core/Routing/RouteProvider.php).
    Symfony\Component\Routing\Exception\RouteNotFoundException: Route "update.theme_install" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 211 of core/lib/Drupal/Core/Routing/RouteProvider.php).

    is their any patch for this until it is fixed?

  • I re-added the "update.links.action.yml" file back into the "core/modules/update/"
    using attached patch and am still getting the same error.

    Any other options.

  • 🇺🇸United States nicxvan

    Have you run update.php?

  • yes, using drush
    drush updb -y

    and when I URL to https://{DOMAIN}/admin/modules
    I am still getting the same thing
    But When I reset the "update/src/Routing/UpdateRouteSubscriber.ph"
    the site will be down completely using the following patch

    https://www.drupal.org/files/issues/2024-12-28/3494938-add-report-module-and-theme-to-routes.patch

  • 🇪🇨Ecuador drw

    Just make sure that core/modules/update/update.links.action.yml is deleted, It worked for me after the apply the patch

  • Funny!
    Without the patches, site loads the modules extension and the Appearance pages locally but not on remote server which runs on Apache and PHP 8.4 / 8.3.

    i do not know what is going on now...

  • 🇬🇧United Kingdom catch

    @wallexk1 have you checked whether update.links.yml is definitely removed on the remote server too?

  • Everything is functioning properly now.

    I reviewed the PHP requirements and inspected the update directory using the tree command. I noticed that the file core/modules/update/update.links.action.yml was present. Later, during New Year's crossover night, I removed the patch for my local development environment, which resolved the issue locally, but the remote environment still wasn't working.

    This morning, I reinstalled the application using Composer after deleting the web/core directory. Now, everything is working perfectly.

    thanks to @catcc, @drw, @nicxvan

  • 🇧🇪Belgium bnysten

    I manage two Drupal-based web sites installed on distant servers on which I do not have the rights to run composer (or drush). The only possibility for me to apply updates/upgrades is to download the last version of Drupal, unpack the archive, locally apply patches and then manually transfer the files to the servers.
    I upgraded on of the two site from Drupal 10.3 to 10.4 this morning and encountered the problem reported in this thread. I applied the patch "3494938-restore-admin-modules-themes-route.patch" to the local files and transferred the patched files, run update.php and clear caches but the problem is still present.
    I tried to apply the patch "3494938-add-report-module-and-theme-to-routes.patch" but I got the following error message "error: modules/update/src/Routing/UpdateRouteSubscriber.php: No file or forlder with this name"
    Can someone explain me the procedure I should follow to update my sites (manually) ? Thank you.

  • 🇫🇷France webmestre

    Hello

    this path: /admin/structure/menu/manage/admin/add works fine
    this path: /admin/structure/menu/manage/admin/ breaks!!!

    I updated to 10.4 with composer.

    QUESTION: do I have to patch?

  • 🇨🇦Canada mrogers

    Having the same issue as @webmestre — /admin/structure/menu/manage/admin/ returns an error after updating to 10.4.

  • If any of the followers of this issue are overlaying files when upgrading, that has never really been the process. The only supported way to upgrade Drupal now is with Composer. If you are going with another method, you have to actually delete the files that have been removed in updates. If you are using Composer in a creative way, you have to actually delete the files that have been removed in updates. If you are syncing files in some way to a remote web server, you have to actually delete the files that have been removed in updates.

    Not deleting those files is why this is happening to you.

  • 🇺🇸United States dalemoore

    I believe this issue may be caused by the Admin Toolbar module if you have it installed. I did, alongside the new Navigation module that I was trying out. Once I uninstalled Admin Toolbar, the issue went away. See this issue: https://www.drupal.org/project/admin_toolbar/issues/3493798 🐛 Compatibility issue: Route update.theme_install does not exist in Drupal 11.0.x Active

  • @dalemoore Thank you for that comment. So, there can be more than one reason.

  • 🇨🇦Canada mrogers

    @dalemoore thank you, that was the issue. Site was installed with Composer.

  • 🇫🇷France webmestre

    @dalemoore, your diagnostic is good.
    Disabling the "Admin Toolbar Extra Tools" submodule solved the issue.
    Next step is to patch.

    PS: update from D10.3 to D10.4 was done by composer.

  • 🇳🇱Netherlands mvdv84

    cilefen and frank.dev thank you!
    delete the file core/modules/update/update.links.action.yml worked for me.

  • 🇭🇺Hungary pal_ur

    Same issue, for me helped to remove update.report_install: and update.module_install: sections from update.links.action.yml file.

  • Automatically closed - issue fixed for 2 weeks with no activity.

  • Status changed to Fixed 25 days ago
  • 🇮🇳India pappuksingh Mumbai

    I updated Drupal from 10.3 to 10.4 and encountered the same issue. Uninstalling Admin Toolbar Extra Tools resolved it.

  • 🇺🇸United States roya-rateshtari

    I have updated Drupal core from 10.4.2 to 10.4.3 and individual admin pages no longer accessible.

    • under list tab you see: Here you can find information about available updates for your installed modules and themes. Note that each module or theme is part of a "project", which may or may not have the same name, and might include multiple modules or themes within it.
    • under update tab you see: Last checked: 6 minutes 12 seconds ago (Check manually)
      There was a problem getting update information. Try again later.
    • under setting tab you see: TypeError: Drupal\update\UpdateSettingsForm::arrayToMultiLineString(): Argument #1 ($value) must be of type array, null given, called in /app/docroot/core/lib/Drupal/Core/Form/ConfigTarget.php on line 188 in Drupal\update\UpdateSettingsForm::arrayToMultiLineString() (line 141 of core/modules/update/src/UpdateSettingsForm.php).

    Please see the attached screenshots for more info.

Production build 0.71.5 2024