Several query pages such as ListRedirects and Lonely pages return the value of page_title as the "value" field. This is passed through intval by QueryCache::recache before it ends up in the database.
If the wiki is using MySQL database server and the database is set to use SQL strict mode (either via database config and empty wgSQLMode configuration option, or via explicit wgSQLMode option), an user can create a page with a numeric title that is larger than the maximum allowed value of unsigned integer. As a result, subsequent updateSpecialPages.php runs will fail with a database error - this will cause the query page to either not be updated, or to go empty.
Steps to Reproduce
On an MW install with MySQL (like mediawiki-vagrant):
- Set $wgSQLMode = 'STRICT_TRANS_TABLES'; in LocalSettings.php
- Create a redirect page titled 99999999999999999999999999999999999999999999999999999999999999999999999 or such
- Run updateSpecialPages.php - it will display error when regenerating ListRedirects:
Function: QueryPage::recache Error: 1264 Out of range value for column 'qc_value' at row 1 (127.0.0.1)