Page MenuHomePhabricator

TermboxView.php: Call to a member function getSerialization() on a non-object (null)
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error

Request ID: XV1UNQpAAD0AAATefJMAAACK
Request URL: /wiki/Special:NewItem

message
[XV1UNQpAAD0AAATefJMAAACK] /wiki/Special:NewItem   BadMethodCallException from line 66 of /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/ParserOutput/TermboxView.php: Call to a member function getSerialization() on a non-object (null)
trace
#0 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/view/src/ItemView.php(87): Wikibase\Repo\ParserOutput\TermboxView->getTitleHtml(NULL)
#1 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/ParserOutput/FullEntityParserOutputGenerator.php(229): Wikibase\View\ItemView->getTitleHtml(Wikibase\DataModel\Entity\Item)
#2 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/ParserOutput/FullEntityParserOutputGenerator.php(161): Wikibase\Repo\ParserOutput\FullEntityParserOutputGenerator->addHtmlToParserOutput(ParserOutput, Wikibase\Lib\Store\EntityRevision, Wikibase\Lib\Store\EntityInfo)
#3 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/ParserOutput/StatsdTimeRecordingEntityParserOutputGenerator.php(48): Wikibase\Repo\ParserOutput\FullEntityParserOutputGenerator->getParserOutput(Wikibase\Lib\Store\EntityRevision, boolean)
#4 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/Content/EntityContent.php(289): Wikibase\Repo\ParserOutput\StatsdTimeRecordingEntityParserOutputGenerator->getParserOutput(Wikibase\Lib\Store\EntityRevision, boolean)
#5 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/Content/ItemContent.php(232): Wikibase\EntityContent->getParserOutputFromEntityView(NULL, ParserOptions, boolean)
#6 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/Content/EntityContent.php(228): Wikibase\ItemContent->getParserOutputFromEntityView(NULL, ParserOptions, boolean)
#7 /srv/mediawiki/php-1.34.0-wmf.19/includes/Revision/RenderedRevision.php(266): Wikibase\EntityContent->getParserOutput(Title, NULL, ParserOptions, boolean)
#8 /srv/mediawiki/php-1.34.0-wmf.19/includes/Revision/RenderedRevision.php(234): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(Wikibase\ItemContent, boolean)
#9 /srv/mediawiki/php-1.34.0-wmf.19/includes/Revision/RevisionRenderer.php(222): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string)
#10 /srv/mediawiki/php-1.34.0-wmf.19/includes/Revision/RevisionRenderer.php(151): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, array)
#11 [internal function]: Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#3(MediaWiki\Revision\RenderedRevision, array)
#12 /srv/mediawiki/php-1.34.0-wmf.19/includes/Revision/RenderedRevision.php(197): call_user_func(Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#3;3381, MediaWiki\Revision\RenderedRevision, array)
#13 /srv/mediawiki/php-1.34.0-wmf.19/includes/Storage/DerivedPageDataUpdater.php(1290): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#14 [internal function]: MediaWiki\Storage\DerivedPageDataUpdater->getCanonicalParserOutput()
#15 /srv/mediawiki/php-1.34.0-wmf.19/includes/edit/PreparedEdit.php(104): call_user_func(array)
#16 /srv/mediawiki/php-1.34.0-wmf.19/includes/edit/PreparedEdit.php(119): MediaWiki\Edit\PreparedEdit->getOutput()
#17 /srv/mediawiki/php-1.34.0-wmf.19/includes/Storage/DerivedPageDataUpdater.php(1268): MediaWiki\Edit\PreparedEdit->__get(string)
#18 /srv/mediawiki/php-1.34.0-wmf.19/includes/page/WikiPage.php(2026): MediaWiki\Storage\DerivedPageDataUpdater->getPreparedEdit()
#19 /srv/mediawiki/php-1.34.0-wmf.19/extensions/SpamBlacklist/includes/SpamBlacklistHooks.php(31): WikiPage->prepareContentForEdit(Wikibase\ItemContent)
#20 /srv/mediawiki/php-1.34.0-wmf.19/includes/Hooks.php(174): SpamBlacklistHooks::filterMergedContent(RequestContext, Wikibase\ItemContent, Status, string, User, boolean, string)
#21 /srv/mediawiki/php-1.34.0-wmf.19/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
#22 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditFilterHookRunner.php(116): Hooks::run(string, array)
#23 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/EditEntity/StatsdTimeRecordingEditFilterHookRunner.php(44): Wikibase\Repo\EditEntity\MediawikiEditFilterHookRunner->run(Wikibase\DataModel\Entity\Item, User, string)
#24 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditEntity.php(705): Wikibase\Repo\EditEntity\StatsdTimeRecordingEditFilterHookRunner->run(Wikibase\DataModel\Entity\Item, User, string)
#25 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/EditEntity/StatsdSaveTimeRecordingEditEntity.php(74): Wikibase\Repo\EditEntity\MediawikiEditEntity->attemptSave(Wikibase\DataModel\Entity\Item, string, integer, string, boolean, array)
#26 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/Specials/SpecialWikibaseRepoPage.php(186): Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity->attemptSave(Wikibase\DataModel\Entity\Item, string, integer, string)
#27 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/Specials/SpecialNewEntity.php(164): Wikibase\Repo\Specials\SpecialWikibaseRepoPage->saveEntity(Wikibase\DataModel\Entity\Item, Wikibase\Summary, string, integer)
#28 /srv/mediawiki/php-1.34.0-wmf.19/includes/htmlform/HTMLForm.php(689): Closure$Wikibase\Repo\Specials\SpecialNewEntity::createForm(array, OOUIHTMLForm)
#29 /srv/mediawiki/php-1.34.0-wmf.19/includes/htmlform/HTMLForm.php(581): HTMLForm->trySubmit()
#30 /srv/mediawiki/php-1.34.0-wmf.19/extensions/Wikibase/repo/includes/Specials/SpecialNewEntity.php(107): HTMLForm->tryAuthorizedSubmit()
#31 /srv/mediawiki/php-1.34.0-wmf.19/includes/specialpage/SpecialPage.php(571): Wikibase\Repo\Specials\SpecialNewEntity->execute(NULL)
#32 /srv/mediawiki/php-1.34.0-wmf.19/includes/specialpage/SpecialPageFactory.php(582): SpecialPage->run(NULL)
#33 /srv/mediawiki/php-1.34.0-wmf.19/includes/MediaWiki.php(296): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
#34 /srv/mediawiki/php-1.34.0-wmf.19/includes/MediaWiki.php(892): MediaWiki->performRequest()
#35 /srv/mediawiki/php-1.34.0-wmf.19/includes/MediaWiki.php(523): MediaWiki->main()
#36 /srv/mediawiki/php-1.34.0-wmf.19/index.php(42): MediaWiki->run()
#37 /srv/mediawiki/w/index.php(3): include(string)
#38 {main}
Impact

