Job execution exception on wmf.7 happening since Nov 8, 2021 @ 20:06:49.528: https://logstash.wikimedia.org/goto/25b03cc33092b0b14889229636a3fa84
Example:
{
"_index": "logstash-deploy-2021.11.11",
"_type": "_doc",
"_id": "vXCVDn0Bf67HOmRfdPIW",
"_version": 1,
"_score": null,
"_source": {
"phpversion": "7.2.34-18+0~20210223.60+debian10~1.gbpb21322+wmf3",
"host": "mw1338",
"caught_by": "other",
"channel": "exception",
"message_checksum": "e33dd19c92cc84abfd56692ca3b123ae",
"http_method": "POST",
"@version": 1,
"timestamp": "2021-11-11T10:40:14+00:00",
"program": "mediawiki",
"shard": "s7",
"tags": [
"input-kafka-rsyslog-udp-localhost",
"rsyslog-udp-localhost",
"kafka",
"es",
"es"
],
"@timestamp": "2021-11-11T10:40:14.683Z",
"monolog_level": 400,
"logsource": "mw1338",
"servergroup": "jobrunner",
"severity": "err",
"message": "[50ec917e-24cb-403d-a60b-558b5c41e21c] /rpc/RunSingleJob.php TypeError: Argument 2 passed to Parser::preSaveTransform() must implement interface MediaWiki\\Page\\PageReference, null given, called in /srv/mediawiki/php-1.38.0-wmf.7/includes/preferences/DefaultPreferencesFactory.php on line 595",
"server": "jobrunner.discovery.wmnet",
"wiki": "metawiki",
"exception_url": "/rpc/RunSingleJob.php",
"level": "ERROR",
"normalized_message": "[{reqId}] {exception_url} TypeError: Argument 2 passed to Parser::preSaveTransform() must implement interface MediaWiki\\Page\\PageReference, null given, called in /srv/mediawiki/php-1.38.0-wmf.7/includes/preferences/DefaultPreferencesFactory.php on line ",
"mwversion": "1.38.0-wmf.7",
"type": "mediawiki",
"reqId": "50ec917e-24cb-403d-a60b-558b5c41e21c",
"referrer": null,
"facility": "user",
"url": "/rpc/RunSingleJob.php",
"exception": {
"file": "/srv/mediawiki/php-1.38.0-wmf.7/includes/parser/Parser.php:4554",
"class": "TypeError",
"message": "Argument 2 passed to Parser::preSaveTransform() must implement interface MediaWiki\\Page\\PageReference, null given, called in /srv/mediawiki/php-1.38.0-wmf.7/includes/preferences/DefaultPreferencesFactory.php on line 595",
"trace": "from /srv/mediawiki/php-1.38.0-wmf.7/includes/parser/Parser.php(4554)\n#0 /srv/mediawiki/php-1.38.0-wmf.7/includes/preferences/DefaultPreferencesFactory.php(595): Parser->preSaveTransform(string, NULL, User, ParserOptions)\n#1 /srv/mediawiki/php-1.38.0-wmf.7/includes/preferences/DefaultPreferencesFactory.php(238): MediaWiki\\Preferences\\DefaultPreferencesFactory->profilePreferences(User, RequestContext, array)\n#2 /srv/mediawiki/php-1.38.0-wmf.7/extensions/GlobalPreferences/includes/GlobalPreferencesFactory.php(117): MediaWiki\\Preferences\\DefaultPreferencesFactory->getFormDescriptor(User, RequestContext)\n#3 /srv/mediawiki/php-1.38.0-wmf.7/extensions/GlobalPreferences/includes/GlobalPreferencesFactory.php(531): GlobalPreferences\\GlobalPreferencesFactory->getFormDescriptor(User, RequestContext)\n#4 /srv/mediawiki/php-1.38.0-wmf.7/extensions/TheWikipediaLibrary/includes/PreferenceHelper.php(39): GlobalPreferences\\GlobalPreferencesFactory->setGlobalPreferences(User, array, RequestContext)\n#5 /srv/mediawiki/php-1.38.0-wmf.7/extensions/TheWikipediaLibrary/includes/TheWikipediaLibraryHooks.php(137): MediaWiki\\Extension\\TheWikipediaLibrary\\PreferenceHelper::setGlobalPreference(User, string, string)\n#6 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/MWCallableUpdate.php(38): TheWikipediaLibraryHooks::{closure}()\n#7 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdates.php(515): MWCallableUpdate->doUpdate()\n#8 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdates.php(391): DeferredUpdates::attemptUpdate(MWCallableUpdate, Wikimedia\\Rdbms\\LBFactoryMulti)\n#9 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdates.php(234): DeferredUpdates::run(MWCallableUpdate, Wikimedia\\Rdbms\\LBFactoryMulti, Monolog\\Logger, BufferingStatsdDataFactory, string)\n#10 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdatesScope.php(267): DeferredUpdates::{closure}(MWCallableUpdate, integer)\n#11 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdatesScope.php(196): DeferredUpdatesScope->processStageQueue(integer, integer, Closure)\n#12 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdates.php(237): DeferredUpdatesScope->processUpdates(integer, Closure)\n#13 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdatesScope.php(267): DeferredUpdates::{closure}(AtomicSectionUpdate, integer)\n#14 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdatesScope.php(196): DeferredUpdatesScope->processStageQueue(integer, integer, Closure)\n#15 /srv/mediawiki/php-1.38.0-wmf.7/includes/deferred/DeferredUpdates.php(242): DeferredUpdatesScope->processUpdates(integer, Closure)\n#16 /srv/mediawiki/php-1.38.0-wmf.7/extensions/EventBus/includes/JobExecutor.php(105): DeferredUpdates::doUpdates()\n#17 /srv/mediawiki/rpc/RunSingleJob.php(76): MediaWiki\\Extension\\EventBus\\JobExecutor->execute(array)\n#18 {main}",
"code": 0
}
},
"fields": {
"@timestamp": [
"2021-11-11T10:40:14.683Z"
]
},
"highlight": {
"normalized_message.keyword": [
"@kibana-highlighted-field@[{reqId}] {exception_url} TypeError: Argument 2 passed to Parser::preSaveTransform() must implement interface MediaWiki\\Page\\PageReference, null given, called in /srv/mediawiki/php-1.38.0-wmf.7/includes/preferences/DefaultPreferencesFactory.php on line @/kibana-highlighted-field@"
],
"channel.keyword": [
"@kibana-highlighted-field@exception@/kibana-highlighted-field@"
],
"type": [
"@kibana-highlighted-field@mediawiki@/kibana-highlighted-field@"
]
},
"sort": [
1636627214683
]
}Not super-frequent, 4K occurrences in a few days, but enough to trigger the exception & error monitoring threshold: https://grafana.wikimedia.org/d/000000438/mediawiki-exceptions-alerts?orgId=1&var-datasource=eqiad%20prometheus%2Fops&viewPanel=18&from=1636626110938&to=1636627968819
Adding a few heuristic tags based on error message (apologies if not accurate).

