Original Error#
After updating to Drupal 10.3.0, there’s this system_post_update_add_langcode_to_all_translatable_config function added to the web/core/modules/system/system.post_update.php update file, which will get triggered when running post update via drush updb or visiting /update.php.
For some site, this seem to run without any hiccups, but for some others, when running drush updb, I got the following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| -------- ----------------------------------------- ------------- ------------------------------------------------------
Module Update ID Type Description
-------- ----------------------------------------- ------------- ------------------------------------------------------
system add_langcode_to_all_translatable_config post-update Adds a langcode to all simple config which needs it.
-------- ----------------------------------------- ------------- ------------------------------------------------------
Do you wish to run the specified pending updates? (yes/no) [yes]:
> yes
> [notice] Update started: system_post_update_add_langcode_to_all_translatable_config
> PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 262144 bytes) in /var/www/html/web/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php on line 211
> PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0
In ProcessBase.php line 171:
Unable to decode output into JSON: Syntax error
Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 262144 bytes) in /var/www/html/web/core/lib/Drupal/Core/Plugi
n/DefaultPluginManager.php on line 211
Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0
Failed to run drush updb: exit status 1
|
And updating via the GUI interface at update.php will just end up in infinite loading.
Solution#
After some digging around, I found this comment #7 under issue #3466103, he claims the issues are theme related, and he worked around it via:
- turn on site maintenance mode
- exporting the current settings as backup via
drush cex - set the default theme to
bartik , disable the custom theme (and bootstrap_barrio) - re-trying the
drush updb - re-importing the settings via
drush cim - flush cache
- turn off site maintenance mode
Below is the CLI command you can run in the terminal to archive these:
1
2
3
4
5
6
7
8
| drush state:set system.maintenance_mode 1
drush cex
drush theme:install bartik
drush config-set system.theme default bartik
drush theme:uninstall <custom-theme-name>
# drush theme:uninstall bootstrap_barrio
drush cim
drush state:set system.maintenance_mode 0
|
Reference#