Page MenuHomePhabricator

Mentor dashboard: TypeError: Cannot read properties of null (reading 'getIcon')
Closed, ResolvedPublic

Description

Loading https://cs.wikipedia.org/wiki/Speci%C3%A1ln%C3%AD:N%C3%A1st%C4%9Bnka_mentora under my staff account with the devtools console opened shows the following error:

load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:1 TypeError: Cannot read properties of null (reading 'getIcon')
    at new MentorTools (load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:27)
    at initMentorTools (load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:29)
    at load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:29
    at ext.growthExperiments.MentorDashboard/MentorTools/MentorTools.js (load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:29)
    at require (load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:9)
    at load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:1
    at ext.growthExperiments.MentorDashboard/index.js (load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:1)
    at runScript (load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:12)
    at execute (load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:13)
    at doPropagation (load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:6)
logError @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:1
trackError @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:3
runScript @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:12
execute @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:13
doPropagation @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:6
requestIdleCallback (async)
setAndPropagate @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:7
markModuleReady @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:11
runScript @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:12
(anonymous) @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:13
flushCssBuffer @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:4
requestAnimationFrame (async)
addEmbeddedCSS @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:5
execute @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:13
doPropagation @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:6
requestIdleCallback (async)
setAndPropagate @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:7
markModuleReady @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:11
runScript @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:12
(anonymous) @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:13
flushCssBuffer @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:4
requestAnimationFrame (async)
addEmbeddedCSS @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:5
execute @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:13
doPropagation @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:6
requestIdleCallback (async)
setAndPropagate @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:7
implement @ load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:18
(anonymous) @ load.php?lang=en&modules=ext.growthExperiments.MentorDashboard|jquery%2Coojs-ui-core%2Coojs-ui-widgets|jquery.ui&skin=vector&version=18lsa:1

With ?debug=1:

load.php?[...]: Cannot read properties of null (reading 'getIcon')
    at new MentorTools (/w/load.php?[...]:6190)
    at initMentorTools (/w/load.php?[...]:6249)
    at /w/load.php?[...]:6252
    at ext.growthExperiments.MentorDashboard/MentorTools/MentorTools.js (/w/load.php?[...]:6254)
    at require (/w/load.php?[...]:1136)
    at /w/load.php?[...]:5081
    at ext.growthExperiments.MentorDashboard/index.js (/w/load.php?[...]:5082)
    at runScript (/w/load.php?[...]:1372)
    at execute (/w/load.php?[...]:1485)
    at doPropagation (/w/load.php?[...]:862)
