Page MenuHomePhabricator

DBQueryError: Deadlock found…, Function: MediaWiki\User\User::saveSettings, Query: UPDATE `actor` SET actor_name = ... (from global rename)
Open, Needs TriagePublicPRODUCTION ERROR

Description

Error
  • mwversion: 1.45.0-wmf.11
  • timestamp: 2025-07-28T09:16:46.803Z
  • phpversion: 8.1.33
  • reqId: d050b1f5-ef50-4932-869b-a8bec43efd26
  • Find reqId in Logstash
normalized_message
[{reqId}] {exception_url}   Wikimedia\Rdbms\DBQueryError: Error 1213: Deadlock found when trying to get lock; try restarting transaction
Function: MediaWiki\User\User::saveSettings
Query: UPDATE  `actor` SET actor_name = 'Socks' WHERE actor_user = 7481034
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(1232)
#0/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(1216)Wikimedia\Rdbms\Database->getQueryException(string, int, string, string)
#1/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(1190)Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, int, string, string)
#2/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(647)Wikimedia\Rdbms\Database->reportQueryError(string, int, string, string, bool)
#3/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(1518)Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string)
#4/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/querybuilder/UpdateQueryBuilder.php(332)Wikimedia\Rdbms\Database->update(string, array, array, string, array)
#5/srv/mediawiki/php-1.45.0-wmf.11/includes/user/User.php(2433)Wikimedia\Rdbms\UpdateQueryBuilder->execute()
#6/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(2293)MediaWiki\User\User->MediaWiki\User\{closure}(Wikimedia\Rdbms\DatabaseMySQL, string)
#7/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/DBConnRef.php(127)Wikimedia\Rdbms\Database->doAtomicSection(string, Closure)
#8/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/DBConnRef.php(661)Wikimedia\Rdbms\DBConnRef->__call(string, array)
#9/srv/mediawiki/php-1.45.0-wmf.11/includes/user/User.php(2435)Wikimedia\Rdbms\DBConnRef->doAtomicSection(string, Closure)
#10/srv/mediawiki/php-1.45.0-wmf.11/includes/RenameUser/RenameuserSQL.php(434)MediaWiki\User\User->saveSettings()
#11/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/database/Database.php(2040)MediaWiki\RenameUser\RenameuserSQL->MediaWiki\RenameUser\{closure}(int)
#12/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1514)Wikimedia\Rdbms\Database->runOnTransactionIdleCallbacks(int, array)
#13/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/lbfactory/LBFactory.php(390)Wikimedia\Rdbms\LoadBalancer->runPrimaryTransactionIdleCallbacks(string)
#14/srv/mediawiki/php-1.45.0-wmf.11/includes/libs/rdbms/lbfactory/LBFactory.php(335)Wikimedia\Rdbms\LBFactory->executePostTransactionCallbacks()
#15/srv/mediawiki/php-1.45.0-wmf.11/extensions/EventBus/includes/JobExecutor.php(99)Wikimedia\Rdbms\LBFactory->commitPrimaryChanges(string, int)
#16/srv/mediawiki/rpc/RunSingleJob.php(60)MediaWiki\Extension\EventBus\JobExecutor->execute(array)
#17{main}
Impact

This causes global user rename jobs to get stuck, requiring manual action by a shell user (see T399090).

Additionally (and this will remain even if we fix T399090), it causes the renameuser log entry not to be inserted, and the RenameUserComplete hook not to be fired.

Notes

Relevant code: https://gerrit.wikimedia.org/g/mediawiki/core/+/c7d3d51890ddc05836c600a55e8af227d12a7ce1/includes/RenameUser/RenameuserSQL.php#434

See T399090#11045484 for initial investigation.

Details

Request URL
https://mw-jobrunner.discovery.wmnet/rpc/RunSingleJob.php