Page MenuHomePhabricator

TypeError: Unsupported operand types: array + null
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • service.version: 1.46.0-wmf.4
  • timestamp: 2025-11-26T09:16:13.642Z
  • labels.phpversion: 8.3.26
  • trace.id: d0a28087-c543-4ce0-b0b6-a19c01393feb
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   TypeError: Unsupported operand types: array + null
FrameLocationCall
from/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiUpload.php(602)
#0/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiUpload.php(1088)MediaWiki\Api\ApiUpload->dieRecoverableError(array)
#1/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiUpload.php(254)MediaWiki\Api\ApiUpload->performUpload(array)
#2/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiUpload.php(162)MediaWiki\Api\ApiUpload->getContextResult()
#3/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiMain.php(2038)MediaWiki\Api\ApiUpload->execute()
#4/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiMain.php(947)MediaWiki\Api\ApiMain->executeAction()
#5/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiMain.php(918)MediaWiki\Api\ApiMain->executeActionWithErrorHandling()
#6/srv/mediawiki/php-1.46.0-wmf.4/includes/Api/ApiEntryPoint.php(138)MediaWiki\Api\ApiMain->execute()
#7/srv/mediawiki/php-1.46.0-wmf.4/includes/MediaWikiEntryPoint.php(184)MediaWiki\Api\ApiEntryPoint->execute()
#8/srv/mediawiki/php-1.46.0-wmf.4/api.php(30)MediaWiki\MediaWikiEntryPoint->run()
#9/srv/mediawiki/w/api.php(3)require(string)
#10{main}
Notes

Low but constant volume in commons after deploying 1.46.0-wmf.4 to group1

Event Timeline

Change #1211633 had a related patch set uploaded (by Ammarpad; author: Ammarpad):

[mediawiki/core@master] Api: Initialise reference variable

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

Change #1211637 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@master] ApiUpload: Handle performStash not setting $data

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

Change #1211637 abandoned by Reedy:

[mediawiki/core@master] ApiUpload: Handle performStash not setting $data

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

Change #1211633 merged by jenkins-bot:

[mediawiki/core@master] Api: Initialise reference variable

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

Change #1211695 had a related patch set uploaded (by Reedy; author: Ammarpad):

[mediawiki/core@REL1_45] Api: Initialise reference variable

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

Change #1211697 had a related patch set uploaded (by Reedy; author: Ammarpad):

[mediawiki/core@REL1_44] Api: Initialise reference variable

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

Change #1211699 had a related patch set uploaded (by Reedy; author: Ammarpad):

[mediawiki/core@REL1_43] Api: Initialise reference variable

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

Ammarpad claimed this task.

Errors are still happening in production. Please don't close unless the fix gets backported or we decide to wait until next week's train

Change #1211695 merged by jenkins-bot:

[mediawiki/core@REL1_45] Api: Initialise reference variable

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

Change #1211699 merged by jenkins-bot:

[mediawiki/core@REL1_43] Api: Initialise reference variable

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

Change #1211697 merged by jenkins-bot:

[mediawiki/core@REL1_44] Api: Initialise reference variable

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

Cross-linking: Fault from new early return in 67e2bc8098d1e4de35c42ca323a1e82f9f0ba081

This can happen on publish of a stashed file. The error is possible via AbuseFilter or SpamBlacklist (UploadVerifyUploadHook) or for a reupload with the same file ("fileexists-no-change").

I am adding a regression test. Thanks for fixing.

Change #1212219 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] Api: Add regression upload test for type error on upload warnings

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

Change #1212219 merged by jenkins-bot:

[mediawiki/core@master] Api: Add regression upload test for type error on upload warnings

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

Change #1212611 had a related patch set uploaded (by Bartosz Dziewoński; author: Ammarpad):

[mediawiki/core@wmf/1.46.0-wmf.4] Api: Initialise reference variable

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

Change #1212611 merged by jenkins-bot:

[mediawiki/core@wmf/1.46.0-wmf.4] Api: Initialise reference variable

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

Mentioned in SAL (#wikimedia-operations) [2025-12-01T14:23:16Z] <lucaswerkmeister-wmde@deploy2002> Started scap sync-world: Backport for [[gerrit:rMEXT1212611ba20b|Api: Initialise reference variable (T411075)]]

Mentioned in SAL (#wikimedia-operations) [2025-12-01T14:25:06Z] <lucaswerkmeister-wmde@deploy2002> lucaswerkmeister-wmde, matmarex: Backport for [[gerrit:rMEXT1212611ba20b|Api: Initialise reference variable (T411075)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-12-01T14:30:19Z] <lucaswerkmeister-wmde@deploy2002> Finished scap sync-world: Backport for [[gerrit:rMEXT1212611ba20b|Api: Initialise reference variable (T411075)]] (duration: 07m 04s)

Resolved and backported now.