Page MenuHomePhabricator

Call to a member function getName() on bool
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

What happens?:

  • A job is added to the queue
  • The file is deleted (or moved)
  • The job is run
  • Run checks for file presence
  • File is missing so we go to setTranscodeError
  • setTranscodeError calls getFile()->getName()
  • getfile returns false and we have an error.

What should have happened instead?:
It should not have used getFile()->getName(). instead we can simply use this->title

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):

from /srv/mediawiki/php-1.42.0-wmf.26/extensions/TimedMediaHandler/includes/WebVideoTranscode/WebVideoTranscodeJob.php(208)
#0 /srv/mediawiki/php-1.42.0-wmf.26/extensions/TimedMediaHandler/includes/WebVideoTranscode/WebVideoTranscodeJob.php(231): MediaWiki\TimedMediaHandler\WebVideoTranscode\WebVideoTranscodeJob->setTranscodeError(string, string)
#1 /srv/mediawiki/php-1.42.0-wmf.26/extensions/EventBus/includes/JobExecutor.php(80): MediaWiki\TimedMediaHandler\WebVideoTranscode\WebVideoTranscodeJob->run()
#2 /srv/mediawiki/rpc/RunSingleJob.php(60): MediaWiki\Extension\EventBus\JobExecutor->execute(array)
#3 {main}

Event Timeline

ovasileva added subscribers: thcipriani, ovasileva.

@thcipriani - this one is not maintained by the web team, but we're not sure what to more accurately tag it with either. Untagging for now

Change #1026707 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/TimedMediaHandler@master] WebVideoTranscodeJob::setTranscodeError: Don't explode if no file is set yet

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

Change #1026707 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] WebVideoTranscodeJob::setTranscodeError: Don't explode if no file is set yet

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

TheDJ assigned this task to Jdforrester-WMF.
TheDJ reopened this task as Open.EditedMay 15 2024, 9:17 AM

Not fixed yet.

'transcode_image_name' => $this->getFile()->getName() ??
						"<no file yet>: {$this->title->getPrefixedText()}",

should really become:

'transcode_image_name' => $this->getFile() !== false ? $this->getFile()->getName() :
						"<no file yet>: {$this->title->getPrefixedText()}",

Change #1031978 had a related patch set uploaded (by TheDJ; author: TheDJ):

[mediawiki/extensions/TimedMediaHandler@master] Transcode: Bool doesn't coalesce

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

Change #1031978 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Transcode: Bool doesn't coalesce

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

Verified, now solved