Page MenuHomePhabricator

install.php suppresses and doesn't necessarily display errors
Open, Needs TriagePublic

Description

Poking around at T232354

While the installer bubbles up the last failed status object.... install.php then basically suppresses it and then return false

			$status = $installer->execute();
			if ( !$status->isGood() ) {
				return false;
			}

So we don't actually get told the error. This isn't exactly helpful

Event Timeline

Reedy created this task.Sep 10 2019, 2:06 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptSep 10 2019, 2:06 AM

Change 535331 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@master] Display error if Installer->execute() doesn't return a good status object

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

Reedy added a comment.EditedSep 10 2019, 2:22 AM

Looks like this had some recent changes to possibly cause this

b873e9294b87ee256df581e2cc9e83ef814871c0 for T46511

Change 535331 merged by jenkins-bot:
[mediawiki/core@master] Display error if Installer->execute() doesn't return a good status object

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

Can be mark as resolve?

Reedy added a comment.Oct 6 2019, 9:11 PM

Can be mark as resolve?

I'm not sure. The errors that were missing from vagrant don't still seem to be surfaced - T232354

Tgr added a subscriber: Tgr.Feb 8 2020, 1:02 AM

The installer does not show password errors because it calls User::setPassword and expects it to throw a PasswordError on failure - which it is documented to do, but actually doesn't. PasswordError is used for internal errors related to password hashing (unknown hash type and such). So even though the password is not set, the installer thinks everything went OK. If it actually recognized that as an error, T232354 would probably be much more disruptive as the installation would stop halfway.

Krinkle moved this task from General to CLI on the MediaWiki-Installer board.Apr 3 2020, 2:58 PM