Main environment:
- https://social-tools.wmflabs.org
- MediaWiki 1.30.0 (latest of REL1_30)
- HHVM 3.18.2
Reproduction steps:
- Visit Special:UploadAvatar
- Don't press Choose file, go straight to pressing Upload file
- Receive PHP notices similar to this:
[116d670e43e48d4a8cf870b1] /wiki/Special:UploadAvatar BadMethodCallException from line 356 of /vagrant/mediawiki/includes/specials/SpecialUpload.php: Call to a member function setSubmitText() on a non-object (string)
Backtrace:
#0 /vagrant/mediawiki/includes/specials/SpecialUpload.php(571): SpecialUpload->showRecoverableUploadError(string)
#1 /vagrant/mediawiki/includes/specials/SpecialUpload.php(207): SpecialUpload->processUpload()
#2 /vagrant/mediawiki/extensions/SocialProfile/UserProfile/SpecialUploadAvatar.php(52): SpecialUpload->execute(NULL)
#3 /vagrant/mediawiki/includes/specialpage/SpecialPage.php(522): SpecialUploadAvatar->execute(NULL)
#4 /vagrant/mediawiki/includes/specialpage/SpecialPageFactory.php(578): SpecialPage->run(NULL)
#5 /vagrant/mediawiki/includes/MediaWiki.php(287): SpecialPageFactory::executePath(Title, RequestContext)
#6 /vagrant/mediawiki/includes/MediaWiki.php(851): MediaWiki->performRequest()
#7 /vagrant/mediawiki/includes/MediaWiki.php(523): MediaWiki->main()
#8 /vagrant/mediawiki/index.php(43): MediaWiki->run()
#9 /var/www/w/index.php(5): include(string)
#10 {main}You might also see this warning (reproduced on local environment, latest version of REL1_30 on PHP 5.6.28):
Warning: getimagesize(): Filename cannot be empty in C:\xampp\htdocs\core\extensions\SocialProfile\UserProfile\SpecialUploadAvatar.php on line 361
Currently, SocialProfile doesn't handle this special situation correctly. There should be a safer fallback to handle this, such as a message saying "You have not chosen an avatar yet; please choose one before uploading".