Page MenuHomePhabricator

Special:RecentChanges broken: MutableRevisionRecord: Bad value for parameter $id: must be a integer
Closed, ResolvedPublic

Description

[4a3541029e14ebf97d9deae5] /wiki/Special:RecentChanges   Wikimedia\Assert\ParameterTypeException from line 105 of /home/developer/mediawiki/workdir/vendor/wikimedia/assert/src/Assert.php: Bad value for parameter $id: must be a integer</p><p>Backtrace:</p><p>#0 /home/developer/mediawiki/workdir/includes/Revision/MutableRevisionRecord.php(255): Wikimedia\Assert\Assert::parameterType(array, string, string)<br />
#1 /home/developer/mediawiki/workdir/includes/changes/ChangesList.php(748): MediaWiki\Revision\MutableRevisionRecord-&gt;setId(string)<br />
#2 /home/developer/mediawiki/workdir/includes/changes/ChangesList.php(774): ChangesList-&gt;insertRollback(string, RCCacheEntry)<br />
#3 /home/developer/mediawiki/workdir/includes/changes/EnhancedChangesList.php(702): ChangesList-&gt;getRollback(RCCacheEntry)<br />
#4 /home/developer/mediawiki/workdir/includes/changes/EnhancedChangesList.php(825): EnhancedChangesList-&gt;recentChangesBlockLine(RCCacheEntry)<br />
#5 /home/developer/mediawiki/workdir/includes/changes/EnhancedChangesList.php(118): EnhancedChangesList-&gt;recentChangesBlock()<br />
#6 /home/developer/mediawiki/workdir/includes/specials/SpecialRecentChanges.php(440): EnhancedChangesList-&gt;recentChangesLine(RecentChange, boolean, integer)<br />
#7 /home/developer/mediawiki/workdir/includes/specialpage/ChangesListSpecialPage.php(1661): SpecialRecentChanges-&gt;outputChangesList(Wikimedia\Rdbms\ResultWrapper, FormOptions)<br />
#8 /home/developer/mediawiki/workdir/includes/specialpage/ChangesListSpecialPage.php(671): ChangesListSpecialPage-&gt;webOutput(Wikimedia\Rdbms\ResultWrapper, FormOptions)<br />
#9 /home/developer/mediawiki/workdir/includes/specials/SpecialRecentChanges.php(164): ChangesListSpecialPage-&gt;execute(NULL)<br />
#10 /home/developer/mediawiki/workdir/includes/specialpage/SpecialPage.php(576): SpecialRecentChanges-&gt;execute(NULL)<br />
#11 /home/developer/mediawiki/workdir/includes/specialpage/SpecialPageFactory.php(618): SpecialPage-&gt;run(NULL)<br />
#12 /home/developer/mediawiki/workdir/includes/MediaWiki.php(299): MediaWiki\SpecialPage\SpecialPageFactory-&gt;executePath(Title, RequestContext)<br />
#13 /home/developer/mediawiki/workdir/includes/MediaWiki.php(973): MediaWiki-&gt;performRequest()<br />
#14 /home/developer/mediawiki/workdir/includes/MediaWiki.php(535): MediaWiki-&gt;main()<br />
#15 /home/developer/mediawiki/workdir/index.php(47): MediaWiki-&gt;run()<br />
#16 {main}

Event Timeline

Nikerabbit triaged this task as Unbreak Now! priority.Apr 29 2020, 10:27 AM

Also visible on beta cluster: https://meta.wikipedia.beta.wmflabs.org/wiki/Special:RecentChanges - a change that happened since last train branch?

@Nikerabbit does it say what the value is, if not an integer?

Looks the same, the JavaScript error is likely just a by-product of the page failing to load.

Change 593212 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] ChangesList::insertRollback - Force rc_this_oldid to integer before use

https://gerrit.wikimedia.org/r/593212

Yeah, that was the cause :( - I missed that the stdClass values were strings and RevisionStore::initializeMutableRevisionFromArray converted the id to int

Change 593212 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] ChangesList::insertRollback - Force rc_this_oldid to integer before use

https://gerrit.wikimedia.org/r/593212

Confirmed to solve the issue via PatchDemo - http://patchdemo.wmflabs.org/wikis/ef762db15970a840193e89092524de8e/w/index.php/Special:RecentChanges?hidebots=1&limit=50&days=7&enhanced=1&urlversion=2

@Aklapper this isn't an issue in wmf.30, patch was merged after branch cut - https://test.wikipedia.org/wiki/Special:RecentChanges works fine

Change 593212 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] ChangesList::insertRollback - Force rc_this_oldid to integer before use

https://gerrit.wikimedia.org/r/593212

Confirmed to solve the issue via PatchDemo - http://patchdemo.wmflabs.org/wikis/ef762db15970a840193e89092524de8e/w/index.php/Special:RecentChanges?hidebots=1&limit=50&days=7&enhanced=1&urlversion=2

When testing to confirm, please note that T251404: `editingold` when creating a new page is a separate issue with a separate fix submitted, and so that issue may appear in testing (side note: 2 unbreak now tasks for two different trains? wow, not what I was expected to be doing right now)

Change 593212 merged by jenkins-bot:
[mediawiki/core@master] ChangesList::insertRollback - Force rc_this_oldid to integer before use

https://gerrit.wikimedia.org/r/593212

Confirmed to work on the beta cluster