Setup
- MediaWiki 1.35.1 (3ff1919) 01:03, 7 February 2021
- PHP 7.3.19-1~deb10u1 (apache2handler)
- MariaDB 10.3.27-MariaDB-0+deb10u1 / MyISAM
- Confirm User Accounts – (9b071fd) 13:50, 26 September 2020
Issue
[01f4a75d6b7732ae17051dae] /wiki/Special:RequestAccount Wikimedia\Rdbms\DBQueryError from line 1699 of /../w/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? Error 1406: Data too long for column 'acr_storage_key' at row 1 (localhost:6363) Function: UserAccountRequest::insertOn Query: INSERT INTO `account_requests` (acr_id,acr_name,acr_email,acr_real_name,acr_registration,acr_bio,acr_notes,acr_urls,acr_type,acr_areas,acr_filename,acr_storage_key,acr_comment,acr_ip,acr_xff,acr_agent,acr_deleted,acr_email_token,acr_email_token_expires) VALUES (NULL,'Karsten Hoffmeyer','example@example.org','Karsten Hoffmeyer','20210223170501','I would like to test if account requesting works for this wiki. :)','','','0','',NULL,'DB99093932820210211:acctrequest:ip:2003%3Af1%3Ac718%3Ade00%3Aa5a0%3A793d%3Ac943%3A1324','','2001:f1:c716:de00:a5a0:793d:c943:1324','','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',0,'86de58362674b2b26843370f869d51b1','20210524170501')
Backtrace
#0 /../w/includes/libs/rdbms/database/Database.php(1683): Wikimedia\Rdbms\Database->getQueryException(string, integer, string, string)
#1 /../w/includes/libs/rdbms/database/Database.php(1658): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, integer, string, string)
#2 /../w/includes/libs/rdbms/database/Database.php(1227): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
#3 /../w/includes/libs/rdbms/database/Database.php(2343): Wikimedia\Rdbms\Database->query(string, string, integer)
#4 /../w/includes/libs/rdbms/database/Database.php(2323): Wikimedia\Rdbms\Database->doInsert(string, array, string)
#5 /../w/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->insert(string, array, string)
#6 /../w/includes/libs/rdbms/database/DBConnRef.php(369): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#7 /../w/extensions/ConfirmAccount/includes/backend/UserAccountRequest.php(359): Wikimedia\Rdbms\DBConnRef->insert(string, array, string)
#8 /../w/extensions/ConfirmAccount/includes/business/AccountRequestSubmission.php(254): UserAccountRequest->insertOn()
#9 /../w/extensions/ConfirmAccount/includes/frontend/specialpages/actions/RequestAccount_body.php(343): AccountRequestSubmission->submit(RequestContext)
#10 /../w/extensions/ConfirmAccount/includes/frontend/specialpages/actions/RequestAccount_body.php(83): RequestAccountPage->doSubmit()
#11 /../w/includes/specialpage/SpecialPage.php(600): RequestAccountPage->execute(NULL)
#12 /../w/includes/specialpage/SpecialPageFactory.php(635): SpecialPage->run(NULL)
#13 /../w/includes/MediaWiki.php(307): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#14 /../w/includes/MediaWiki.php(940): MediaWiki->performRequest()
#15 /../w/includes/MediaWiki.php(543): MediaWiki->main()
#16 /../w/index.php(53): MediaWiki->run()
#17 /../w/index.php(46): wfIndexMain()
#18 {main}No I did not forget to run your application's database schema updater after upgrading.
Immediate mitigation
As long as no patch for this issue was merged the following database actions in MySQL will help the cause:
ALTER TABLE account_requests MODIFY acr_storage_key VARCHAR(100) NULL default '';
ALTER TABLE account_credentials MODIFY acd_storage_key VARCHAR(100) NULL default '';
Thanks go to @jcrespo for the suggestion!