Last modified: 2013-11-25 21:58:40 UTC
PHP fatal error in /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchTextSanitizer.php line 37: Call to a member function setEditSectionTokens() on a non-object Found after marking for translation [[mw:Help:TemplateData]] (without invalidating translation, but I doubt that matters): https://www.mediawiki.org/w/index.php?title=Special:PageTranslation&do=mark&target=Help%3ATemplateData&revision=750890 It's not in the log so it seems the action failed: https://www.mediawiki.org/w/index.php?title=Special%3ALog&&page=Help%3ATemplateData
[09-Sep-2013 13:33:46] Fatal error: Call to a member function setEditSectionTokens() on a non-object at /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchTextSanitizer.php on line 37 Server: mw1004 URL: http://[unknown-host] Backtrace: #0 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchTextSanitizer.php(37): CirrusSearchTextSanitizer::getSantizedTextFromTitle() #1 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearch.body.php(53): CirrusSearchTextSanitizer::getSantizedTextFromTitle(Object(Title)) #2 /usr/local/apache/common-local/php-1.22wmf16/includes/search/SearchUpdate.php(111): CirrusSearch->getTextFromContent(Object(Title), Object(WikitextContent)) #3 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchUpdater.php(86): SearchUpdate->doUpdate() #4 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchUpdater.php(313): CirrusSearchUpdater::updateFromTitle(Object(Title)) #5 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchUpdater.php(96): CirrusSearchUpdater::updateLinkedArticles(Object(LinksUpdate)) #6 [internal function]: CirrusSearchUpdater::linksUpdateCompletedHook(Object(LinksUpdate)) #7 /usr/local/apache/common-local/php-1.22wmf16/includes/Hooks.php(199): call_user_func_array('CirrusSearchUpd...', Array) #8 /usr/local/apache/common-local/php-1.22wmf16/includes/GlobalFunctions.php(3878): Hooks::run('LinksUpdateComp...', Array) #9 /usr/local/apache/common-local/php-1.22wmf16/includes/LinksUpdate.php(123): wfRunHooks('LinksUpdateComp...', Array) #10 /usr/local/apache/common-local/php-1.22wmf16/includes/DataUpdate.php(102): LinksUpdate->doUpdate() #11 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(2077): DataUpdate::runUpdates(Array) #12 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(1826): WikiPage->doEditUpdates(Object(Revision), Object(User), Array) #13 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(1594): WikiPage->doEditContent(Object(WikitextContent), 'Importing a new...', 48, false, Object(User)) #14 [internal function]: WikiPage->doEdit('<noinclude><lan...', 'Importing a new...', 48, false, Object(User)) #15 /usr/local/apache/common-local/php-1.22wmf16/includes/Article.php(2021): call_user_func_array(Array, Array) #16 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/tag/TranslateRenderJob.php(63): Article->__call('doEdit', Array) #17 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/tag/TranslateRenderJob.php(63): Article->doEdit('<noinclude><lan...', 'Importing a new...', 48, false, Object(User)) #18 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/tag/PageTranslationHooks.php(157): TranslateRenderJob->run() #19 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/tag/PageTranslationHooks.php(137): PageTranslationHooks::updateTranslationPage(Object(TranslatablePage), 'en', Object(User), 50, 'Importing a new...') #20 [internal function]: PageTranslationHooks::onSectionSave(Object(WikiPage), Object(User), Object(WikitextContent), 'Importing a new...', 0, NULL, NULL, 50, NULL, Object(Status), false) #21 /usr/local/apache/common-local/php-1.22wmf16/includes/Hooks.php(199): call_user_func_array('PageTranslation...', Array) #22 /usr/local/apache/common-local/php-1.22wmf16/includes/GlobalFunctions.php(3878): Hooks::run('PageContentSave...', Array) #23 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(1932): wfRunHooks('PageContentSave...', Array) #24 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(1594): WikiPage->doEditContent(Object(WikitextContent), 'Importing a new...', 48, false, Object(User)) #25 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/utils/MessageUpdateJob.php(43): WikiPage->doEdit('Help with the l...', 'Importing a new...', 48, false, Object(User)) #26 /usr/local/apache/common-local/php-1.22wmf16/maintenance/runJobs.php(101): MessageUpdateJob->run()
[09-Sep-2013 12:00:15] Fatal error: Call to a member function setEditSectionTokens() on a non-object at /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchTextSanitizer.php on line 37 Server: mw1170 Method: POST URL: http://www.mediawiki.org/wiki/Special:PageTranslation Backtrace: #0 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchTextSanitizer.php(37): CirrusSearchTextSanitizer::getSantizedTextFromTitle() #1 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearch.body.php(53): CirrusSearchTextSanitizer::getSantizedTextFromTitle(Object(Title)) #2 /usr/local/apache/common-local/php-1.22wmf16/includes/search/SearchUpdate.php(111): CirrusSearch->getTextFromContent(Object(Title), Object(WikitextContent)) #3 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchUpdater.php(86): SearchUpdate->doUpdate() #4 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchUpdater.php(313): CirrusSearchUpdater::updateFromTitle(Object(Title)) #5 /usr/local/apache/common-local/php-1.22wmf16/extensions/CirrusSearch/CirrusSearchUpdater.php(96): CirrusSearchUpdater::updateLinkedArticles(Object(LinksUpdate)) #6 [internal function]: CirrusSearchUpdater::linksUpdateCompletedHook(Object(LinksUpdate)) #7 /usr/local/apache/common-local/php-1.22wmf16/includes/Hooks.php(199): call_user_func_array('CirrusSearchUpd...', Array) #8 /usr/local/apache/common-local/php-1.22wmf16/includes/GlobalFunctions.php(3878): Hooks::run('LinksUpdateComp...', Array) #9 /usr/local/apache/common-local/php-1.22wmf16/includes/LinksUpdate.php(123): wfRunHooks('LinksUpdateComp...', Array) #10 /usr/local/apache/common-local/php-1.22wmf16/includes/DataUpdate.php(102): LinksUpdate->doUpdate() #11 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(2077): DataUpdate::runUpdates(Array) #12 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(1826): WikiPage->doEditUpdates(Object(Revision), Object(User), Array) #13 /usr/local/apache/common-local/php-1.22wmf16/includes/WikiPage.php(1594): WikiPage->doEditContent(Object(WikitextContent), 'Marked this ver...', 18, false, NULL) #14 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/tag/SpecialPageTranslation.php(653): WikiPage->doEdit('{{PD Help Page}...', 'Marked this ver...', 18) #15 /usr/local/apache/common-local/php-1.22wmf16/extensions/Translate/tag/SpecialPageTranslation.php(150): SpecialPageTranslation->markForTranslation(Object(TranslatablePage), Array) #16 /usr/local/apache/common-local/php-1.22wmf16/includes/SpecialPage.php(631): SpecialPageTranslation->execute(NULL) #17 /usr/local/apache/common-local/php-1.22wmf16/includes/SpecialPageFactory.php(490): SpecialPage->run(NULL) #18 /usr/local/apache/common-local/php-1.22wmf16/includes/Wiki.php(291): SpecialPageFactory::executePath(Object(Title), Object(RequestContext)) #19 /usr/local/apache/common-local/php-1.22wmf16/includes/Wiki.php(590): MediaWiki->performRequest() #20 /usr/local/apache/common-local/php-1.22wmf16/includes/Wiki.php(459): MediaWiki->main() #21 /usr/local/apache/common-local/php-1.22wmf16/index.php(55): MediaWiki->run() #22 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...') #23 {main}
Proposal: if we don't have a good fix for this by tomorrow we deploy a "fix" where we catch and log this (with stack trace if possible.) We could downgrade it from an immediate/release blocker if we've got that in place. Also, it'd be cool to log which page (and what revision) this is failing for.
We've pushed https://gerrit.wikimedia.org/r/#/c/83633/ which catches this condition and doesn't update the search index. Since it isn't crashing I'm lowering the priority on this. We'll still get to it because it means the index isn't updating.
We're seeing this again but in it's better, exception caught form: Warning: CirrusSearch couldn't get parser output for Growth/status. Returning null text which should be skipped. [Called from CirrusSearchTextSanitizer::getSantizedTextFromTitle in /usr/local/apache/common-local/php-1.22wmf17/extensions/CirrusSearch/CirrusSearchTextSanitizer.php at line 41] in /usr/local/apache/common-local/php-1.22wmf17/includes/debug/Debug.php on line 296 and Warning: Search update called with false or null text for growth status. Ignoring search update.
Should be fixed by now as a side-effect of the refactoring in I5a717c254a6797436d5bebea460459dad09f6b89.