Problem/Motivation

When upgrading a Drupal 11.1.x website to Drupal 11.2.x, I encountered the following message when executing database updates via update.php:

An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /update.php/start?id=1&op=do_nojs&op=do
StatusText: parsererror
ResponseText: 
Fatal error:  Type of Drupal\indieweb_webmention\Plugin\views\row\Webmention::$base_field must be string (as in class Drupal\views\Plugin\views\row\RowPluginBase) in /var/www/html/modules/contrib/indieweb/modules/indieweb_webmention/src/Plugin/views/row/Webmention.php on line 22

On the subsequent error page which was a WSOD, I saw this message (possibly unrelated)

The website encountered an unexpected error. Try again later.
TypeError: Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer::renderBarePage(): Argument #1 ($content) must be of type array, false given, called in /var/www/html/core/modules/system/src/Controller/DbUpdateController.php on line 211 in Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer->renderBarePage() (line 73 of core/lib/Drupal/Core/ProxyClass/Render/BareHtmlPageRenderer.php).

Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer->renderBarePage() (Line: 211)
Drupal\system\Controller\DbUpdateController->handle()
call_user_func_array() (Line: 115)
Drupal\Core\Update\UpdateKernel->handleRaw() (Line: 76)
Drupal\Core\Update\UpdateKernel->handle() (Line: 27)

The updates that my database wanted after the update included the following:

system module

11200 - Add a [time] column to the {simpletest} table, if existing.
11201 - Add the [alias] field to the {router} table.
Updates entity_form_mode descriptions from empty string to null.
Remove path key in system.file.

block module

Updates the `depth` setting to NULL if it is 0 in any menu blocks.

file module

Adds a value for the 'playsinline' setting of the 'file_video' formatter.

update module

Removes the legacy 'Update Manager' disk cache.

views module

Defaults `items_per_page` to NULL in Views blocks.
Adds a default table CSS class.
Clean-up empty remember_roles display settings for views filters.

After trying to update, failing, and checking the list of remaining updates, it appears that the update that cases the site to break is the "Adds a default table CSS class." update in the views module.

Steps to reproduce

On a website that has views, indieweb, and indieweb_webemntions installed (and has web-mentions on it), try to update to 11.2.x using composer, then attempt db updates.

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

CommentFileSizeAuthor
#3 3545178-3.patch639 bytesswentel

Issue fork indieweb-3545178

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

abenbow created an issue. See original summary.

abenbow’s picture

Title: Fatal Error: Type of Drupal\indieweb_webmention\Plugin\views\row\Webmention::$base_field must be string when updating to Drupal 11.2.x » "Fatal Error: Type of Drupal\indieweb_webmention\Plugin\views\row\Webmention::$base_field must be string" when updating to Drupal 11.2.x
swentel’s picture

Status: Active » Needs review
StatusFileSize
new639 bytes

Sorry for the delay on this, I missed the issue report in my mail for some reason.

It's been a while of course since the update, but the attached patch should solve the issue - for updates, but probably also in case you would use views to render webmentions.

swentel’s picture

Alright, all deprecations in the module are fixed.

There's one in an external package for which I've created a pull request, see https://github.com/aaronpk/p3k-http/pull/3

Will trigger a new release in a couple of minutes.

swentel’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

swentel’s picture

Status: Fixed » Closed (fixed)