Page MenuHomePhabricator

When watching specific kinds of history on mobile devices, it returns a fatal error.
Closed, DuplicatePublicPRODUCTION ERROR

Description

I asked User:Alexander Misel to change the page model from wikitext to MassMessageList. When I was watching the history on my phone (see https://zh.m.wikipedia.org/wiki/Special:MobileDiff/52813452 ) and I got an internal error.

Screenshot_20190116_235444_com.android.chrome.jpg (2×1 px, 356 KB)

Stacktrace

Cannot diff content types other than MassMessageListContent

#0 /srv/mediawiki/php-1.33.0-wmf.12/includes/diff/DifferenceEngineSlotDiffRenderer.php(50): MediaWiki\MassMessage\MassMessageListDiffEngine->generateContentDiffBody(WikitextContent, MediaWiki\MassMessage\MassMessageListContent)
#1 /srv/mediawiki/php-1.33.0-wmf.12/includes/diff/DifferenceEngine.php(1058): DifferenceEngineSlotDiffRenderer->getDiff(WikitextContent, MediaWiki\MassMessage\MassMessageListContent)
#2 /srv/mediawiki/php-1.33.0-wmf.12/includes/diff/DifferenceEngine.php(976): DifferenceEngine->getDiffBody()
#3 /srv/mediawiki/php-1.33.0-wmf.12/includes/diff/DifferenceEngine.php(941): DifferenceEngine->getDiff(string, string, string)
#4 /srv/mediawiki/php-1.33.0-wmf.12/includes/diff/DifferenceEngine.php(709): DifferenceEngine->showDiff(string, string, string)
#5 /srv/mediawiki/php-1.33.0-wmf.12/extensions/MobileFrontend/includes/specials/SpecialMobileDiff.php(160): DifferenceEngine->showDiffPage()
#6 /srv/mediawiki/php-1.33.0-wmf.12/extensions/MobileFrontend/includes/specials/SpecialMobileDiff.php(132): SpecialMobileDiff->displayDiffPage()
#7 /srv/mediawiki/php-1.33.0-wmf.12/extensions/MobileFrontend/includes/specials/MobileSpecialPage.php(58): SpecialMobileDiff->executeWhenAvailable(string)
#8 /srv/mediawiki/php-1.33.0-wmf.12/includes/specialpage/SpecialPage.php(569): MobileSpecialPage->execute(string)
#9 /srv/mediawiki/php-1.33.0-wmf.12/includes/specialpage/SpecialPageFactory.php(558): SpecialPage->run(string)
#10 /srv/mediawiki/php-1.33.0-wmf.12/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
#11 /srv/mediawiki/php-1.33.0-wmf.12/includes/MediaWiki.php(862): MediaWiki->performRequest()
#12 /srv/mediawiki/php-1.33.0-wmf.12/includes/MediaWiki.php(517): MediaWiki->main()
#13 /srv/mediawiki/php-1.33.0-wmf.12/index.php(42): MediaWiki->run()
#14 /srv/mediawiki/w/index.php(3): include(string)
#15 {main}

Event Timeline

@daniel @Tgr - could check whats causing this issue?

Well, as the message says, the diff is between two different content types (which are not both text-based). In general, I don't think we can do much better than showing an error (although maybe it should be an ErrorPageError, not an exception). It would be nicer not to show difflinks when the contents cannot be diffed, but that seems like a lot of work for a very fringe use case.

It would be nicer not to show difflinks when the contents cannot be diffed, but that seems like a lot of work for a very fringe use case.

I don't think that's a good idea. Afterall, there is a difference (a change in model), we are just not good at visualizing it. Perhaps that shouldn't even be an error, just a special case of a diff: "The content model changed from X to Y. A direct comparison of the content can not be show. The content has probably been replaced entirely".

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