Page MenuHomePhabricator

[REPO] [TECH] LogicException: This content object is empty
Open, Needs TriagePublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   LogicException: This content object is empty
error.stack_trace
from /srv/mediawiki/php-1.42.0-wmf.9/extensions/Wikibase/repo/includes/Content/ItemContent.php(154)
#0 /srv/mediawiki/php-1.42.0-wmf.9/extensions/Wikibase/repo/includes/Content/ItemContent.php(168): Wikibase\Repo\Content\ItemContent->getItem()
#1 /srv/mediawiki/php-1.42.0-wmf.9/extensions/Wikibase/repo/includes/Content/EntityHandler.php(376): Wikibase\Repo\Content\ItemContent->getEntity()
#2 /srv/mediawiki/php-1.42.0-wmf.9/includes/editpage/PreloadedContentBuilder.php(94): Wikibase\Repo\Content\EntityHandler->serializeContent(Wikibase\Repo\Content\ItemContent, string)
#3 /srv/mediawiki/php-1.42.0-wmf.9/includes/api/ApiQueryInfo.php(446): MediaWiki\EditPage\PreloadedContentBuilder->getPreloadedContent(MediaWiki\Page\PageIdentityValue, MediaWiki\User\User, string, array, NULL)
#4 /srv/mediawiki/php-1.42.0-wmf.9/includes/api/ApiQueryInfo.php(295): ApiQueryInfo->extractPageInfo(integer, MediaWiki\Title\Title)
#5 /srv/mediawiki/php-1.42.0-wmf.9/includes/api/ApiQuery.php(698): ApiQueryInfo->execute()
#6 /srv/mediawiki/php-1.42.0-wmf.9/includes/api/ApiMain.php(1931): ApiQuery->execute()
#7 /srv/mediawiki/php-1.42.0-wmf.9/includes/api/ApiMain.php(908): ApiMain->executeAction()
#8 /srv/mediawiki/php-1.42.0-wmf.9/includes/api/ApiMain.php(879): ApiMain->executeActionWithErrorHandling()
#9 /srv/mediawiki/php-1.42.0-wmf.9/api.php(95): ApiMain->execute()
#10 /srv/mediawiki/php-1.42.0-wmf.9/api.php(48): wfApiMain()
#11 /srv/mediawiki/w/api.php(3): require(string)
#12 {main}
Impact
Notes

A spike of 195 of these in 1.42.0-wmf.9 (T350085).

Details

Request URL
https://www.wikidata.org/w/api.php?action=query&format=*&formatversion=*&ineditintrocustom=*&inpreloadcustom=*&inpreloadparams=*&inprop=*&intestactions=*&intestactionsautocreate=*&intestactionsdetail=*&prop=*&rvprop=*&titles=*

Event Timeline

Reduced request URL: https://www.wikidata.org/w/api.php?action=query&format=json&prop=info&titles=%40%40GV29t&formatversion=2&inprop=preloadcontent

i.e., action=info with inprop=preloadcontent for the nonsensical title @@GV29t.

I have a feeling PreloadedContentBuilder::getPreloadedContent() should be checking $content->isValid() before trying to work with the content? But I’m not sure. (And this is just a quick first look, I don’t intend to look much further into this before we’ve prioritized it.)

Lucas_Werkmeister_WMDE renamed this task from LogicException: This content object is empty to [REPO] [TECH] LogicException: This content object is empty.Feb 9 2024, 3:22 PM