Last modified: 2011-01-06 15:15:31 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T28535, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 26535 - Bug in MessageBlobStore
Bug in MessageBlobStore
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
ResourceLoader (Other open bugs)
1.18.x
All All
: Normal normal (vote)
: ---
Assigned To: Trevor Parscal
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-01-01 22:20 UTC by Niklas Laxström
Modified: 2011-01-06 15:15 UTC (History)
1 user (show)

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


Attachments

Description Niklas Laxström 2011-01-01 22:20:19 UTC
Found this interesting backtrace in our error log. The trace looks sane until it hits #2 ../MessageBlobStore.php(311): wfMsgExt(17, Array)

[30-Dec-2010 21:33:36] /w/i.php?title=Special:Nuke&action=delete: Exception: Non-string key given
#0 /www/w/includes/GlobalFunctions.php(751): MessageCache->get(17, true, Object(Language))
#1 /www/w/includes/GlobalFunctions.php(872): wfMsgGetKey(17, true, Object(Language), false)
#2 /www/w/includes/MessageBlobStore.php(311): wfMsgExt(17, Array)
#3 /www/w/includes/MessageBlobStore.php(294): MessageBlobStore::reencodeBlob('{"collapsible-e...', 17, 'af')
#4 /www/w/includes/MessageBlobStore.php(211): MessageBlobStore::getUpdatesForMessage(17, Array)
#5 /www/w/includes/MessageCache.php(461): MessageBlobStore::updateMessage('collapsible-col...')
#6 /www/w/includes/Article.php(4119): MessageCache->replace('Collapsible-col...', false)
#7 /www/w/includes/Article.php(3286): Article::onArticleDelete(Object(Title))
#8 /www/w/includes/Article.php(3123): Article->doDeleteArticle('Mass deletion o...', false, 1781209)
#9 /www/w/extensions/Nuke/Nuke_body.php(190): Article->doDelete('Mass deletion o...')
#10 /www/w/extensions/Nuke/Nuke_body.php(37): SpecialNuke->doDelete(Array, 'Mass deletion o...')
#11 /www/w/includes/SpecialPage.php(587): SpecialNuke->execute(NULL)
#12 /www/w/includes/Wiki.php(245): SpecialPage::executePath(Object(Title))
#13 /www/w/includes/Wiki.php(63): MediaWiki->handleSpecialCases(Object(Title), Object(OutputPage), Object(WebRequest))
#14 /www/w/index.php(104): MediaWiki->performRequestForTitle(Object(Title), NULL, Object(OutputPage), Object(User), Object(WebRequest))
#15 {main}
Comment 1 Niklas Laxström 2011-01-01 22:26:14 UTC
There is variable collision in MessageBlobStore::updateMessage(), foreach overwrites the method parameter.
Comment 2 Roan Kattouw 2011-01-01 23:40:56 UTC
(In reply to comment #1)
> There is variable collision in MessageBlobStore::updateMessage(), foreach
> overwrites the method parameter.
Thanks for tracking this down, I'll fix this when I get the chance.
Comment 3 Roan Kattouw 2011-01-06 15:15:31 UTC
Fixed the variable collision in r79722. This is virtually certain to have been the cause of the bug, but because it only happens for conflicted updates (i.e. when two processes are updating the same blob concurrently), it's virtually impossible to test. Closing as FIXED anyway, reopen if the error appears again.

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


Navigation
Links