Last modified: 2014-08-31 10:33:16 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 T72178, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 70178 - Marking a page for translation fails due to Internal error, Fatal exception of type BannerExistenceException
Marking a page for translation fails due to Internal error, Fatal exception o...
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
CentralNotice (Other open bugs)
master
All All
: Normal normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-29 15:17 UTC by Guillaume Paumier
Modified: 2014-08-31 10:33 UTC (History)
10 users (show)

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


Attachments

Description Guillaume Paumier 2014-08-29 15:17:07 UTC
This was first noticed on a Tech News page, but it can be reproduced on a simple test page containing only

<translate>test</translate>


(tested on https://meta.wikimedia.org/wiki/User:Guillaume_(WMF)/test )
Comment 1 Philippe Verdy 2014-08-29 15:22:33 UTC
HTTP error 500. Page displays (here in my French locale, I don't think it is different in anotther language):

Erreur interne
[bd6bba3f] 2014-08-29 14:27:59: Fatal exception of type BannerExistenceException

when marking a page for translation. At first I thought I had some hanging banner notifications, and there was one on my home wiki (French Wikipedia), I ead the message there, but the bug is not solved.

It looks like this is related to a recent change in Flow to disply new types of notifications, and a plugin is not correctly initialized or the Transalte tool cannot process some related API event.
Comment 2 Philippe Verdy 2014-08-29 15:24:56 UTC
This blocks all pending translations, including urgent ones (like weekly Tech news, which may not be finalized correctly).
Hope this will be fixed before sunday morning, otherwise the Tech News won't be reliably translated before the deadline and will have to be delivered newt week.
Comment 3 Philippe Verdy 2014-08-29 16:11:35 UTC
Apparently fixed now on Meta.
Comment 4 Andre Klapper 2014-08-29 17:25:20 UTC
https://meta.wikimedia.org/wiki/User:Guillaume_%28WMF%29/test seems to be working for me (now?).

Still might not hurt if somebody with shell access looked up the stacktrace for [bd6bba3f] on meta.
Comment 5 Sam Reed (reedy) 2014-08-29 17:35:45 UTC
Guess this probably belongs in CentralNotice

2014-08-29 14:27:59 mw1065 metawiki: [bd6bba3f] /wiki/Special:PageTranslation   Exception from line 408 of /usr/local/apache/common-local/php-1.24wmf18/extensions/CentralNotice/includes/Banner.php: No banner exists where tmp_name = B14_0829_enNL_amt_3. Could not load.
#0 /usr/local/apache/common-local/php-1.24wmf18/extensions/CentralNotice/includes/Banner.php(185): Banner->populateBasicData()
#1 /usr/local/apache/common-local/php-1.24wmf18/extensions/CentralNotice/includes/Banner.php(874): Banner->getName()
#2 /usr/local/apache/common-local/php-1.24wmf18/extensions/CentralNotice/includes/BannerMessageGroup.php(43): Banner->getMessageFieldsFromCache()
#3 /usr/local/apache/common-local/php-1.24wmf18/extensions/Translate/utils/MessageIndex.php(187): BannerMessageGroup->getKeys()
#4 /usr/local/apache/common-local/php-1.24wmf18/extensions/Translate/utils/MessageIndex.php(120): MessageIndex->checkAndAdd(Array, Object(BannerMessageGroup))
#5 /usr/local/apache/common-local/php-1.24wmf18/extensions/Translate/utils/MessageIndexRebuildJob.php(32): MessageIndex->rebuild()
#6 /usr/local/apache/common-local/php-1.24wmf18/extensions/Translate/tag/SpecialPageTranslation.php(774): MessageIndexRebuildJob->run()
#7 /usr/local/apache/common-local/php-1.24wmf18/extensions/Translate/tag/SpecialPageTranslation.php(158): SpecialPageTranslation->markForTranslation(Object(TranslatablePage), Array)
#8 /usr/local/apache/common-local/php-1.24wmf18/includes/specialpage/SpecialPage.php(363): SpecialPageTranslation->execute(NULL)
#9 /usr/local/apache/common-local/php-1.24wmf18/includes/specialpage/SpecialPageFactory.php(516): SpecialPage->run(NULL)
#10 /usr/local/apache/common-local/php-1.24wmf18/includes/MediaWiki.php(300): SpecialPageFactory::executePath(Object(Title), Object(RequestContext))
#11 /usr/local/apache/common-local/php-1.24wmf18/includes/MediaWiki.php(609): MediaWiki->performRequest()
#12 /usr/local/apache/common-local/php-1.24wmf18/includes/MediaWiki.php(460): MediaWiki->main()
#13 /usr/local/apache/common-local/php-1.24wmf18/index.php(46): MediaWiki->run()
#14 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...')
#15 {main}
Comment 6 Nemo 2014-08-29 19:10:41 UTC
Couldn't reproduce either. Timing is suspiciously aligned to https://meta.wikimedia.org/w/index.php?title=Special:CentralNoticeLogs&dir=prev&offset=20140829141042&limit=10 isn't it
Comment 7 Philippe Verdy 2014-08-29 20:20:12 UTC
@Nemo: the bug is not visible now.

This occured before for several hours, it was not temporary. Something has been fixed (at least with a temporary workaround or revert of a recent change, waiting for the cause of this fatal error to happen).

Anyway, it looks like a translation key for the interface of the Translate extension itself is not correctly mapped, or Translate extension uses a deprecated/unsupported API of the CentralNotice, and that extension still uses this old deleted or myterious key "B14_0829_enNL_amt_3" (deleted campaign which was still somewhere in caches? why did that affect only the translate tool and not the rest of the wiki? Does the Translate tool maintain its own local cache for notices and it was not purged, e.g. in its own local database?).

Could it be a bug in the forwarding of updates of notices to other wikis and databases and the Translate database was forgotten? Or a list of databases was incorrectly modified to remove Metawiki from the multingual wikis group ?

According to the settings of "B14_0829_enNL_amt_3"; this campaign was targetting anonymous users only for the fundraising, but I was actually logged in.

Is it possible that the Translate tool itself does not identify itself with the correct logon status of the user and impersonates to another one (e.g. to its own bot), and some internal code still performs requests (to the CentralNotices) with that user for which there's actually no active campaign?

In that case this is an incorrect assumption of the Translate extension which impersonates before the notices for the current users have been processed to be displayed at top of pages before building the rest of the page for preparing the answer to the request to mark a page. I have no idea of how the Translate extension an impersonate its own actions in the database to perform its own commits (or start a worker thread for its own bot)

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


Navigation
Links