Page MenuHomePhabricator

Investigate AbuseFilter Hook with CheckUser
Closed, DuplicatePublic3 Estimated Story Points


I came across a bug while investigating AbuseFilter for IP Masking T331653

Steps to reproduce the error:

  • Download and Install AbuseFilter
  • Create a Filter using the ip_in_range() function, using your current IP (from a VPN)
  • Log out
  • Attempt to edit your "my talk" page. Your TalkPage will be your local IP address ( and not the VPN one (and the one blocked from AbuseFilter)
  • Submit the edit on your Talk Page.
  • You will be getting this error: "CannotCreateActorException: Cannot create an actor for a usable name that is not an existing user: user_name="*Unregistered 25""

Screenshot 2023-04-17 at 11.22.44 AM.png (1×2 px, 699 KB)

CheckUser Hooks is expecting an actor->ID that isn't provided as mentioned in the comments here T328311

Investigate the relationship between AbuseFilter and CheckUser hooks to block IPs.

Expected outcome:
Fix the bug or file a task to fix the bug

Event Timeline

AGueyte set the point value for this task to 3.

Change 910788 had a related patch set uploaded (by AGueyte; author: AGueyte):

[mediawiki/extensions/AbuseFilter@master] Prevent CannotCreateActorException on first time editing Talk Page

The patch lifts the block on creating your talk page as the first edit while having a block against your IP from AbuseFilter.

This is a workaround to address the error of IPs blocked by AbuseFilter and anon users first edit being their talk page.

This allows them to edit their talk page and create their temp account username.

  • Yet, this doesn't prevent the log to show the talk page IP: "*Unregistered 27 talk contribs created page User talk: (test)".

An issue that is also mentioned in T334623

  • It also doesn't address the actual block against the IP by AbuseFilter

Change 910788 abandoned by Tchanders:

[mediawiki/extensions/AbuseFilter@master] Prevent CannotCreateActorException on first time editing Talk Page


Problem is more general, so we'll use a more general approach