Page MenuHomePhabricator

PHP Warning: fclose() expects parameter 1 to be resource, boolean given
Open, Needs TriagePublicPRODUCTION ERROR



MediaWiki version: 1.36.0-wmf.14

PHP Warning: fclose() expects parameter 1 to be resource, boolean given
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.36.0-wmf.14/includes/upload/UploadBase.php(458): fclose(boolean)
#2 /srv/mediawiki/php-1.36.0-wmf.14/includes/upload/UploadBase.php(551): UploadBase->verifyMimeType(NULL)
#3 /srv/mediawiki/php-1.36.0-wmf.14/includes/upload/UploadBase.php(482): UploadBase->verifyPartialFile()
#4 /srv/mediawiki/php-1.36.0-wmf.14/includes/upload/UploadBase.php(390): UploadBase->verifyFile()
#5 /srv/mediawiki/php-1.36.0-wmf.14/includes/api/ApiUpload.php(610): UploadBase->verifyUpload()
#6 /srv/mediawiki/php-1.36.0-wmf.14/includes/api/ApiUpload.php(87): ApiUpload->verifyUpload()
#7 /srv/mediawiki/php-1.36.0-wmf.14/includes/api/ApiMain.php(1572): ApiUpload->execute()
#8 /srv/mediawiki/php-1.36.0-wmf.14/includes/api/ApiMain.php(552): ApiMain->executeAction()
#9 /srv/mediawiki/php-1.36.0-wmf.14/includes/api/ApiMain.php(523): ApiMain->executeActionWithErrorHandling()
#10 /srv/mediawiki/php-1.36.0-wmf.14/api.php(90): ApiMain->execute()
#11 /srv/mediawiki/php-1.36.0-wmf.14/api.php(45): wfApiMain()
#12 /srv/mediawiki/w/api.php(3): require(string)
#13 {main}



A small bunch of these (about 10?) happened right after moving train to group2.


Request ID
Request URL

Event Timeline

Restricted Application added a project: Structured-Data-Backlog. · View Herald TranscriptOct 22 2020, 1:10 PM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Krinkle updated the task description. (Show Details)
Krinkle edited Stack Trace. (Show Details)

This looks like a file that get's lost during upload and can't be found in the temporary upload folder any more. The stack trace points to an fclose() in UploadBase::verifyMimeType(). But touching this method won't get rid of the error. There are many more places that try to open and read the same file later in the process.

I'm not sure how to fix this, or if it's even possible. The only thing the code could do about a missing file is to error out anyway.