Last modified: 2009-06-16 14:56:27 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 T21216, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 19216 - Recent software changes broke the Abuse Filter
Recent software changes broke the Abuse Filter
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
AbuseFilter (Other open bugs)
unspecified
All All
: Normal major (vote)
: ---
Assigned To: Andrew Garrett
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-06-15 15:30 UTC by Robert Rohde
Modified: 2009-06-16 14:56 UTC (History)
1 user (show)

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


Attachments

Description Robert Rohde 2009-06-15 15:30:20 UTC
I'm not sure exactly how widespread the problems are, but multiple important keywords seem to have been broken in the update as shown in both the batch testing interface and in live rules (e.g. the log of Rule 180).

Known problem keywords:

added_lines, removed_lines

Examples of bad behavior:

length(added_lines) < 100 is sometimes True on edits adding thousands of characters.  
length(removed_lines) < 100 is sometimes True on edits removing thousands of characters.
contains_any(added_lines, ... ) is sometimes False even when the diff and examine interface say it should be True.

A large number of existing rules that either aren't working or are working only erratically may need to be disabled until this is fixed.
Comment 1 Andrew Garrett 2009-06-16 09:16:22 UTC
Is this still the case?

Are there examples?

Have you isolated a test case?

Discussion on http://en.wikipedia.org/wiki/Wikipedia_talk:Abuse_Filter#Massive_triggering_of_filter_28 seems to indicate that it wasn't the vast problem described.
Comment 2 Robert Rohde 2009-06-16 13:49:17 UTC
Look at the very large diffs being matched by "length(added_lines) < 100" in batch testing

Or for a more specific example try '!contains_any(added_lines,"[[","{{")' for User:Naraht.  There are many examples that match even though they contain [[.  Similar examples are also present in log 180 until it was disabled.
Comment 3 Andrew Garrett 2009-06-16 14:14:52 UTC
(In reply to comment #2)
> Look at the very large diffs being matched by "length(added_lines) < 100" in
> batch testing
> 
> Or for a more specific example try '!contains_any(added_lines,"[[","{{")' for
> User:Naraht.  There are many examples that match even though they contain [[. 
> Similar examples are also present in log 180 until it was disabled.
> 

Batch testing seems to be broken. Matches according to the batch test, but not according to 'examine'. Not sure if the actual filters are broken.
Comment 4 Robert Rohde 2009-06-16 14:23:33 UTC
Based on 180 in particular, I think it is affecting actual filters, but possibly only in rare circumstances.

I'm not sure it is related or not, but the frequency of condition limited events also seemed to jump with the update.
Comment 5 Andrew Garrett 2009-06-16 14:37:08 UTC
I've found the buggy code in question, and I'm working on a fix.
Comment 6 Andrew Garrett 2009-06-16 14:56:27 UTC
Fixed in r51970 and deployed on Wikimedia sites.

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


Navigation
Links