Web
- mwversion: 1.39.0-wmf.4
- reqId: 8d190446-8160-4261-8077-c1ff88b72682
- Find reqId in Logstash
[{reqId}] {exception_url} PHP Deprecated: Caller from LinkBatch::doQuery (for Skin::preloadExistence) ignored an error originally raised from IndexPager::buildQueryInfo (LogPager): [1969] Query execution was interrupted (max_statement_time exceeded) (db
#8 /srv/mediawiki/php-1.39.0-wmf.4/includes/pager/IndexPager.php(459): Wikimedia\Rdbms\DBConnRef->select(array, array, array, string, array, array) #9 /srv/mediawiki/php-1.39.0-wmf.4/includes/pager/IndexPager.php(283): IndexPager->reallyDoQuery(string, integer, boolean) #10 /srv/mediawiki/php-1.39.0-wmf.4/includes/logging/LogPager.php(490): IndexPager->doQuery() #11 /srv/mediawiki/php-1.39.0-wmf.4/includes/pager/IndexPager.php(611): LogPager->doQuery() #12 /srv/mediawiki/php-1.39.0-wmf.4/includes/specials/SpecialLog.php(282): IndexPager->getBody() #13 /srv/mediawiki/php-1.39.0-wmf.4/includes/specials/SpecialLog.php(163): SpecialLog->show(FormOptions, array) #14 /srv/mediawiki/php-1.39.0-wmf.4/includes/specialpage/SpecialPage.php(671): SpecialLog->execute(string)
#11 /srv/mediawiki/php-1.39.0-wmf.4/includes/cache/LinkBatch.php(238): LinkBatch->doQuery() #12 /srv/mediawiki/php-1.39.0-wmf.4/includes/cache/LinkBatch.php(212): LinkBatch->executeInto(LinkCache) #13 /srv/mediawiki/php-1.39.0-wmf.4/includes/skins/Skin.php(457): LinkBatch->execute() #14 /srv/mediawiki/php-1.39.0-wmf.4/includes/skins/Skin.php(301): Skin->preloadExistence() #15 /srv/mediawiki/php-1.39.0-wmf.4/includes/skins/SkinTemplate.php(146): Skin->initPage(OutputPage) #16 /srv/mediawiki/php-1.39.0-wmf.4/includes/OutputPage.php(2808): SkinTemplate->outputPage() #17 /srv/mediawiki/php-1.39.0-wmf.4/includes/exception/MWExceptionRenderer.php(157): OutputPage->output() .. #22 /srv/mediawiki/php-1.39.0-wmf.4/index.php(53): MediaWiki->run()
API
ApiQueryUserContribs::execute
exception trace,lines=10 #10 /srv/mediawiki/php-1.39.0-wmf.4/includes/block/DatabaseBlock.php(297): Wikimedia\Rdbms\DBConnRef->select(array, array, string, string, array, array) #11 /srv/mediawiki/php-1.39.0-wmf.4/includes/block/DatabaseBlock.php(892): MediaWiki\Block\DatabaseBlock::newLoad(User, integer, boolean, string) .. #16 /srv/mediawiki/php-1.39.0-wmf.4/includes/MediaWiki.php(789): MediaWiki\Block\BlockManager->trackBlockWithCookie(User, WebResponse) #17 /srv/mediawiki/php-1.39.0-wmf.4/includes/api/ApiMain.php(897): MediaWiki::preOutputCommit(DerivativeContext) #18 /srv/mediawiki/php-1.39.0-wmf.4/includes/api/ApiMain.php(842): ApiMain->executeActionWithErrorHandling() #19 /srv/mediawiki/php-1.39.0-wmf.4/api.php(90): ApiMain->execute() #20 /srv/mediawiki/php-1.39.0-wmf.4/api.php(45): wfApiMain() #21 /srv/mediawiki/w/api.php(3): require(string)
Impact
This is a confusing deprecation warning, and causes log noise. What is happening is that we have code (IndexPager::buildQueryInfo) on Special:Contributions and Special:Log that runs a query. This query can sometimes time out after 30 seconds. Those time outs have their own task and is not this task (linked below).
The code is then mishandling the timeout error, and as a result the next code to run a query encounters the Deprecated: Caller … ignored an error originally raised from warning from Rdbms.
This task is about the mishandling of the timeout error, and the subsequent (confusing) deprecation warning.
See also
- The same kind of warning emitted by code on Special:RecentChanges. This has its own query and needs its own fix. T304085: PHP Deprecated: Caller ignored an error raised from SpecialRecentChanges::doMainQuery (max_statement_time exceeded)
- A common database timeout on Special:Contributions is for the namespace filter, {T257002}
- A common execution time timeout on Special:Contributions is when rendering many rows, T378764: Special:Contributions takes over a second to render 500 rows (2024)
- A timeout on SpecialRecentChangesLinked, T387648: PHP Deprecated: Caller from … ignored an error originally raised from SpecialRecentChangesLinked