==== Error ====
* mwversion: `1.39.0-wmf.19`
* reqId: `e3394ccc-84f9-455f-9f09-b2de319de057`
* [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2022-07-11T18:12:48.000Z',to:'2022-07-12T18:25:15.357Z'))&_a=(query:(query_string:(query:'reqId:%22e3394ccc-84f9-455f-9f09-b2de319de057%22'))) | Find reqId in Logstash ]]
```name=normalized_message
[{reqId}] {exception_url} PHP Warning: fopen(): Filename cannot be empty
```
```name=exception.trace,lines=10
from /srv/mediawiki/php-1.39.0-wmf.19/includes/upload/UploadBase.php(1322)
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.39.0-wmf.19/includes/upload/UploadBase.php(1322): fopen(string, string)
#2 /srv/mediawiki/php-1.39.0-wmf.19/includes/upload/UploadBase.php(570): UploadBase::detectScript(boolean, NULL, string)
#3 /srv/mediawiki/php-1.39.0-wmf.19/includes/upload/UploadBase.php(492): UploadBase->verifyPartialFile()
#4 /srv/mediawiki/php-1.39.0-wmf.19/includes/upload/UploadBase.php(395): UploadBase->verifyFile()
#5 /srv/mediawiki/php-1.39.0-wmf.19/includes/api/ApiUpload.php(642): UploadBase->verifyUpload()
#6 /srv/mediawiki/php-1.39.0-wmf.19/includes/api/ApiUpload.php(114): ApiUpload->verifyUpload()
#7 /srv/mediawiki/php-1.39.0-wmf.19/includes/api/ApiMain.php(1901): ApiUpload->execute()
#8 /srv/mediawiki/php-1.39.0-wmf.19/includes/api/ApiMain.php(875): ApiMain->executeAction()
#9 /srv/mediawiki/php-1.39.0-wmf.19/includes/api/ApiMain.php(846): ApiMain->executeActionWithErrorHandling()
#10 /srv/mediawiki/php-1.39.0-wmf.19/api.php(90): ApiMain->execute()
#11 /srv/mediawiki/php-1.39.0-wmf.19/api.php(45): wfApiMain()
#12 /srv/mediawiki/w/api.php(3): require(string)
#13 {main}
```
==== Impact ====
Seems to affect cross-wiki uploads as well, e.g. API calls from within the upload dialog in WikiEditor or VisualEditor.
==== Notes ====