Topic on Project:Support desk

Fatal exception of type "Wikimedia\Rdbms\DBQueryError"

2
Summary by Nihonjoe

Database was giving a 1062 error (duplicate entry) for the username being created, even though the desired username was not in the list of existing usernames. Changing the username being created to something else allowed it to go through.

Nihonjoe (talkcontribs)

When trying to create a new account on the wiki, I get this error: Wikimedia\Rdbms\DBQueryError

I've run the update script, but it has no effect on the error.

This is the version info:

  • MediaWiki 1.35.0
  • PHP 7.4.14 (apache2handler)
  • MySQL 8.0.22
  • Lua 5.1.5

This is the error backtrace output:

[YEAMosKv6RmIf2@2AAwF4wAAAFE] /wiki/Special:CreateAccount Wikimedia\Rdbms\DBQueryError from line 1699 of /var/www/barfoowiki.com/htdocs/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 1062: Duplicate entry '53329' for key 'actor.actor_user' (localhost)
Function: User::updateActorId
Query: INSERT INTO `actor` (actor_user,actor_name) VALUES (53329,'Foobar')
Backtrace:

#0 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/Database.php(1683): Wikimedia\Rdbms\Database->getQueryException()
#1 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/Database.php(1658): Wikimedia\Rdbms\Database->getQueryExceptionAndLog()
#2 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/Database.php(1227): Wikimedia\Rdbms\Database->reportQueryError()
#3 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/Database.php(2343): Wikimedia\Rdbms\Database->query()
#4 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/Database.php(2323): Wikimedia\Rdbms\Database->doInsert()
#5 /var/www/barfoowiki.com/htdocs/includes/user/User.php(3699): Wikimedia\Rdbms\Database->insert()
#6 /var/www/barfoowiki.com/htdocs/includes/user/User.php(3676): User->updateActorId()
#7 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/Database.php(4461): User->{closure}()
#8 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->doAtomicSection()
#9 /var/www/barfoowiki.com/htdocs/includes/libs/rdbms/database/DBConnRef.php(641): Wikimedia\Rdbms\DBConnRef->__call()
#10 /var/www/barfoowiki.com/htdocs/includes/user/User.php(3679): Wikimedia\Rdbms\DBConnRef->doAtomicSection()
#11 /var/www/barfoowiki.com/htdocs/includes/auth/AuthManager.php(1436): User->addToDatabase()
#12 /var/www/barfoowiki.com/htdocs/includes/auth/AuthManager.php(1163): MediaWiki\Auth\AuthManager->continueAccountCreation()
#13 /var/www/barfoowiki.com/htdocs/includes/specialpage/AuthManagerSpecialPage.php(376): MediaWiki\Auth\AuthManager->beginAccountCreation()
#14 /var/www/barfoowiki.com/htdocs/includes/specialpage/AuthManagerSpecialPage.php(502): AuthManagerSpecialPage->performAuthenticationStep()
#15 /var/www/barfoowiki.com/htdocs/includes/htmlform/HTMLForm.php(707): AuthManagerSpecialPage->handleFormSubmit()
#16 /var/www/barfoowiki.com/htdocs/includes/specialpage/AuthManagerSpecialPage.php(435): HTMLForm->trySubmit()
#17 /var/www/barfoowiki.com/htdocs/includes/specialpage/LoginSignupSpecialPage.php(319): AuthManagerSpecialPage->trySubmit()
#18 /var/www/barfoowiki.com/htdocs/includes/specialpage/SpecialPage.php(600): LoginSignupSpecialPage->execute()
#19 /var/www/barfoowiki.com/htdocs/includes/specialpage/SpecialPageFactory.php(635): SpecialPage->run()
#20 /var/www/barfoowiki.com/htdocs/includes/MediaWiki.php(307): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#21 /var/www/barfoowiki.com/htdocs/includes/MediaWiki.php(940): MediaWiki->performRequest()
#22 /var/www/barfoowiki.com/htdocs/includes/MediaWiki.php(543): MediaWiki->main()
#23 /var/www/barfoowiki.com/htdocs/index.php(53): MediaWiki->run()
#24 /var/www/barfoowiki.com/htdocs/index.php(46): wfIndexMain()
#25 {main}

Where should I look? It was working fine until very recently. No upgrades have been done recently, either. Thanks! 日本穣 Nihonjoe (talk) 22:41, 3 March 2021 (UTC)

Nihonjoe (talkcontribs)
Looks like there was a hidden (not sure how else to describe it) entry that matched the username trying to be created. This caused it to give the 1062 error. This duplicate does not show up in the list of users, however. I figured it out by modifying the username to be created and it worked. ~~~~