I already reported this for various versions in the past, but never got a solution. Now I installed a complete new 9.1.x Drupal site with a new database and migrated my whole content to the new installation.
Today I upgraded to 9.2.0 and the error is back! :(
I have 7 outstanding DB upgrades, but I only get this in the log:
TypeError: Argument 1 passed to Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer::renderBarePage() must be of the type array, bool given, called in /home/.sites/136/site1497/web/core/modules/system/src/Controller/DbUpdateController.php on line 195 in Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer->renderBarePage() (Zeile 73 in /home/.sites/136/site1497/web/core/lib/Drupal/Core/ProxyClass/Render/BareHtmlPageRenderer.php)
#0 /home/.sites/136/site1497/web/core/modules/system/src/Controller/DbUpdateController.php(195): Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer->renderBarePage(false, Object(Drupal\Core\StringTranslation\TranslatableMarkup), 'maintenance_pag...', Array)
#1 [internal function]: Drupal\system\Controller\DbUpdateController->handle('core', Object(Symfony\Component\HttpFoundation\Request))
#2 /home/.sites/136/site1497/web/core/lib/Drupal/Core/Update/UpdateKernel.php(114): call_user_func_array(Array, Array)
#3 /home/.sites/136/site1497/web/core/lib/Drupal/Core/Update/UpdateKernel.php(75): Drupal\Core\Update\UpdateKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request))
#4 /home/.sites/136/site1497/web/update.php(27): Drupal\Core\Update\UpdateKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#5 {main}
The DB upgrades are NOT done.
I am sure that I am not the only one with this problem. And it does not help closing this issue and pointing to a different one where also no solution is provided. My site is in maintenance mode after going to /update.php, but the updates are NOT done.
So PLEASE, help me/us to solve this isse as it is very annoying when to DB upgrades are possible.
If there is no fix for it - how can I do the DB upgrades by hand?
Thanks a lot for your help!
Comments
Comment #2
larowlanThis seems to indicate something isn't returning an array for an update/page when it should be
What contrib modules/themes are you using?
Comment #3
Deas.h commentedThanks a lot for getting back to me! I have installed those modules/themes:
Backup and Migrate 5.0.0
EU Cookie Compliance (GDPR Compliance) 8.x-1.14
External Links 8.x-1.6
Google Analytics 8.x-2.5
Honeypot 2.0.1
Metatag 8.x-1.16
Security Kit 2.0.0
Token 8.x-1.9
W3CSS THEME FOR DRUPAL (8 & 9) 8.x-1.21
Comment #4
cilefen commentedComment #5
longwaveWe can see from the stack trace that DbUpdateController::handle('core') is being called, this looks like it would then fall to the default case:
$output is passed to the bare page renderer:
$output is FALSE in the stack trace; _batch_page() can seemingly only return FALSE if somehow the ID is missing from the querystring:
I don't know how or why this would happen though.
Comment #6
Deas.h commented@cilefen - yes, as I said I have this issue now since MANY versions. But the provided solution is not my problem now. Maybe it was with 8.x but not with 9.x. The link to the maintenance page is correct: https://website.url/admin/config/development/maintenance
@longwave - anything I could do/try to find the root cause of this? I REALLY want to get rid of this very annoying problem...
Comment #7
longwaveThe stack trace implies the site is on shared hosting of some sort; do you have a local copy of the site that you can try upgrading?
Comment #8
Deas.h commentedYes it is shared hosting and sorry no, I don´t have a local copy I can play with...
Comment #9
Deas.h commentedPlease - I can´t be the only one and there must be a fix for it... :(
Today I upgraded from 9.2.0 to 9.2.8 and still the same. At the moment I have 10 outstanding DB upgrades pending.
I also increased the php memory limit from 128 to 160 (more is not possible via self-service) and I also increased the execution time.
Another question - any chance to do the missing DB Upgrades "by hand"? Are the sql commands needed somewhere in the new packages?
Those upgrades are missing at the moment:
system module
Remove obsolete system.rss configuration.
Drop the 'all' index on the 'key_value_expire' table.
Add new security advisory retrieval settings.
eu_cookie_compliance module
8124 - Add config variables for cookie values.
8125 - Add config variables for button accessibility.
google_analytics module
8300 - Migrate create only fields to gtag.js parameters.
file module
Add txt to allowed extensions for all fields that allow uploads of insecure files.
tour module
Convert Joyride selectors to `selector` property. @see tour_tour_presave()
views module
Rename the setting for showing the default display to 'default_display'.
Rebuild routes to fix view title translations.
Comment #10
cilefen commented@Deas.h In #6 you asked if there was anything you could do or try. @longwave asked if you have a local site to reproduce this issue. You haven't had replies since then because there is little we can do without the information we would get from debugging a local site.
Comment #12
cilefen commentedWe can’t help without more information.
Comment #13
Deas.h commented@cilefan - sorry, I did not know that there is a new reply and so I thought that again nobody is able or willing to help...
sure, but as I said, I have no local copy to play with. Can´t we use the hosted site to do some debugging? Because I don´t think that the problem i have will also occure on a local installation. I think it must have something to do with the hosting or security settings or whatever.
Comment #14
Deas.h commentedComment #15
cilefen commentedIt's your decision to debug on a hosted site. But we cannot help without more information that only you can provide.
Comment #17
lapurddrupal commentedI have a similar error when calling module extend after upgrade from 9.3 to 9.4.0, later to 9.4.1
Empty page is shown. PHP Error log: TypeError: Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer::renderBarePage(): Argument #1 ($content) must be of type array, bool given.
Theme: Bartik
Drupal: 9.4.1, PHP 8.1.7
#0 /www/htdocs/........../htdocs/drupal/web/core/modules/system/src/Controller/DbUpdateController.php(196): Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer->renderBarePage(false, Object(Drupal\Core\StringTranslation\TranslatableMarkup), 'maintenance_pag...', Array)
#1 [internal function]: Drupal\system\Controller\DbUpdateController->handle('en', Object(Symfony\Component\HttpFoundation\Request))
#2 /www/htdocs/..................../htdocs/drupal/web/core/lib/Drupal/Core/Update/UpdateKernel.php(115): call_user_func_array(Array, Array)
#3 /www/htdocs/.................../htdocs/drupal/web/core/lib/Drupal/Core/Update/UpdateKernel.php(76): Drupal\Core\Update\UpdateKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request))
#4 /www/htdocs/.................../htdocs/drupal/web/update.php(27): Drupal\Core\Update\UpdateKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#5 {main}
Claer Cache does not help, but update.php works.
Comment #18
lapurddrupal commentedI forgot to mention that the error also occurred with update.php Drupal 9.4.0, but was fixed with clear cache (DEVEL).
Comment #19
cilefen commentedWe will need a way to reproduce this to take this on as a bug.
Comment #20
Deas.h commentedSorry again about my late reply It took me some time to setup a working copy of my site and I also had other things to care about. But now I have a bitnami VM running with my site at home. It was not so easy as some things are quite different, but after a few tweaks I was able to restore my database and with all my files and modules it is running now.
But unfortunately on the local bitnami VM it is working as expected. I can do /update.php and the database gets updated. :(
I upgraded now all my modules and Drupal to the latest version on my bitnami VM. Then I took a backup of my database and applied that backup to my externally hosted site. I also copied all modules and the latest Drupal version (9.4.9) and now I have a fully updated Drupal installation and the database is also current. At least I have now a workaround how I can upgrade my site...
But on my hosted site I am still unable to do /update.php. I mean the site loads and the first page looks ok, but after clicking on "Next" it takes a while and then I get a page without the theme and just the text is left aligned.
Is there a way how I could debug this on my hosted site? A difference I saw is the PHP memory_limit. My site has 160MB, the bitnami VM 256MB. I already asked my hoster if it is possible to change this. But can this be the problem?
Comment #22
cilefen commentedIs there an update?
Comment #24
pameeela commentedClosing for lack of follow up.