Last modified: 2014-05-22 20:37:28 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T30154, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 28154 - Problems with 'disallow' option
Problems with 'disallow' option
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
AbuseFilter (Other open bugs)
unspecified
All All
: Normal major with 7 votes (vote)
: ---
Assigned To: Andrew Garrett
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-03-21 14:58 UTC by Vituzzu@it.wiki
Modified: 2014-05-22 20:37 UTC (History)
13 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Vituzzu@it.wiki 2011-03-21 14:58:53 UTC
I created a filter (#67) on it.wiki with 'disallow' option enabled. Filter works on a specific page preventing all edits from a certain IPs' range on that page (source code: article_prefixedtext == "Wikipedia:Pagina delle prove" & ip_in_range(user_name, "151.40.128.0/17") ). 

Its run time is less than 0.85 ms using less than 5 conditions, no actions reached the condition limit but often the filter allow edits which (verifying them in batch mode) match perfectily its conditions.

I'm not sure but I think that, in the past, I saw similar problems with other filters, but I'm sure about all these issues with #67.
Comment 1 Vituzzu@it.wiki 2011-04-14 17:51:25 UTC
(In reply to comment #0)
> I created a filter (#67) on it.wiki with 'disallow' option enabled. Filter
> works on a specific page preventing all edits from a certain IPs' range on that
> page (source code: article_prefixedtext == "Wikipedia:Pagina delle prove" &
> ip_in_range(user_name, "151.40.128.0/17") ). 
> 
> Its run time is less than 0.85 ms using less than 5 conditions, no actions
> reached the condition limit but often the filter allow edits which (verifying
> them in batch mode) match perfectily its conditions.
> 
> I'm not sure but I think that, in the past, I saw similar problems with other
> filters, but I'm sure about all these issues with #67.

Update: the problem is happening with several filters, making the whole abusefilter quite unuseful
Comment 2 seth 2011-06-17 20:53:31 UTC
Here's another example from w:de:

The last change on AF rule #94 was made at 2011-06-15.[1]
User:83.77.242.235 made an edit on [[w:de:NGC 415]] at 2011-06-16 22:23:40 (UTC), i.e., more than 24h after the last change of rule #94.[2]

Although the abusefilter test is positive on that edit[3], the edit unfortunately was not blocked. What could be the reason for that?

[1] http://de.wikipedia.org/wiki/special:abuseFilter/history/94
[2] http://de.wikipedia.org/w/index.php?title=NGC_415&action=historysubmit&diff=90130131&oldid=90129746
[3] http://de.wikipedia.org/wiki/special:abuseFilter/test/94 with
  wpTestPeriodStart = 2011-06-16T22:00:00
  wpTestPeriodEnd = 2011-06-16T23:00:00
  wpTestPage = NGC 415‎
Comment 3 Antoine "hashar" Musso (WMF) 2011-10-27 12:18:05 UTC
With bug 31656, anyone editing an article using an old version (?oldid=1234) would not pass through the AbuseFilter. The bug got fixed and applied live, that might solve this issue as well.
Comment 5 matanya 2012-07-29 18:45:26 UTC
looks fixed now. hashar, can you confirm?
Comment 6 Antoine "hashar" Musso (WMF) 2012-07-30 12:24:47 UTC
I have no idea honestly. I have just emitted the assumption that bug 31656 could have fixed it.  To be honest, I am not entirely sure what this bug is about nor how to reproduce it.  If anyone can find a simple test case, that would be great.
Comment 7 Vituzzu@it.wiki 2014-02-23 14:46:54 UTC
Before some later try I think it's related to condition limit, it seemed to work again before I made some deep filters cleanup
Comment 8 seth 2014-05-20 18:51:41 UTC
Hi!

Another example:

https://de.wikipedia.org/wiki/Special:AbuseFilter/test confirms that https://de.wikipedia.org/wiki/Special:AbuseFilter/181 matches edit https://de.wikipedia.org/w/index.php?title=Phineas_und_Ferb/Episodenliste&diff=130562966&oldid=130528342. But though that edit was not blocked.

The "statistics" part says: "On average, its run time is 1.13 ms, and it consumes 6 conditions of the condition limit."

What could be the reason for this? Same bug?
Comment 9 Marius Hoch 2014-05-20 21:46:00 UTC
(In reply to seth from comment #8)
> Hi!
> 
> Another example:
> 
> https://de.wikipedia.org/wiki/Special:AbuseFilter/test confirms that
> https://de.wikipedia.org/wiki/Special:AbuseFilter/181 matches edit
> https://de.wikipedia.org/w/index.php?title=Phineas_und_Ferb/
> Episodenliste&diff=130562966&oldid=130528342. But though that edit was not
> blocked.
> 
> The "statistics" part says: "On average, its run time is 1.13 ms, and it
> consumes 6 conditions of the condition limit."
> 
> What could be the reason for this? Same bug?

That is almost certainly because dewiki's filters often hit the condition limit (more than 60% hit rate atm).
Comment 10 seth 2014-05-22 19:55:16 UTC
Is there any detailed explanation on the condition limit?
What does it mean exactly? How can we reduce the number of conditions. (I guess the condition limit is an upper limit.)

The same rule #181 that had consumed "6 conditions of the condition limit" two days ago on average, today "consumes 831 conditions of the condition limit" on average.
Comment 11 Jesús Martínez Novo (Ciencia Al Poder) 2014-05-22 20:00:35 UTC
(In reply to seth from comment #10)
> Is there any detailed explanation on the condition limit?

This is what we have so far:

https://www.mediawiki.org/wiki/Extension:AbuseFilter/RulesFormat#Conditions

Not very detailed, but can give you some hints.
Comment 12 seth 2014-05-22 20:12:25 UTC
ok, yes, indeed, it gives some hints. So I guess #181 in w:de counts around 7 conditions.

But still I don't have any clue what "consumes X conditions of the condition limit" means. As I said, for the same rule #181 the number X can be 6 or 831.
Comment 13 Jesús Martínez Novo (Ciencia Al Poder) 2014-05-22 20:37:28 UTC
The consumed condition varies on each run. On every action (usually edit), each active filter is evaluated in order. As seen in the "Conditions" examples, some expressions may create shortcuts depending on the value of the variables for the particular action, resulting in a variable number of conditions being consumed on each run.

I'm not sure if that count is a cumulative of all the previous filters or just that particular one.

Also it may be a bug with that count, See bug 51294

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links