Page MenuHomePhabricator

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

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

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptWed, Aug 21, 2:51 PM
zeljkofilipin triaged this task as Unbreak Now! priority.Wed, Aug 21, 2:51 PM
Restricted Application added a subscriber: Liuxinyu970226. · View Herald TranscriptWed, Aug 21, 2:51 PM

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 closed this task as Resolved.Thu, Aug 22, 8:03 AM
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".Wed, Aug 28, 11:05 PM