Wikimedia

MediaWiki web upgrade process doesn't handle errors in purgeCache correctly

When upgrading mediawiki from an old version, if running the update process from the web (and not from the command line) errors that happen in the purgeCache() step aren't handled properly and are shown in an ugly way.

In includes/installer/DatabaseInstaller.php method doUpgrade(), the call to $up->purgeCache() is not done inside the try/catch block. This means that if an error occurs in this step, the error is not output correctly, and furthermore the code to stop the ajax spinner is never run.

Basically you have to ensure that the call to $up->purgeCache() in includes/installer/DatabaseInstaller.php is inside the try/catch block.

See the phabricator task for more detailed instructions!

You are expected to provide a patch in Wikimedia Gerrit. See https://www.mediawiki.org/wiki/Gerrit/Tutorial for how to set up Git and Gerrit.

Task tags

  • mediawiki
  • php
  • errors

Students who completed this task

LukasA

Task type

  • code Code
close

2018