logError @ load.php?[...]:192
`

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

@Urbanecm - On enwiki betalabs there is a Mediawiki internal error related to MentorDashboard. Mentor user ET13 changed the availability on Special:Mentordashboard - the console displays the error:

Uncaught TypeError: Cannot read properties of undefined (reading 'human')
    at MentorTools.onMentorBackTimestampChanged (<anonymous>:243:988)
    at AwaySettingsDialog.OO.EventEmitter.emit (<anonymous>:295:652)

After that the mentees cannont log in - e.g. ET24 gets the following internal error upon login:

MediaWiki internal error.

Original exception: [YYBaKUXCsOqW3SXrzDFNwwAAAAU] /wiki/Special:MentorDashboard TypeError: Argument 1 passed to GrowthExperiments\Mentorship\MentorPageMentorManager::GrowthExperiments\Mentorship\{closure}() must implement interface MediaWiki\User\UserIdentity, integer given
Backtrace:
from /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(329)
#0 [internal function]: GrowthExperiments\Mentorship\MentorPageMentorManager::GrowthExperiments\Mentorship\{closure}(integer)
#1 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(331): array_map(Closure, array)
#2 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(194): GrowthExperiments\Mentorship\MentorPageMentorManager->getRandomAutoAssignedMentor(User, array)
#3 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(147): GrowthExperiments\Mentorship\MentorPageMentorManager->getRandomAutoAssignedMentorForUserAndRole(User, string)
#4 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(203): GrowthExperiments\Mentorship\MentorPageMentorManager->getMentorForUser(User, string)
#5 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(249): GrowthExperiments\Mentorship\MentorPageMentorManager->getMentorForUserSafe(User, string)
#6 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/HelpPanelHooks.php(210): GrowthExperiments\Mentorship\MentorPageMentorManager->getEffectiveMentorForUserSafe(User)
#7 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/HelpPanelHooks.php(143): GrowthExperiments\HelpPanelHooks::getMentorData(GrowthExperiments\Config\GrowthExperimentsMultiConfig, User, RequestContext)
#8 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(338): GrowthExperiments\HelpPanelHooks::onBeforePageDisplay(OutputPage, SkinVector)
#9 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#10 /srv/mediawiki/php-master/includes/HookContainer/HookRunner.php(935): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#11 /srv/mediawiki/php-master/includes/OutputPage.php(2686): MediaWiki\HookContainer\HookRunner->onBeforePageDisplay(OutputPage, SkinVector)
#12 /srv/mediawiki/php-master/includes/MediaWiki.php(939): OutputPage->output(boolean)
#13 /srv/mediawiki/php-master/includes/MediaWiki.php(952): MediaWiki::{closure}()
#14 /srv/mediawiki/php-master/includes/MediaWiki.php(559): MediaWiki->main()
#15 /srv/mediawiki/php-master/index.php(53): MediaWiki->run()
#16 /srv/mediawiki/php-master/index.php(46): wfIndexMain()
#17 /srv/mediawiki/w/index.php(3): require(string)
#18 {main}

Exception caught inside exception handler: [YYBaKUXCsOqW3SXrzDFNwwAAAAU] /wiki/Special:MentorDashboard TypeError: Argument 1 passed to GrowthExperiments\Mentorship\MentorPageMentorManager::GrowthExperiments\Mentorship\{closure}() must implement interface MediaWiki\User\UserIdentity, integer given
Backtrace:
from /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(329)
#0 [internal function]: GrowthExperiments\Mentorship\MentorPageMentorManager::GrowthExperiments\Mentorship\{closure}(integer)
#1 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(331): array_map(Closure, array)
#2 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(194): GrowthExperiments\Mentorship\MentorPageMentorManager->getRandomAutoAssignedMentor(User, array)
#3 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(147): GrowthExperiments\Mentorship\MentorPageMentorManager->getRandomAutoAssignedMentorForUserAndRole(User, string)
#4 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(203): GrowthExperiments\Mentorship\MentorPageMentorManager->getMentorForUser(User, string)
#5 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/Mentorship/MentorPageMentorManager.php(249): GrowthExperiments\Mentorship\MentorPageMentorManager->getMentorForUserSafe(User, string)
#6 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/HelpPanelHooks.php(210): GrowthExperiments\Mentorship\MentorPageMentorManager->getEffectiveMentorForUserSafe(User)
#7 /srv/mediawiki/php-master/extensions/GrowthExperiments/includes/HelpPanelHooks.php(143): GrowthExperiments\HelpPanelHooks::getMentorData(GrowthExperiments\Config\GrowthExperimentsMultiConfig, User, RequestContext)
#8 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(338): GrowthExperiments\HelpPanelHooks::onBeforePageDisplay(OutputPage, SkinVector)
#9 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#10 /srv/mediawiki/php-master/includes/HookContainer/HookRunner.php(935): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#11 /srv/mediawiki/php-master/includes/OutputPage.php(2686): MediaWiki\HookContainer\HookRunner->onBeforePageDisplay(OutputPage, SkinVector)
#12 /srv/mediawiki/php-master/includes/exception/MWExceptionRenderer.php(158): OutputPage->output()
#13 /srv/mediawiki/php-master/includes/exception/MWExceptionRenderer.php(77): MWExceptionRenderer::reportHTML(TypeError)
#14 /srv/mediawiki/php-master/includes/exception/MWExceptionHandler.php(107): MWExceptionRenderer::output(TypeError, integer)
#15 /srv/mediawiki/php-master/includes/exception/MWExceptionHandler.php(202): MWExceptionHandler::report(TypeError)
#16 /srv/mediawiki/php-master/includes/MediaWiki.php(581): MWExceptionHandler::handleException(TypeError, string)
#17 /srv/mediawiki/php-master/index.php(53): MediaWiki->run()
#18 /srv/mediawiki/php-master/index.php(46): wfIndexMain()
#19 /srv/mediawiki/w/index.php(3): require(string)
#20 {main}

Change 736069 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] Mentor manager: Do not fatal with away mentors

https://gerrit.wikimedia.org/r/736069

Change 736069 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Mentor manager: Do not fatal with away mentors

https://gerrit.wikimedia.org/r/736069

Urbanecm_WMF claimed this task.

This was fixed, but not closed as Resolved. Fixing.