Page MenuHomePhabricator

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

Description

Error
normalized_message
PHP Warning: The locally stored wiki page '482:Dashiki:MultimediaHealth' has unsupported content model' [Called from JsonConfig\JCCache::loadLocal in /srv/mediawiki/php-1.41.0-wmf.9/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'.Oct 13 2021, 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 subscribed.

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.Oct 14 2021, 11:06 AM
daniel subscribed.

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 Data-Engineering-Dashiki and pinging @Milimetric for ideas.

I don't understand ContentHandler or the changes mentioned in T287158 in sufficient depth to help directly. But I'm more than happy to sit down with anyone that does and give context on exactly what the Dashiki extension does. It's pretty simple, but I know everyone says that. In general I'm curious if there's a different way to do the same kind of thing, I can port the code to something more modern with very little trouble.

JMcLeod_WMF subscribed.

Next step: review the logs to see if this was a one-off or if it has recurred, and if so, with what frequency.

Krinkle renamed this task from PHP Warning: The locally stored wiki page '[page]' has unsupported content model' to PHP Warning: The locally stored wiki page '[page]' has unsupported content model (from Dashiki).May 17 2023, 10:04 PM
Krinkle updated the task description. (Show Details)
Krinkle updated the task description. (Show Details)

Still seein the logs. I've updated the task description to mention the URL https://meta.wikimedia.org/w/index.php?action=edit&oldid=16367741&title=Config:Dashiki:MultimediaHealth, and the exact message contents of the warning as emitted from that page.

This is not a high priority for Data-Engineering but it is throwing errors that are polluting the logs and wasting others' time. It could be fixed relatively easily without worrying about the long-term plans for the Dashiki dashboarding project.