Page MenuHomePhabricator

PHP Warning: The locally stored wiki page '[page]' has unsupported content model'
Open, MediumPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Warning: The locally stored wiki page '[page]' has unsupported content model' [Called from JsonConfig\JCCache::loadLocal in /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCCache.php at
exception.trace
from /srv/mediawiki/php-1.38.0-wmf.3/includes/debug/MWDebug.php(498)
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.38.0-wmf.3/includes/debug/MWDebug.php(498): trigger_error(string, integer)
#2 /srv/mediawiki/php-1.38.0-wmf.3/includes/debug/MWDebug.php(196): MWDebug::sendMessage(string, string, integer)
#3 /srv/mediawiki/php-1.38.0-wmf.3/includes/GlobalFunctions.php(1057): MWDebug::warning(string, integer, integer, string)
#4 /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCCache.php(148): wfLogWarning(string)
#5 /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCCache.php(62): JsonConfig\JCCache->loadLocal()
#6 /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCSingleton.php(377): JsonConfig\JCCache->get()
#7 /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCSingleton.php(771): JsonConfig\JCSingleton::getContent(JsonConfig\JCTitle)
#8 /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCSingleton.php(880): JsonConfig\JCSingleton::getTitleLicenseCode(JsonConfig\JCTitle)
#9 /srv/mediawiki/php-1.38.0-wmf.3/includes/HookContainer/HookContainer.php(338): JsonConfig\JCSingleton::onSkinCopyrightFooter(Title, string, string, string)
#10 /srv/mediawiki/php-1.38.0-wmf.3/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#11 /srv/mediawiki/php-1.38.0-wmf.3/includes/HookContainer/HookRunner.php(3426): MediaWiki\HookContainer\HookContainer->run(string, array)
#12 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/Skin.php(853): MediaWiki\HookContainer\HookRunner->onSkinCopyrightFooter(Title, string, string, string)
#13 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/Skin.php(2428): Skin->getCopyright()
#14 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/SkinTemplate.php(895): Skin->getFooterLinks()
#15 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/SkinTemplate.php(294): SkinTemplate->getFooterTemplateData()
#16 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/SkinMustache.php(79): SkinTemplate->getTemplateData()
#17 /srv/mediawiki/php-1.38.0-wmf.3/skins/Vector/includes/SkinVector.php(380): SkinMustache->getTemplateData()
#18 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/SkinMustache.php(56): SkinVector->getTemplateData()
#19 /srv/mediawiki/php-1.38.0-wmf.3/skins/Vector/includes/SkinVector.php(327): SkinMustache->generateHTML()
#20 /srv/mediawiki/php-1.38.0-wmf.3/includes/skins/SkinTemplate.php(144): SkinVector->generateHTML()
#21 /srv/mediawiki/php-1.38.0-wmf.3/includes/OutputPage.php(2669): SkinTemplate->outputPage()
#22 /srv/mediawiki/php-1.38.0-wmf.3/includes/MediaWiki.php(939): OutputPage->output(boolean)
#23 /srv/mediawiki/php-1.38.0-wmf.3/includes/MediaWiki.php(952): MediaWiki::{closure}()
#24 /srv/mediawiki/php-1.38.0-wmf.3/includes/MediaWiki.php(559): MediaWiki->main()
#25 /srv/mediawiki/php-1.38.0-wmf.3/index.php(53): MediaWiki->run()
#26 /srv/mediawiki/php-1.38.0-wmf.3/index.php(46): wfIndexMain()
#27 /srv/mediawiki/w/index.php(3): require(string)
#28 {main}
Impact

1 of these shortly after deploy of 1.38.0-wmf.4 (T281168) to group1.

See logstash for page name.

Notes

Recurrence of T259126?

Details

Request URL
https://meta.wikimedia.org/wiki/Config:[page]

Event Timeline

brennen renamed this task from PHP Warning: The locally stored wiki page '[Page]' has unsupported content model' [Called from JsonConfig\JCCache::loadLocal in /srv/mediawiki/php-1.38.0-wmf.3/extensions/JsonConfig/includes/JCCache.php at line 148] to PHP Warning: The locally stored wiki page '[page]' has unsupported content model'.Wed, Oct 13, 7:29 PM
brennen changed Request URL from https://meta.wikimedia.org/wiki/Config:[Page] to https://meta.wikimedia.org/wiki/Config:[page].
brennen updated the task description. (Show Details)
brennen added a project: JsonConfig.
Jdlrobson added a subscriber: Jdlrobson.

Looks like JsonConfig is at fault here, possibly relating to T287158 (cc @Pchelolo) . The stack trace indicates an issue with the SkinCopyrightFooter hook there.

possibly relating to T287158 (cc @Pchelolo) .

The JsonConfig patch for that task is part of wmf.4, while according to this task the error is already showing up in wmf.3.

Then it's likely an existing error in JsonConfig which only gets triggered on certain pages like this one. I'm only seeing 1 error in last 24hrs so not sure if this should still be UBN.

daniel lowered the priority of this task from Unbreak Now! to Medium.Thu, Oct 14, 11:06 AM
daniel added a subscriber: daniel.

not UBN.

I see two pages triggering this, but the cause does not seem to be the same:

commons:Data:Highway_192_in_Iowa_(2).map has content model "json" in the database, which will be modeled as JsonContent in PHP. But the expected model is "Map.JsonConfig", which would be a JCContent in PHP. Since it'S not JCContent, JCCache correctly complains. I don't know why the model is "json" in the database. Looks like data corruption due to a bug in the past.

meta:Config:Dashiki:MultimediaHealth uses the "JsonConfig.Dashiki" model, which is mapped to JsonConfig\JCContent in the extension.json of the Dashiki extension. That should work, I'm not sure why JCCache is seeing the wrong kind of content here, and why that only happens for that one page, and not the other Dashiki pages... maybe it's just that nobody accesses them?

It would be helpful if the error message issued by JCCache included the class and model name of the offending content object.

Tagging Analytics-Dashiki and pinging @Milimetric for ideas.