Since a couple of days, perhaps last week, I am bothered since my console is flooded with long streams of error messages.
The error is not persistent, but happens on every fifth page request, no matter which page is accessed for which action.
It is obviously result of a race condition. I failed to reproduce it with &debug=true, probably since time flow remedies the problem, e.g. slows down.
Clearly there is bad synchronisation, missing declaration of dependencies or lack of waiting for event completion since sub-unit ext.centralNotice.choiceData is already executed before main application component mw.centralNotice has been created.
rECNO/CentralNotice.modules.php tells me on choiceData that dependencies are set dynamically based on context which is obviously doing a bad job, or forgot to wait until initialization of entire application has been completed.
The first executable code within ext.centralNotice.choiceData reads as follows:
mw.loader.implement( 'ext.centralNotice.choiceData', function($,jQuery) { mw.centralNotice.choiceData = [{"name":"WikipediaToTheMoon", ...
- Nowhere above a definition of mw.centralNotice by any other submodule has been made in this package.
- The client is free to execute module packages in any sequence.
- Just before this code an ext.centralNotice.bannerController has been implemented.
- Recently this has been declared as legacy and is empty now, but might have served its purpose a while ago.
rECNO/subscribing/ext.centralNotice.startUp.js
- has dependency ext.centralNotice.choiceData
- does not define mw.centralNotice but is relying that someone else did it before. As a matter of fact, since dependant of choiceData and choiceData is already populating the object this assumption is okay.
rECNO/resources/subscribing/ext.centralNotice.kvStoreMaintenance.js tells me wisely:
- Don't assume mw.centralNotice has or hasn't been initialized
Traceback
Exception in module-execute in module ext.centralNotice.choiceData: load.php:178:216 "TypeError: mw.centralNotice is undefined" Stack-Trace: @https://de.wikipedia.org/w/load.php?debug=false&lang=de&modules=Spinner%7Cext.centralNotice.bannerController%2CchoiceData%2CgeoIP%2CkvStoreMaintenance%2CstartUp%7Cext.centralauth.centralautologin.clearcookie%7Cext.uls.init%2Cinterface%2Cpreferences%2Cwebfonts%7Cext.visualEditor.desktopArticleTarget.init%7Cext.visualEditor.supportCheck%2Ctrack%2Cve%7Cjquery.byteLength%2Ccookie%2CembedPlayer%2CloadingSpinner%2CmwEmbedUtil%2CtabIndex%2Cthrottle-debounce%2CtriggerQueueCallback%7Cmediawiki.Title%2CUri%2Capi%2Ccldr%2Ccookie%2CjqueryMsg%2Clanguage%2Ctemplate%2Cuser%7Cmediawiki.api.options%2Cuser%7Cmediawiki.language.data%2Cinit%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.startup%7Cmediawiki.special.changeslist.visitedstatus%7Cmediawiki.template.regexp%7Cmw.EmbedPlayer.loader%7Cmw.MediaWikiPlayer.loader%7Cmw.MwEmbedSupport%2CPopUpMediaTransform%7Cmw.MwEmbedSupport.style%7Cmw.PopUpMediaTransform.styles%7Cmw.TimedText.loader%7Cskins.vector.js%7Cuser.defaults&skin=vector&version=028be523f503:5:1009
...
@https://de.wikipedia.org/w/load.php?debug=false&lang=de&modules=Spinner%7Cext.centralNotice.bannerController%2CchoiceData%2CgeoIP%2CkvStoreMaintenance%2CstartUp%7Cext.centralauth.centralautologin.clearcookie%7Cext.uls.init%2Cinterface%2Cpreferences%2Cwebfonts%7Cext.visualEditor.desktopArticleTarget.init%7Cext.visualEditor.supportCheck%2Ctrack%2Cve%7Cjquery.byteLength%2Ccookie%2CembedPlayer%2CloadingSpinner%2CmwEmbedUtil%2CtabIndex%2Cthrottle-debounce%2CtriggerQueueCallback%7Cmediawiki.Title%2CUri%2Capi%2Ccldr%2Ccookie%2CjqueryMsg%2Clanguage%2Ctemplate%2Cuser%7Cmediawiki.api.options%2Cuser%7Cmediawiki.language.data%2Cinit%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.startup%7Cmediawiki.special.changeslist.visitedstatus%7Cmediawiki.template.regexp%7Cmw.EmbedPlayer.loader%7Cmw.MediaWikiPlayer.loader%7Cmw.MwEmbedSupport%2CPopUpMediaTransform%7Cmw.MwEmbedSupport.style%7Cmw.PopUpMediaTransform.styles%7Cmw.TimedText.loader%7Cskins.vector.js%7Cuser.defaults&skin=vector&version=028be523f503:5:477 load.php:178:254