Page MenuHomePhabricator

LQT: Deletion of thread failed with MWException: "Post has contaminated reply" in Thread.php::checkReplies
Closed, ResolvedPublicPRODUCTION ERROR

Description

Attached is the full stack trace.

When I re-submitted the form a few minutes later at 19:20 it failed again, this time saying the page was already deleted at 19:08, so apparently the error was fatal, but deletion did succeed internally.

2013-05-20 19:08:26 mw1179 mediawikiwiki: [4cc7abf7] /w/index.php?title=Thread:Project:Support_desk/no_respond_to_any_clicks/actions.&action=delete Exception from line 982 of /usr/local/apache/common-local/php-1.22wmf4/extensions/LiquidThreads/classes/Thread.php: Post 27727 has contaminated reply 27729. Expected 27727, got 27694
#0 /usr/local/apache/common-local/php-1.22wmf4/extensions/LiquidThreads/classes/Thread.php(996): Thread->checkReplies(Array)
#1 /usr/local/apache/common-local/php-1.22wmf4/extensions/LiquidThreads/classes/DeletionController.php(45): Thread->replies()
#2 /usr/local/apache/common-local/php-1.22wmf4/extensions/LiquidThreads/classes/DeletionController.php(48): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Parent thread d...')
#3 /usr/local/apache/common-local/php-1.22wmf4/extensions/LiquidThreads/classes/DeletionController.php(27): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Parent thread d...')
#4 [internal function]: LqtDeletionController::onArticleDeleteComplete(Object(WikiPage), Object(User), '[[Extension:Liq...', 125772, Object(WikitextContent), Object(ManualLogEntry))
#5 /usr/local/apache/common-local/php-1.22wmf4/includes/Hooks.php(196): call_user_func_array('LqtDeletionCont...', Array)
#6 /usr/local/apache/common-local/php-1.22wmf4/includes/GlobalFunctions.php(3834): Hooks::run('ArticleDeleteCo...', Array)
#7 /usr/local/apache/common-local/php-1.22wmf4/includes/WikiPage.php(2642): wfRunHooks('ArticleDeleteCo...', Array)
#8 /usr/local/apache/common-local/php-1.22wmf4/includes/Article.php(1635): WikiPage->doDeleteArticleReal('[[Extension:Liq...', false, 0, true, '')
#9 /usr/local/apache/common-local/php-1.22wmf4/includes/Article.php(1472): Article->doDelete('[[Extension:Liq...', false)
#10 /usr/local/apache/common-local/php-1.22wmf4/includes/actions/DeleteAction.php(45): Article->delete()
#11 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(439): DeleteAction->show()
#12 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(305): MediaWiki->performAction(Object(Article), Object(Title))
#13 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(565): MediaWiki->performRequest()
#14 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(458): MediaWiki->main()
#15 /usr/local/apache/common-local/php-1.22wmf4/index.php(55): MediaWiki->run()
#16 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...')
#17 {main}


Version: unspecified
Severity: major

Details

Reference
bz48655

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:20 AM
bzimport set Reference to bz48655.
bzimport added a subscriber: Unknown Object (MLST).

Not sure if this is normal, but in the event log I noticed that it triggered 2 deletion events[1]:

  • 19:08, 20 May 2013 Krinkle (talk | contribs) deleted Thread:Project:Support desk/no respond to any clicks/actions./reply (Parent thread deleted (LQT: Duplicate thread))
  • 19:08, 20 May 2013 Krinkle (talk | contribs) deleted Thread:Project:Support desk/no respond to any clicks/actions. (LQT: Duplicate thread)

[1] http://www.mediawiki.org/w/index.php?title=Special:Log/delete&user=Krinkle&offset=20130520191000&limit=2

Are you able to reproduce this on another wiki?
Those log entries do look normal - if you delete a thread any replies should go with it.

Just happened to me too upon (apparently successful) deletion of a thread with replies on TWN: https://translatewiki.net/w/i.php?title=Special%3ALog&type=&user=&page=Thread%3ASupport%2Flrc_%282%29&year=&month=-1&hide_patrol_log=1

Post 37066 has contaminated reply 37107. Expected 37066, got 36960

Backtrace:

