Page MenuHomePhabricator

BadMethodCallException on diff pages of deleted revisions
Closed, ResolvedPublic

Description

@Multichill reports the following error when visiting https://www.wikidata.org/w/index.php?title=Q9334&diff=prev&oldid=613729134&unhide=1:

[WnI3eApAMFIAAH@GeXUAAAAE] 2018-01-31 21:39:04: Fatal exception of type "BadMethodCallException"

From logstash: https://logstash.wikimedia.org/app/kibana#/doc/logstash-*/logstash-2018.01.31/mediawiki?id=AWFORHjcqJPajYV1M55X&_g=()

#0 /srv/mediawiki/php-1.31.0-wmf.17/includes/diff/DifferenceEngine.php(629): Wikibase\Repo\Diff\EntityContentDiffView->getParserOutput(WikiPage, Revision)
#1 /srv/mediawiki/php-1.31.0-wmf.17/includes/diff/DifferenceEngine.php(480): DifferenceEngine->renderNewRevision()
#2 /srv/mediawiki/php-1.31.0-wmf.17/includes/page/Article.php(730): DifferenceEngine->showDiffPage(boolean)
#3 /srv/mediawiki/php-1.31.0-wmf.17/includes/page/Article.php(464): Article->showDiffPage()
#4 /srv/mediawiki/php-1.31.0-wmf.17/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php(79): Article->view()
#5 /srv/mediawiki/php-1.31.0-wmf.17/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php(54): Wikibase\ViewEntityAction->showEntityPage()
#6 /srv/mediawiki/php-1.31.0-wmf.17/includes/MediaWiki.php(500): Wikibase\ViewEntityAction->show()
#7 /srv/mediawiki/php-1.31.0-wmf.17/includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
#8 /srv/mediawiki/php-1.31.0-wmf.17/includes/MediaWiki.php(858): MediaWiki->performRequest()
#9 /srv/mediawiki/php-1.31.0-wmf.17/includes/MediaWiki.php(524): MediaWiki->main()
#10 /srv/mediawiki/php-1.31.0-wmf.17/index.php(42): MediaWiki->run()
#11 /srv/mediawiki/w/index.php(3): include(string)
#12 {main}

I can’t see it myself, presumably because I lack the permissions to see the deleted revision.

Feels like it could be due to MCR, so tentatively CCing @daniel and @Addshore. But without the full stack trace it’s hard to say, so I hope someone from Wikimedia-production-error will pop by soon :)

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJan 31 2018, 9:48 PM
Addshore updated the task description. (Show Details)Jan 31 2018, 10:10 PM
Framawiki added a subscriber: Framawiki.

without the full stack trace it’s hard to say, so I hope someone from Wikimedia-production-error will pop by soon :)

So let's add this tag to the task :)

Thanks, I wasn’t sure if it was appropriate since I didn’t see the error in a log :D

I was able to reproduce this on a local test wiki, and it seems to be restricted to Wikibase items (doesn’t happen on normal pages). The exception message is:

Error from line 159 of …/extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php: Call to a member function setText() on boolean

The affected Wikibase code was introduced in Iad4f8f8458 (part of T181807), so this bug has probably been present since December.

Change 407413 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/Wikibase@master] Don’t crash if revision was not found

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

thiemowmde triaged this task as Low priority.Feb 1 2018, 11:49 AM
thiemowmde moved this task from incoming to in progress on the Wikidata board.

Change 407414 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/core@master] Add missing PHPDoc block to DifferenceEngine::getParserOutput

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

Change 407413 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Don’t crash if revision was not found

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

Change 407414 merged by jenkins-bot:
[mediawiki/core@master] Add missing PHPDoc block to DifferenceEngine::getParserOutput

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

Lucas_Werkmeister_WMDE closed this task as Resolved.Feb 2 2018, 4:05 PM
Lucas_Werkmeister_WMDE claimed this task.
Lucas_Werkmeister_WMDE moved this task from Backlog to Done on the Wikidata-Sprint-2018-01-31 board.

Should be fixed now, and it’s probably not worth backporting, so closing this.

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:10 PM