Page MenuHomePhabricator

PHP Notice: Undefined offset: 0
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   PHP Notice: Undefined offset: 0
error.stack_trace
from /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(624)
#0 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(624): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(1022): MediaWiki\Permissions\PermissionManager->resultToStatus(MediaWiki\Permissions\PermissionStatus, array)
#2 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(554): MediaWiki\Permissions\PermissionManager->checkQuickPermissions(string, MediaWiki\User\User, MediaWiki\Permissions\PermissionStatus, string, boolean, MediaWiki\Title\Title)
#3 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(1327): MediaWiki\Permissions\PermissionManager->getPermissionStatus(string, MediaWiki\User\User, MediaWiki\Title\Title, string, boolean)
#4 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(554): MediaWiki\Permissions\PermissionManager->checkActionPermissions(string, MediaWiki\User\User, MediaWiki\Permissions\PermissionStatus, string, boolean, MediaWiki\Title\Title)
#5 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/PermissionManager.php(336): MediaWiki\Permissions\PermissionManager->getPermissionStatus(string, MediaWiki\User\User, MediaWiki\Title\Title, string, boolean)
#6 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/UserAuthority.php(389): MediaWiki\Permissions\PermissionManager->userCan(string, MediaWiki\User\User, MediaWiki\Title\Title, string)
#7 /srv/mediawiki/php-1.43.0-wmf.12/includes/Permissions/UserAuthority.php(176): MediaWiki\Permissions\UserAuthority->internalCan(string, string, MediaWiki\Title\Title, NULL, boolean)
#8 /srv/mediawiki/php-1.43.0-wmf.12/includes/user/User.php(3262): MediaWiki\Permissions\UserAuthority->probablyCan(string, MediaWiki\Title\Title, NULL)
#9 /srv/mediawiki/php-1.43.0-wmf.12/includes/Output/OutputPage.php(3908): MediaWiki\User\User->probablyCan(string, MediaWiki\Title\Title)
#10 /srv/mediawiki/php-1.43.0-wmf.12/includes/Output/OutputPage.php(3721): MediaWiki\Output\OutputPage->getJSVars(integer)
#11 /srv/mediawiki/php-1.43.0-wmf.12/includes/Output/OutputPage.php(4859): MediaWiki\Output\OutputPage->getBottomScripts()
#12 /srv/mediawiki/php-1.43.0-wmf.12/includes/skins/SkinMustache.php(103): MediaWiki\Output\OutputPage->tailElement(MediaWiki\Skins\Vector\SkinVector22)
#13 /srv/mediawiki/php-1.43.0-wmf.12/includes/skins/SkinTemplate.php(178): SkinMustache->generateHTML()
#14 /srv/mediawiki/php-1.43.0-wmf.12/includes/Output/OutputPage.php(3017): SkinTemplate->outputPage()
#15 /srv/mediawiki/php-1.43.0-wmf.12/includes/actions/ActionEntryPoint.php(162): MediaWiki\Output\OutputPage->output(boolean)
#16 /srv/mediawiki/php-1.43.0-wmf.12/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#17 /srv/mediawiki/php-1.43.0-wmf.12/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#18 /srv/mediawiki/w/index.php(3): require(string)
#19 {main}
Impact

Upon deploying the MediaWiki train (T366957) on group 2 wikis, several hundred of those logs were emitted. They come primarily from enwiki, some came from fawiki . That comes from the Draft namespace.

Notes

Related Objects

StatusSubtypeAssignedTask
ResolvedReleasehashar
ResolvedPRODUCTION ERRORTgr

Event Timeline

hashar triaged this task as Unbreak Now! priority.Thu, Jul 4, 9:06 AM
hashar created this task.

I guess the TitleQuickPermissions hook returns false without actually setting an error?

So it seems that here: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1039337/3/includes/Permissions/PermissionManager.php#1022 if $errors is empty, we should just return without modifying the $status. My bad, I missed that.

Change #1052067 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/core@master] PermissionManager: Handle empty error array from TitleQuickPermissions

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

Change #1052069 had a related patch set uploaded (by D3r1ck01; author: Gergő Tisza):

[mediawiki/core@wmf/1.43.0-wmf.12] PermissionManager: Handle empty error array from TitleQuickPermissions

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

Change #1052067 merged by jenkins-bot:

[mediawiki/core@master] PermissionManager: Handle empty error array from TitleQuickPermissions

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

Change #1052069 merged by jenkins-bot:

[mediawiki/core@wmf/1.43.0-wmf.12] PermissionManager: Handle empty error array from TitleQuickPermissions

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

Mentioned in SAL (#wikimedia-operations) [2024-07-04T11:56:11Z] <hashar@deploy1002> Started scap sync-world: Backport for [[gerrit:1052069|PermissionManager: Handle empty error array from TitleQuickPermissions (T369260)]]

Mentioned in SAL (#wikimedia-operations) [2024-07-04T12:02:34Z] <hashar@deploy1002> hashar, d3r1ck01: Backport for [[gerrit:1052069|PermissionManager: Handle empty error array from TitleQuickPermissions (T369260)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-07-04T12:03:44Z] <hashar@deploy1002> Started scap sync-world: Backport for [[gerrit:1052069|PermissionManager: Handle empty error array from TitleQuickPermissions (T369260)]]

Mentioned in SAL (#wikimedia-operations) [2024-07-04T12:06:19Z] <hashar@deploy1002> hashar, d3r1ck01: Backport for [[gerrit:1052069|PermissionManager: Handle empty error array from TitleQuickPermissions (T369260)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-07-04T12:11:30Z] <hashar@deploy1002> Finished scap: Backport for [[gerrit:1052069|PermissionManager: Handle empty error array from TitleQuickPermissions (T369260)]] (duration: 07m 45s)

hashar assigned this task to Tgr.

The log spam is gone!