Page MenuHomePhabricator

Cannot create actor exception when renaming onself
Closed, DuplicatePublicBUG REPORT

Description

When i tried to rename myself, i got an exception. Trying to insert the log entry required creating an actor for my old username, which resulted in an exception. I guess this doesn't usually happen as usually the user being renamed is not the same as the user doing the renaming.

[5993263718ff80a7c4a6d063] /w/index.php/Special:RenameUser CannotCreateActorException: Failed to create actor ID for user_id=1 user_name="Bawolff"

Backtrace:

from /var/www/html/w/includes/user/ActorStore.php(434)
#0 /var/www/html/w/includes/logging/ManualLogEntry.php(319): MediaWiki\User\ActorStore->acquireActorId()
#1 /var/www/html/w/includes/RenameUser/RenameuserSQL.php(335): ManualLogEntry->insert()
#2 /var/www/html/w/includes/specials/SpecialRenameuser.php(252): MediaWiki\RenameUser\RenameuserSQL->rename()
#3 /var/www/html/w/includes/specialpage/SpecialPage.php(701): SpecialRenameuser->execute()
#4 /var/www/html/w/includes/specialpage/SpecialPageFactory.php(1564): SpecialPage->run()
#5 /var/www/html/w/includes/MediaWiki.php(344): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#6 /var/www/html/w/includes/MediaWiki.php(948): MediaWiki->performRequest()
#7 /var/www/html/w/includes/MediaWiki.php(597): MediaWiki->main()
#8 /var/www/html/w/index.php(50): MediaWiki->run()
#9 /var/www/html/w/index.php(46): wfIndexMain()
#10 {main}

This happens both on master with core rename functionality and on 1.39 with renameuser extension.

Event Timeline

There's one issue in fixing this. Since the old username (rename performer) is going to become nonexistent should it be left like that? (in logs it kind of means a rename done by nonexisting user, which seems weird). Maybe the rename should be attributed to the new name (not exactly accurate either) or to a system name.

Alternately, maybe self-rename should be disallowed for technical reasons. There'd not be much to be lost from this, but will event prevent issues with this feature which seem probable.

Change 981667 had a related patch set uploaded (by Ammarpad; author: Ammarpad):

[mediawiki/core@master] user rename: Disallow self-rename

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

Change 981667 merged by jenkins-bot:

[mediawiki/core@master] user rename: Disallow self-rename

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

Change #1073047 had a related patch set uploaded (by XtexChooser; author: XtexChooser):

[mediawiki/core@master] RenameUser: Update performer name on self-rename

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

Change #1073048 had a related patch set uploaded (by XtexChooser; author: XtexChooser):

[mediawiki/core@master] RenameUser: Allow self-rename

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