Page MenuHomePhabricator

PageSplitterHooks: Error: Call to a member function exists() on null
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   Error: Call to a member function exists() on null
exception.trace
from /srv/mediawiki/php-1.38.0-wmf.26/extensions/WikimediaEvents/includes/PageSplitter/PageSplitterHooks.php(36)
#0 /srv/mediawiki/php-1.38.0-wmf.26/includes/HookContainer/HookContainer.php(160): WikimediaEvents\PageSplitter\PageSplitterHooks->onXAnalyticsSetHeader(OutputPage, array)
#1 /srv/mediawiki/php-1.38.0-wmf.26/includes/Hooks.php(137): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#2 /srv/mediawiki/php-1.38.0-wmf.26/extensions/XAnalytics/includes/XAnalytics.php(53): Hooks::run(string, array)
#3 /srv/mediawiki/php-1.38.0-wmf.26/extensions/XAnalytics/includes/XAnalytics.php(79): MediaWiki\Extension\XAnalytics\XAnalytics::generateHeader(OutputPage)
#4 /srv/mediawiki/php-1.38.0-wmf.26/includes/HookContainer/HookContainer.php(338): MediaWiki\Extension\XAnalytics\XAnalytics::onAPIAfterExecute(Flow\Api\ApiFlow)
#5 /srv/mediawiki/php-1.38.0-wmf.26/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#6 /srv/mediawiki/php-1.38.0-wmf.26/includes/api/ApiHookRunner.php(66): MediaWiki\HookContainer\HookContainer->run(string, array)
#7 /srv/mediawiki/php-1.38.0-wmf.26/includes/api/ApiMain.php(1893): MediaWiki\Api\ApiHookRunner->onAPIAfterExecute(Flow\Api\ApiFlow)
#8 /srv/mediawiki/php-1.38.0-wmf.26/includes/api/ApiMain.php(839): ApiMain->executeAction()
#9 /srv/mediawiki/php-1.38.0-wmf.26/extensions/MassMessage/includes/Job/MassMessageJob.php(334): ApiMain->execute()
#10 /srv/mediawiki/php-1.38.0-wmf.26/extensions/MassMessage/includes/Job/MassMessageJob.php(285): MediaWiki\MassMessage\Job\MassMessageJob->makeAPIRequest(array, User)
#11 /srv/mediawiki/php-1.38.0-wmf.26/extensions/MassMessage/includes/Job/MassMessageJob.php(468): MediaWiki\MassMessage\Job\MassMessageJob->addFlowTopic(string, string)
#12 /srv/mediawiki/php-1.38.0-wmf.26/extensions/MassMessage/includes/Job/MassMessageJob.php(214): MediaWiki\MassMessage\Job\MassMessageJob->deliverMessage(Title, string, string, NULL, MediaWiki\MassMessage\LanguageAwareText, array)
#13 /srv/mediawiki/php-1.38.0-wmf.26/extensions/MassMessage/includes/Job/MassMessageJob.php(69): MediaWiki\MassMessage\Job\MassMessageJob->sendMessage()
#14 /srv/mediawiki/php-1.38.0-wmf.26/extensions/EventBus/includes/JobExecutor.php(79): MediaWiki\MassMessage\Job\MassMessageJob->run()
#15 /srv/mediawiki/rpc/RunSingleJob.php(76): MediaWiki\Extension\EventBus\JobExecutor->execute(array)
#16 {main}
Impact

Unclear.

Notes

Saw a spike of these in both 1.38.0-wmf.26 and 1.39.0-wmf.21 (T300203) around 15:14 UTC.

Event Timeline

brennen triaged this task as Unbreak Now! priority.Mar 21 2022, 4:11 PM

Tentatively treating this as a train blocker - we didn't notice it last week and it's happening at a pretty high rate.

PageSplitterHooks was added recently (last Monday) for T301584 by @cjming.

Change 772438 had a related patch set uploaded (by Phuedx; author: Phuedx):

[mediawiki/extensions/WikimediaEvents@master] PageSplitter: OutputPage::getTitle() can return null

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

In T304331#7793554, @Majavah wrote:

working on a patch

Ah! My apologies @Majavah. I didn't see your comment before I created the patch.

Change 772439 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/WikimediaEvents@master] PageSplitter: check for OutputPage::getTitle() returning null

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

In T304331#7793554, @Majavah wrote:

working on a patch

Ah! My apologies @Majavah. I didn't see your comment before I created the patch.

No worries! I uploaded mine anyway since it fixes both places with the same issue and not just that one.

Change 772438 abandoned by Phuedx:

[mediawiki/extensions/WikimediaEvents@master] PageSplitter: OutputPage::getTitle() can return null

Reason:

See I601230c32f3fbbb2f5019ba3da7ef7baefbf9e87

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

Change 772363 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/WikimediaEvents@wmf/1.38.0-wmf.26] PageSplitter: check for OutputPage::getTitle() returning null

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

Change 772364 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/WikimediaEvents@wmf/1.39.0-wmf.1] PageSplitter: check for OutputPage::getTitle() returning null

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

Change 772365 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/WikimediaEvents@wmf/1.39.0-wmf.2] PageSplitter: check for OutputPage::getTitle() returning null

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

Change 772439 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] PageSplitter: check for OutputPage::getTitle() returning null

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

Change 772363 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.38.0-wmf.26] PageSplitter: check for OutputPage::getTitle() returning null

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

Change 772364 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.39.0-wmf.1] PageSplitter: check for OutputPage::getTitle() returning null

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

Change 772365 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.39.0-wmf.2] PageSplitter: check for OutputPage::getTitle() returning null

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

Mentioned in SAL (#wikimedia-operations) [2022-03-21T16:53:44Z] <taavi@deploy1002> Synchronized php-1.38.0-wmf.26/extensions/WikimediaEvents/includes/PageSplitter/PageSplitterHooks.php: Backport: [[gerrit:772363|PageSplitter: check for OutputPage::getTitle() returning null (T304331)]] (duration: 00m 51s)

Mentioned in SAL (#wikimedia-operations) [2022-03-21T16:55:43Z] <taavi@deploy1002> Synchronized php-1.39.0-wmf.1/extensions/WikimediaEvents/includes/PageSplitter/PageSplitterHooks.php: Backport: [[gerrit:772364|PageSplitter: check for OutputPage::getTitle() returning null (T304331)]] (duration: 00m 50s)