Page MenuHomePhabricator

SqlBagOStuff::set: Flushing an explicit transaction, getting out of sync!
Closed, ResolvedPublic

Description

Observed at https://integration.wikimedia.org/ci/job/mwext-AbuseFilter-testextensions-master/357/console

21:59:52 ...have af_actions field in abuse_filter table.
21:59:52 ...have af_global field in abuse_filter table.
21:59:52 Adding afl_rev_id field to table abuse_filter_log ...done.
21:59:52 ...index afl_filter_timestamp already set on abuse_filter_log table.
21:59:52 Adding af_group field to table abuse_filter ...done.
21:59:52 ...index afl_wiki_timestamp already set on abuse_filter_log table.
21:59:52 PHP Notice: SqlBagOStuff::set: Flushing an explicit transaction, getting out of sync! [Called from DatabaseBase::commit in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php at line 3486] in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php on line 303
21:59:52 PHP Stack trace:
21:59:52 PHP 1. {main}() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:0
21:59:52 PHP 2. require_once() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:206
21:59:52 PHP 3. UpdateMediaWiki->execute() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/doMaintenance.php:109
21:59:52 PHP 4. DatabaseUpdater->doUpdates() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:163
21:59:52 PHP 5. DatabaseUpdater->runUpdates() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:406
21:59:52 PHP 6. call_user_func_array() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:441
21:59:52 PHP 7. AbuseFilterHooks::createAbuseFilterUser() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:0
21:59:52 PHP 8. Message->text() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/extensions/AbuseFilter/AbuseFilter.hooks.php:527
21:59:52 PHP 9. Message->toString() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/Message.php:729
21:59:52 PHP 10. Message->fetchMessage() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/Message.php:637
21:59:52 PHP 11. MessageCache->get() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/Message.php:1012
21:59:52 PHP 12. MessageCache->getMessageFromFallbackChain() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:754
21:59:52 PHP 13. MessageCache->getMsgFromNamespace() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:816
21:59:52 PHP 14. MessageCache->load() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:897
21:59:52 PHP 15. BagOStuff->add() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:328
21:59:52 PHP 16. SqlBagOStuff->set() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/objectcache/BagOStuff.php:275
21:59:52 PHP 17. DatabaseBase->commit() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/objectcache/SqlBagOStuff.php:382
21:59:52 PHP 18. wfWarn() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php:3486
21:59:52 PHP 19. MWDebug::warning() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/GlobalFunctions.php:1199
21:59:52 PHP 20. MWDebug::sendMessage() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:157
21:59:52 PHP 21. trigger_error() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:303
21:59:52
21:59:52 Notice: SqlBagOStuff::set: Flushing an explicit transaction, getting out of sync! [Called from DatabaseBase::commit in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php at line 3486] in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php on line 303
21:59:52
21:59:52 Call Stack:
21:59:52 0.0005 728528 1. {main}() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:0
21:59:52 0.0028 1319952 2. require_once('/srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/doMaintenance.php') /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:206
21:59:52 0.0594 13804184 3. UpdateMediaWiki->execute() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/doMaintenance.php:109
21:59:52 0.0765 18026832 4. DatabaseUpdater->doUpdates() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:163
21:59:52 0.1343 18602144 5. DatabaseUpdater->runUpdates() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:406
21:59:52 0.1525 18607040 6. call_user_func_array() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:441
21:59:52 0.1525 18607528 7. AbuseFilterHooks::createAbuseFilterUser() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:0
21:59:52 0.1536 18890832 8. Message->text() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/extensions/AbuseFilter/AbuseFilter.hooks.php:527
21:59:52 0.1536 18890968 9. Message->toString() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/Message.php:729
21:59:52 0.1536 18890968 10. Message->fetchMessage() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/Message.php:637
21:59:52 0.1553 19268792 11. MessageCache->get() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/Message.php:1012
21:59:52 0.1554 19270136 12. MessageCache->getMessageFromFallbackChain() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:754
21:59:52 0.1554 19270352 13. MessageCache->getMsgFromNamespace() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:816
21:59:52 0.1554 19270352 14. MessageCache->load() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:897
21:59:52 0.1559 19272352 15. BagOStuff->add() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/cache/MessageCache.php:328
21:59:52 0.1562 19272360 16. SqlBagOStuff->set() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/objectcache/BagOStuff.php:275
21:59:52 0.1563 19273016 17. DatabaseBase->commit() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/objectcache/SqlBagOStuff.php:382
21:59:52 0.1564 19273224 18. wfWarn() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php:3486
21:59:52 0.1564 19273600 19. MWDebug::warning() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/GlobalFunctions.php:1199
21:59:52 0.1565 19280488 20. MWDebug::sendMessage() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:157
21:59:52 0.1565 19280920 21. trigger_error() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:303
21:59:52
21:59:52 ...site_stats is populated...done.
21:59:52 PHP Notice: DatabaseUpdater::doUpdates: No transaction to commit, something got out of sync! [Called from DatabaseBase::commit in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php at line 3490] in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php on line 303
21:59:52 PHP Stack trace:
21:59:52 PHP 1. {main}() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:0
21:59:52 PHP 2. require_once() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:206
21:59:52 PHP 3. UpdateMediaWiki->execute() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/doMaintenance.php:109
21:59:52 PHP 4. DatabaseUpdater->doUpdates() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:163
21:59:52 PHP 5. DatabaseBase->commit() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:421
21:59:52 PHP 6. wfWarn() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php:3490
21:59:52 PHP 7. MWDebug::warning() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/GlobalFunctions.php:1199
21:59:52 PHP 8. MWDebug::sendMessage() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:157
21:59:52 PHP 9. trigger_error() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:303
21:59:52
21:59:52 Notice: DatabaseUpdater::doUpdates: No transaction to commit, something got out of sync! [Called from DatabaseBase::commit in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php at line 3490] in /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php on line 303
21:59:52
21:59:52 Call Stack:
21:59:52 0.0005 728528 1. {main}() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:0
21:59:52 0.0028 1319952 2. require_once('/srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/doMaintenance.php') /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:206
21:59:52 0.0594 13804184 3. UpdateMediaWiki->execute() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/doMaintenance.php:109
21:59:52 0.0765 18026832 4. DatabaseUpdater->doUpdates() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/maintenance/update.php:163
21:59:52 0.2167 25618016 5. DatabaseBase->commit() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/installer/DatabaseUpdater.php:421
21:59:52 0.2167 25618368 6. wfWarn() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/db/Database.php:3490
21:59:52 0.2167 25618744 7. MWDebug::warning() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/GlobalFunctions.php:1199
21:59:52 0.2167 25620728 8. MWDebug::sendMessage() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:157
21:59:52 0.2167 25621168 9. trigger_error() /srv/ssd/jenkins-slave/workspace/mwext-AbuseFilter-testextensions-master/includes/debug/Debug.php:303
21:59:52
21:59:52 Checking existence of old default messages...done.
21:59:52 Populating rev_len column


Version: 1.24rc
Severity: major
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=61848

Details

Reference
bz67905

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 3:41 AM
bzimport set Reference to bz67905.
bzimport added a subscriber: Unknown Object (MLST).

Krinkle: How specific is this to AbuseFilter? Which problems does this create in the worst case?

I don't know. It's a very low level error. Uncommitted database transactions dangling around and being implicitly rejected or committed afterwards by the Database wrapper is a Very Bad Thing (TM). Could cause anything from a user action just not happening, to it happening only half and leaving the database in a terrible state (e.g. edit happened, got flagged as possible abuse, but the abuse report wasn't saved, or it was written to the log, but the edit wasn't actually made).

I only saw this in the backend when running a script, I haven't been able to map it to a front-end action.

Probably a dupe of bug 61848.

T63848 is resolved now. Has this happened again? Should this task remain open?

Similar. It was never a dupe though.

aaron claimed this task.
aaron subscribed.

mysql uses separate connections for sqlbagostuff and sqlite was fixed in d9385014fe383d5e2382b3def4479cf583336ae0.