Page MenuHomePhabricator

Diff on mobile not working for Wikisource.org pages
Closed, ResolvedPublic

Description

Error

Request ID: W6Ko9wrAIDgAAHcz0YgAAAAQ

message
[{exception_id}] {exception_url}   Exception from line 1241 of /srv/mediawiki/php-1.32.0-wmf.22/includes/diff/DifferenceEngine.php: ProofreadPage\Page\PageDifferenceEngine: could not maintain backwards compatibility. Please use a SlotDiffRenderer.
stacktrace
#0 /srv/mediawiki/php-1.32.0-wmf.22/extensions/ProofreadPage/includes/Page/PageDifferenceEngine.php(86): DifferenceEngine->generateContentDiffBody(WikitextContent, WikitextContent)
#1 /srv/mediawiki/php-1.32.0-wmf.22/extensions/ProofreadPage/includes/Page/PageDifferenceEngine.php(45): ProofreadPage\Page\PageDifferenceEngine->createTextDiffOutput(WikitextContent, WikitextContent, string)
#2 /srv/mediawiki/php-1.32.0-wmf.22/includes/diff/DifferenceEngineSlotDiffRenderer.php(58): ProofreadPage\Page\PageDifferenceEngine->generateContentDiffBody(ProofreadPage\Page\PageContent, ProofreadPage\Page\PageContent)
#3 /srv/mediawiki/php-1.32.0-wmf.22/includes/diff/DifferenceEngine.php(1054): DifferenceEngineSlotDiffRenderer->getDiff(ProofreadPage\Page\PageContent, ProofreadPage\Page\PageContent)
#4 /srv/mediawiki/php-1.32.0-wmf.22/includes/diff/DifferenceEngine.php(972): DifferenceEngine->getDiffBody()
#5 /srv/mediawiki/php-1.32.0-wmf.22/includes/diff/DifferenceEngine.php(937): DifferenceEngine->getDiff(string, string, string)
#6 /srv/mediawiki/php-1.32.0-wmf.22/includes/diff/DifferenceEngine.php(706): DifferenceEngine->showDiff(string, string, string)
#7 /srv/mediawiki/php-1.32.0-wmf.22/extensions/MobileFrontend/includes/specials/SpecialMobileDiff.php(160): DifferenceEngine->showDiffPage()
#8 /srv/mediawiki/php-1.32.0-wmf.22/extensions/MobileFrontend/includes/specials/SpecialMobileDiff.php(132): SpecialMobileDiff->displayDiffPage()
#9 /srv/mediawiki/php-1.32.0-wmf.22/extensions/MobileFrontend/includes/specials/MobileSpecialPage.php(58): SpecialMobileDiff->executeWhenAvailable(string)
#10 /srv/mediawiki/php-1.32.0-wmf.22/includes/specialpage/SpecialPage.php(569): MobileSpecialPage->execute(string)
#11 /srv/mediawiki/php-1.32.0-wmf.22/includes/specialpage/SpecialPageFactory.php(581): SpecialPage->run(string)
#12 /srv/mediawiki/php-1.32.0-wmf.22/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
#13 /srv/mediawiki/php-1.32.0-wmf.22/includes/MediaWiki.php(868): MediaWiki->performRequest()
#14 /srv/mediawiki/php-1.32.0-wmf.22/includes/MediaWiki.php(525): MediaWiki->main()
#15 /srv/mediawiki/php-1.32.0-wmf.22/index.php(42): MediaWiki->run()

Notes

Logstash recorded 3,700 instances of this fatal exception in the last 30 days.

This problem can be consistently reproduced from most diffs found in recent change and wachlitsts on *.wikisource.org projects, such as https://en.m.wikisource.org/wiki/Special:MobileDiff/8824132.

Details

Related Gerrit Patches:
mediawiki/extensions/ProofreadPage : masterImplements SlotDiffRenderer for Index: pages content model
mediawiki/extensions/ProofreadPage : masterImplements SlotDiffRenderer for Page: pages content model

Event Timeline

Krinkle created this task.Sep 19 2018, 7:59 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptSep 19 2018, 7:59 PM

Change 461527 had a related patch set uploaded (by Tpt; owner: Tpt):
[mediawiki/extensions/ProofreadPage@master] Implements SlotDiffRenderer for Page: pages content model

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

Change 461529 had a related patch set uploaded (by Tpt; owner: Tpt):
[mediawiki/extensions/ProofreadPage@master] Implements SlotDiffRenderer for Index: pages content model

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

Tgr added a subscriber: Tgr.Sep 24 2018, 3:33 PM

Note that before this change (and the core diff change) MobileFrontend bailed out when something wanted to use its own diff engine; now the slot renderers of ProofreadPage and the inline-formatting engine of MobileFrontend are going to be used together. Hopefully that will be an improvement, but in any case, it should be tested to make sure it behaves sanely.

Change 461527 merged by jenkins-bot:
[mediawiki/extensions/ProofreadPage@master] Implements SlotDiffRenderer for Page: pages content model

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

Change 461529 merged by jenkins-bot:
[mediawiki/extensions/ProofreadPage@master] Implements SlotDiffRenderer for Index: pages content model

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

Tpt closed this task as Resolved.Jan 14 2019, 4:21 PM
Tpt claimed this task.
Tpt added a subscriber: Tpt.

Seems to be solved.

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