#0 /www/translatewiki.net/w/extensions/LiquidThreads/classes/Thread.php(1001): Thread->checkReplies(Array)
#1 /www/translatewiki.net/w/extensions/LiquidThreads/classes/DeletionController.php(45): Thread->replies()
#2 /www/translatewiki.net/w/extensions/LiquidThreads/classes/DeletionController.php(48): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Thread padre ca...')
#3 /www/translatewiki.net/w/extensions/LiquidThreads/classes/DeletionController.php(27): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Thread padre ca...')
#4 [internal function]: LqtDeletionController::onArticleDeleteComplete(Object(WikiPage), Object(User), 'duplicate of ?[...', 3438349, Object(WikitextContent), Object(ManualLogEntry))
#5 /www/translatewiki.net/w/includes/Hooks.php(199): call_user_func_array('LqtDeletionCont...', Array)
#6 /www/translatewiki.net/w/includes/GlobalFunctions.php(3851): Hooks::run('ArticleDeleteCo...', Array)
#7 /www/translatewiki.net/w/includes/WikiPage.php(2707): wfRunHooks('ArticleDeleteCo...', Array)
#8 /www/translatewiki.net/w/includes/Article.php(1704): WikiPage->doDeleteArticleReal('duplicate of ?[...', false, 0, true, '')
#9 /www/translatewiki.net/w/includes/Article.php(1547): Article->doDelete('duplicate of ?[...', false)
#10 /www/translatewiki.net/w/includes/actions/DeleteAction.php(45): Article->delete()
#11 /www/translatewiki.net/w/includes/Wiki.php(440): DeleteAction->show()
#12 /www/translatewiki.net/w/includes/Wiki.php(305): MediaWiki->performAction(Object(Article), Object(Title))
#13 /www/translatewiki.net/w/includes/Wiki.php(588): MediaWiki->performRequest()
#14 /www/translatewiki.net/w/includes/Wiki.php(459): MediaWiki->main()
#15 /www/translatewiki.net/w/index.php(55): MediaWiki->run()
#16 {main}

And again; around the same time,
23.33 -rakkaus:#mediawiki-i18n- (23 lines skipped) [03-Oct-2013 21:33:19 UTC] PHP Notice: DB transaction idle or pre-commit callbacks still pending. in /www/translatewiki.net/w/includes/db/Database.php on line 3866


Post 37627 has contaminated reply 37629. Expected 37627, got 37612

Backtrace:

#0 /www/translatewiki.net/w/extensions/LiquidThreads/classes/Thread.php(1001): Thread->checkReplies(Array)
#1 /www/translatewiki.net/w/extensions/LiquidThreads/classes/DeletionController.php(45): Thread->replies()
#2 /www/translatewiki.net/w/extensions/LiquidThreads/classes/DeletionController.php(48): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Thread padre cancellato (dupe)')
#3 /www/translatewiki.net/w/extensions/LiquidThreads/classes/DeletionController.php(27): LqtDeletionController::recursivelyDeleteReplies(Object(Thread), 'Thread padre cancellato (dupe)')
#4 (): LqtDeletionController::onArticleDeleteComplete(Object(WikiPage), Object(User), 'dupe', 3497400, Object(WikitextContent), Object(ManualLogEntry))
#5 /www/translatewiki.net/w/includes/Hooks.php(199): call_user_func_array('LqtDeletionController::onArticleDeleteComplete', Array)
#6 /www/translatewiki.net/w/includes/GlobalFunctions.php(3917): Hooks::run('ArticleDeleteComplete', Array)
#7 /www/translatewiki.net/w/includes/WikiPage.php(2715): wfRunHooks('ArticleDeleteComplete', Array)
#8 /www/translatewiki.net/w/includes/Article.php(1711): WikiPage->doDeleteArticleReal('dupe', false, 0, true, '')
#9 /www/translatewiki.net/w/includes/Article.php(1554): Article->doDelete('dupe', false)
#10 /www/translatewiki.net/w/includes/actions/DeleteAction.php(45): Article->delete()
#11 /www/translatewiki.net/w/includes/Wiki.php(448): DeleteAction->show()
#12 /www/translatewiki.net/w/includes/Wiki.php(312): MediaWiki->performAction(Object(Article), Object(Title))
#13 /www/translatewiki.net/w/includes/Wiki.php(600): MediaWiki->performRequest()
#14 /www/translatewiki.net/w/includes/Wiki.php(467): MediaWiki->main()
#15 /www/translatewiki.net/w/index.php(49): MediaWiki->run()
#16 {main}

Jdforrester-WMF lowered the priority of this task from Medium to Lowest.Aug 4 2016, 11:34 PM
Jdforrester-WMF subscribed.

LiquidThreads has been replaced by StructuredDiscussions on all Wikimedia production wikis (except one, which will be done soon). It is no longer under active development or maintenance, so I'm re-classifying all open LQT tasks as "Lowest" priority.

Nemo_bis raised the priority of this task from Lowest to Medium.Aug 5 2016, 7:32 AM
Krinkle claimed this task.
Krinkle moved this task from Untriaged to Older on the Wikimedia-production-error board.

Unable to reproduce the issue on mediawiki.org, and not seen in WMF Logstash for at least 30 days.

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:12 PM