Last modified: 2013-02-07 16:31:28 UTC

Wikimedia Bugzilla is closed!

Wikimedia has migrated from Bugzilla to Phabricator. Bug reports should be created and updated in Wikimedia Phabricator instead. Please create an account in Phabricator and add your Bugzilla email address to it.
Wikimedia Bugzilla is read-only. If you try to edit or create any bug report in Bugzilla you will be shown an intentional error message.
In order to access the Phabricator task corresponding to a Bugzilla report, just remove "static-" from its URL.
You could still run searches in Bugzilla or access your list of votes but bug reports will obviously not be up-to-date in Bugzilla.
Bug 43693 - All LiquidTreads actions done twice
All LiquidTreads actions done twice
Product: MediaWiki extensions
Classification: Unclassified
LiquidThreads (Other open bugs)
All All
: Highest blocker (vote)
: MW 1.21 version
Assigned To: Siebrand Mazeland
Depends on:
Blocks: 39480
  Show dependency treegraph
Reported: 2013-01-07 11:02 UTC by Niklas Laxström
Modified: 2013-02-07 16:31 UTC (History)
7 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Description Niklas Laxström 2013-01-07 11:02:59 UTC
Creating new threads, posting replies, even deleting.

In the error log I see

2013-01-07 10:57:16 mediawiki-bw_: [2c2f628f] /w/api.php   Exception from line 2993 of /www/ LinkCache doesn't currently know about this title: Thread:User_talk:Nike/Test/reply_(3)
#0 /www/ Title->getLatestRevID()
#1 /www/ Title->invalidateCache()
#2 /www/ Thread->insert()
#3 /www/ Thread::create(Object(Article), Object(Article), Object(Thread), 0, 'Test', 'Reply to [[Thre...', true, '[[User:Nike|Nik...')
#4 /www/ LqtView::replyMetadataUpdates(Array)
#5 [internal function]: ApiThreadAction->actionReply(Array, Array)
#6 /www/ call_user_func_array(Array, Array)
#7 /www/ ApiThreadAction->execute()
#8 /www/ ApiMain->executeAction()
#9 /www/ ApiMain->executeActionWithErrorHandling()
#10 /www/ ApiMain->execute()
#11 {main}
Comment 1 Nemo 2013-01-07 11:09:07 UTC
At least enotifs are sent only once.
Comment 2 Niklas Laxström 2013-01-07 11:44:57 UTC
Git bisect found the cause:
b3ff701cba6578ff0994ef3b42efcb1ba4eac9cd is the first bad commit
commit b3ff701cba6578ff0994ef3b42efcb1ba4eac9cd
Author: Alexandre Emsenhuber <>
Date:   Wed Dec 26 20:50:38 2012 +0100

    Also delete the page information cache when invalidating cache of a non-existing page
    Changed the usage of WikiPage::getRevision() to Title::getLatestRevID(), so that
    the cache is correctly deleted when the page does not exist and it doesn't need
    to create an instance of the WikiPage class to get an already-available value.
    Change-Id: Ied4dedd051759503046d5461c640de3490d29c91

:040000 040000 ed1080d2451df48eaa8fec3bab2ae104b776f871 e2b27cdf2e8386fcc52ba21ea4c2c27f46a60610 M      includes

My theory:

This causes the above exception happen in the API, but only after the reply has been created. LQT sees the error and falls back to normal submit, which works and two threads are created.
Comment 3 Niklas Laxström 2013-01-07 11:47:41 UTC
See also for the original LinkCache issue which has been waiting fix for over 6 months now.
Comment 4 Andre Klapper 2013-01-07 12:10:06 UTC
[Mid-air collisions...] Marking as blocking wmf8 (merge was after wmf7), done already by Nemo_bis (thanks).

Also tentatively assigning to Alex (though code change happened in Core) and CC'ing more LQT devs.
Comment 5 Siebrand Mazeland 2013-01-07 12:13:24 UTC
Gerrit change #42535 reverts Gerrit change #40574.
Comment 6 Siebrand Mazeland 2013-01-07 12:18:57 UTC
Change made in comment 5 fixes the issue.

Note You need to log in before you can comment on or make changes to this bug.