8 hits in logs in the last hour, 17 in the last 24 hours, not seen in logs before that.

Notes

Since it's a new error, it's blocking the train.

Event Timeline

Looks like this bug always existed in our code but it became apparent with the flipping on of termbox on Wikidata.

It appears to be caused when mobile users try to use Special:NewItem it however isn't shown when testing mobile view on desktop with useformat=mobile because after creating a new item you're redirected to the desktop version again.

We're taking a look at it now.

Change 531525 had a related patch set uploaded (by Jakob; owner: Tarrow):
[mediawiki/extensions/Wikibase@master] Hack to avoid trying to termbox render page before save

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

Change 531527 had a related patch set uploaded (by Tarrow; owner: Tarrow):
[mediawiki/extensions/Wikibase@wmf/1.34.0-wmf.19] Hack to avoid trying to termbox render page before save

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

Change 531525 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Hack to avoid trying to termbox render page before save

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

Change 531527 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@wmf/1.34.0-wmf.19] Hack to avoid trying to termbox render page before save

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

Mentioned in SAL (#wikimedia-operations) [2019-08-22T07:54:30Z] <tarrow@deploy1001> Synchronized php-1.34.0-wmf.19/extensions/Wikibase/repo/: Backport for UBN [[gerrit:531527|Hack to avoid trying to termbox render page before save (T230937)]] (duration: 00m 56s)

Tarrow claimed this task.

Backport is now merged and testing on both test.wikidata.org and wikidata.org seems to show this no longer happens.

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