Daimona
Musician

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Monday

  • Clear sailing ahead.

User Details

User Since
May 18 2017, 10:49 AM (70 w, 1 d)
Availability
Available
IRC Nick
Daimona
LDAP User
Daimona Eaytoy
MediaWiki User
Daimona Eaytoy [ Global Accounts ]

Recent Activity

Yesterday

Daimona added a comment to T204475: update.php terminates without messages after MCR migration.

@PlavorSeol Now we surely know that the problem is directly inside populateContentTables. The next thing to try is what Anomie suggested, then we'll probably get some sort of answer.

Fri, Sep 21, 6:57 PM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions
Daimona claimed T203587: Major overhaul for "throttle" action.
Fri, Sep 21, 6:18 PM · User-Daimona, Core-Platform-Team (CPT-Q1-Jul-Sep-2018), Patch-For-Review, Technical-Debt, AbuseFilter
Daimona added a comment to T175221: Replace and split $wgAbuseFilterRestrictions responsibility with more verbose variable names. .

I'd make the change this way:

  1. Keep $wgAbuseFilterRestrictions as it is, and use it for point 1
  2. For point 2, add a new variable like $wgAbuseFilterDangerousActions
  3. Add $wgAbuseFilterBlockingActions for point 3 and 4 (they're used for the same reason), and rename $wgAbuseFilterDisallowGlobalLocalBlocks to $wgAbuseFilterLocallyDisableGlobalBlockingActions

Then make the change in WMF config and copy these lines for new variables.

Fri, Sep 21, 5:58 PM · User-Daimona, AbuseFilter
Daimona added a comment to T204475: update.php terminates without messages after MCR migration.

@PlavorSeol Could you please add something like

Fri, Sep 21, 5:44 PM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions
Daimona claimed T204650: Special:AbuseFilter/history should color empty fields with red if changed.
Fri, Sep 21, 2:22 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona moved T204128: testfilter parameter for ViewExamine shouldn't use GET from Next to Under review on the User-Daimona board.
Fri, Sep 21, 1:24 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona moved T204841: Fatal AFPUserVisibleException when evaluating certain arrays from Backlog to Under review on the User-Daimona board.
Fri, Sep 21, 1:22 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona added a project to T204841: Fatal AFPUserVisibleException when evaluating certain arrays: User-Daimona.
Fri, Sep 21, 1:21 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona claimed T204128: testfilter parameter for ViewExamine shouldn't use GET.
Fri, Sep 21, 1:21 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona claimed T204841: Fatal AFPUserVisibleException when evaluating certain arrays.
Fri, Sep 21, 1:20 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona added a comment to T204475: update.php terminates without messages after MCR migration.

I have a hunch: I see that @PlavorSeol runs MW on Windows. Maybe it's a problem with windows and Shell? I'm sure that Shell has problems with windows (see T199989 and T183759, although in this case the script seems to complete), maybe this is related? All I can suggest is, as I wrote in T204475#4600808, to add some echos and see where the execution is halted.

Fri, Sep 21, 11:42 AM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions
Daimona added a comment to T204841: Fatal AFPUserVisibleException when evaluating certain arrays.

Hooray, I finally found the reason! There's an error in short circuit evaluation. This is how the parser behaves

  1. Sets variables correctly
  2. Evaluates a[0] != false and this is correctly parsed as false
  3. Then we have the & and $result is already false, so we enter in the short-circuit case
  4. It tries to evaluate the next token, which is b, and levels cascade until doLevelAtom
  5. Now doLevelAtom should get the value of the given variable (since b is AFPToken::TID).
Fri, Sep 21, 11:17 AM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter

Thu, Sep 20

Daimona moved T204841: Fatal AFPUserVisibleException when evaluating certain arrays from Regressed 1.32-wmf.20 to Untriaged on the Wikimedia-production-error board.

Well, this already happened in REL1_27... I didn't go beyond because I'd need to install an older version of MediaWiki, which I don't have time to do now. We can surely say that this is not a regression introduced recently (although I'm not sure about the column in Wikimedia-production-error).
Also, the pattern seems to be correctly tokenized, so the problem is strictly inside AbuseFilterParser. To enrich the set of non-working examples: (a[0] != false & b[1]) != false produces the same result, i.e. syntax OK but then the same error on evaluation. Instead, it can't be (a[0] != false & b)[1] != false because this doesn't pass syntax check.
Something that could help debugging is that syntax check is passing. The main (and, I think, only) difference between evaluateExpression and checkSyntax is that the latter has $this->mAllowShort = false, so that short circuits aren't allowed. This means that the problem only happen when we try to short-circuit the evaluation.

Thu, Sep 20, 11:21 AM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona added a comment to T204475: update.php terminates without messages after MCR migration.

This has nothing to do with AbuseFilter, I'm afraid. MCR quits update.php without reporting errors, so the needed tables aren't created and of course AbuseFilter doesn't work. Given that we don't have any output from the script, the only thing I can suggest to try is to insert some echos all through populateContentTables to approximately see in which point it stops.

Thu, Sep 20, 9:11 AM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions
Daimona added a comment to T204881: Failed executing job: AssembleUploadChunks "Disallowed by AbuseFilter".

This seems to be due to a flaky AbuseFilter on commons. However, I don't know what this job is supposed to do and why such filter is triggered.

Thu, Sep 20, 8:07 AM · Multimedia, MediaWiki-Uploading, AbuseFilter, Wikimedia-production-error
Daimona added a comment to T204841: Fatal AFPUserVisibleException when evaluating certain arrays.

@matmarex Yes, you may be correct. In fact, (a[0] != false) & (b[1] != false) evaluates correctly as well, and it would also explain why this only happens with both conditions. Needless to say, the problem is still serious, as it may make filters fail. @Krinkle May you please check in logstash how many of these errors we have? If I'm correct, there should be a spike in such errors on itwiki for yesterday.

Thu, Sep 20, 8:05 AM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona renamed T204841: Fatal AFPUserVisibleException when evaluating certain arrays from Fatal AFPUserVisibleException on Special:AbuseFilter/tools when evaluating certain arrays to Fatal AFPUserVisibleException when evaluating certain arrays.
Thu, Sep 20, 7:59 AM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter

Wed, Sep 19

Daimona triaged T204841: Fatal AFPUserVisibleException when evaluating certain arrays as High priority.

It's hard to assess the risks of this error, but it may cause filters to fail silently. This actually happened on itwiki (logstash should bear the evidence).

Wed, Sep 19, 6:31 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona renamed T204841: Fatal AFPUserVisibleException when evaluating certain arrays from Weird behaviour with get_matches and array to Weird behaviour with arrays.
Wed, Sep 19, 6:30 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona updated the task description for T204841: Fatal AFPUserVisibleException when evaluating certain arrays.
Wed, Sep 19, 5:56 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter
Daimona created T204841: Fatal AFPUserVisibleException when evaluating certain arrays.
Wed, Sep 19, 3:59 PM · User-Daimona, Patch-For-Review, Wikimedia-production-error, AbuseFilter

Tue, Sep 18

Daimona created T204654: Find a better way to compute variables when testing filter syntax.
Tue, Sep 18, 8:44 AM · AbuseFilter
Daimona raised the priority of T204228: DBQueryTimeoutError on Special:AbuseFilter/test from Low to Normal.

I experienced this problem again, more than once. It's really annoying, and the query probably needs some tweaking.

Tue, Sep 18, 8:39 AM · Wikimedia-production-error, AbuseFilter
Daimona moved T204650: Special:AbuseFilter/history should color empty fields with red if changed from Backlog to Next on the User-Daimona board.
Tue, Sep 18, 8:23 AM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona added a project to T204650: Special:AbuseFilter/history should color empty fields with red if changed: User-Daimona.
Tue, Sep 18, 8:23 AM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona created T204650: Special:AbuseFilter/history should color empty fields with red if changed.
Tue, Sep 18, 8:23 AM · Patch-For-Review, User-Daimona, AbuseFilter

Mon, Sep 17

Daimona renamed T204475: update.php terminates without messages after MCR migration from AbuseFilter database tables are not updated to update.php terminates without messages after MCR migration.
Mon, Sep 17, 3:49 PM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions
Daimona edited projects for T204475: update.php terminates without messages after MCR migration, added: Multi-Content-Revisions, MediaWiki-Installer; removed AbuseFilter.

This shouldn't happen. MCR isn't even the last row for core updates. The only thing I can say for sure is, this isn't due to AbuseFilter, but more likely to MCR or something else in the update script, as long as you're sure that your wiki is properly configured.

Mon, Sep 17, 3:48 PM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions
Daimona edited Description on User-Daimona.
Mon, Sep 17, 12:03 PM
Daimona added a comment to T204475: update.php terminates without messages after MCR migration.

@PlavorSeol This is weird, because the abuse_filter_action table has always been included in the main schema, i.e. it's not been added with a db_patch. SQLite schema has it as well, so it should be installed during update.php. The only thing I can think of at the moment is: the update.php output ends with MCR stuff, and not with a success message. Are you sure that the script has been fully executed?

Mon, Sep 17, 8:57 AM · AbuseFilter, MediaWiki-Installer, Multi-Content-Revisions

Sun, Sep 16

Daimona removed a project from T199621: "Warn" action should be repeated if the action changes: Patch-For-Review.
Sun, Sep 16, 6:22 PM · MW-1.32-release-notes (WMF-deploy-2018-07-17 (1.32.0-wmf.13)), AbuseFilter
Daimona moved T204447: Execute actions after having actually determined which actions to execute from Backlog to Next on the User-Daimona board.
Sun, Sep 16, 4:17 PM · User-Daimona, AbuseFilter
Daimona created T204447: Execute actions after having actually determined which actions to execute.
Sun, Sep 16, 4:16 PM · User-Daimona, AbuseFilter
Daimona renamed T7330: Porn link from Lolita to Porn link.
Sun, Sep 16, 4:10 PM · Wikimedia-General-or-Unknown
Daimona closed T204446: Trash as Invalid.
Sun, Sep 16, 4:08 PM · Trash
Daimona closed T204446: Trash, a subtask of T7330: Porn link, as Invalid.
Sun, Sep 16, 4:08 PM · Wikimedia-General-or-Unknown
Daimona moved T203587: Major overhaul for "throttle" action from Backlog to Under review on the User-Daimona board.
Sun, Sep 16, 4:01 PM · User-Daimona, Core-Platform-Team (CPT-Q1-Jul-Sep-2018), Patch-For-Review, Technical-Debt, AbuseFilter
Daimona added a project to T203587: Major overhaul for "throttle" action: User-Daimona.
Sun, Sep 16, 4:01 PM · User-Daimona, Core-Platform-Team (CPT-Q1-Jul-Sep-2018), Patch-For-Review, Technical-Debt, AbuseFilter
Daimona moved T204236: Old variables are computed wrongly for old entries from Backlog to Future on the User-Daimona board.
Sun, Sep 16, 12:32 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona added a project to T204236: Old variables are computed wrongly for old entries: User-Daimona.
Sun, Sep 16, 12:32 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona lowered the priority of T204236: Old variables are computed wrongly for old entries from Unbreak Now! to Low.

The cleanup is low priority, since it should be addressed together with other stuff, and with care.

Sun, Sep 16, 12:32 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona closed T204231: Special:AbuseFilter/test doesn't let you test for autocreateaccount actions as Resolved.
Sun, Sep 16, 12:30 PM · MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), Easy, AbuseFilter

Sat, Sep 15

Daimona moved T145931: AbuseFilter permissions spread all over InitialiseSettings and abusefilter.php: they should be in one place from Backlog to Future on the User-Daimona board.
Sat, Sep 15, 12:39 PM · User-Daimona, AbuseFilter, Wikimedia-Site-requests
Daimona added a project to T145931: AbuseFilter permissions spread all over InitialiseSettings and abusefilter.php: they should be in one place: User-Daimona.
Sat, Sep 15, 12:38 PM · User-Daimona, AbuseFilter, Wikimedia-Site-requests
Daimona moved T151291: "User::loadFromSession called before the end of Setup.php" warning due to AbuseFilter from Backlog to Next on the User-Daimona board.
Sat, Sep 15, 12:36 PM · User-Daimona, Core-Platform-Team, AbuseFilter, Wikimedia-production-error
Daimona added a project to T151291: "User::loadFromSession called before the end of Setup.php" warning due to AbuseFilter: User-Daimona.
Sat, Sep 15, 12:36 PM · User-Daimona, Core-Platform-Team, AbuseFilter, Wikimedia-production-error
Daimona moved T204128: testfilter parameter for ViewExamine shouldn't use GET from Backlog to Next on the User-Daimona board.
Sat, Sep 15, 12:36 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona added a project to T204128: testfilter parameter for ViewExamine shouldn't use GET: User-Daimona.
Sat, Sep 15, 12:36 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona moved T187153: Special:Abuselog throws when viewing details or examining (BadMethodCallException: Call get getId() on null) from Backlog to Future on the User-Daimona board.
Sat, Sep 15, 12:35 PM · User-Daimona, Regression, Multi-Content-Revisions, User-Addshore, Wikimedia-production-error, Chinese-Sites, AbuseFilter
Daimona added a project to T187153: Special:Abuselog throws when viewing details or examining (BadMethodCallException: Call get getId() on null): User-Daimona.
Sat, Sep 15, 12:35 PM · User-Daimona, Regression, Multi-Content-Revisions, User-Addshore, Wikimedia-production-error, Chinese-Sites, AbuseFilter
Daimona moved T204235: Variables inside wgAbuseFilterVariables (available via JS) have old names for old entries from Backlog to Future on the User-Daimona board.
Sat, Sep 15, 12:34 PM · User-Daimona, AbuseFilter
Daimona added a project to T204235: Variables inside wgAbuseFilterVariables (available via JS) have old names for old entries: User-Daimona.
Sat, Sep 15, 12:34 PM · User-Daimona, AbuseFilter
Daimona moved T191740: Bundle AbuseFilter extension with MW 1.32 from Backlog to Future on the User-Daimona board.
Sat, Sep 15, 12:34 PM · User-Daimona, MW-1.32-release, AbuseFilter, MW-1.31-release-notes (WMF-deploy-2018-04-10 (1.31.0-wmf.29)), MediaWiki-Releasing
Daimona added a project to T191740: Bundle AbuseFilter extension with MW 1.32: User-Daimona.
Sat, Sep 15, 12:34 PM · User-Daimona, MW-1.32-release, AbuseFilter, MW-1.31-release-notes (WMF-deploy-2018-04-10 (1.31.0-wmf.29)), MediaWiki-Releasing
Daimona moved T200032: Some wikis have block enabled but don't assign the abusefilter-modify-restricted right to anyone from Backlog to Waiting on the User-Daimona board.
Sat, Sep 15, 12:34 PM · User-Daimona, Wikimedia-Site-requests, AbuseFilter
Daimona added a project to T200032: Some wikis have block enabled but don't assign the abusefilter-modify-restricted right to anyone: User-Daimona.
Sat, Sep 15, 12:33 PM · User-Daimona, Wikimedia-Site-requests, AbuseFilter
Daimona moved T36180: New test tool: examine syntax against the past hits of a filter from Backlog to Next on the User-Daimona board.
Sat, Sep 15, 12:33 PM · User-Daimona, AbuseFilter
Daimona added a project to T36180: New test tool: examine syntax against the past hits of a filter: User-Daimona.
Sat, Sep 15, 12:33 PM · User-Daimona, AbuseFilter
Daimona moved T175221: Replace and split $wgAbuseFilterRestrictions responsibility with more verbose variable names. from Backlog to Next on the User-Daimona board.
Sat, Sep 15, 12:32 PM · User-Daimona, AbuseFilter
Daimona added a project to T175221: Replace and split $wgAbuseFilterRestrictions responsibility with more verbose variable names. : User-Daimona.
Sat, Sep 15, 12:32 PM · User-Daimona, AbuseFilter
Daimona added a comment to T204407: Create User-Daimona project.

@MGChecker Thanks :-)

Sat, Sep 15, 12:28 PM · Project-Admins
Daimona added a comment to T36180: New test tool: examine syntax against the past hits of a filter.

My proposal is to add this feature to Special:AbuseFilter/test. At the top (or bottom) of the form, we may add something like

Sat, Sep 15, 12:06 PM · User-Daimona, AbuseFilter
Daimona updated the task description for T36180: New test tool: examine syntax against the past hits of a filter.
Sat, Sep 15, 12:03 PM · User-Daimona, AbuseFilter
Daimona created T204407: Create User-Daimona project.
Sat, Sep 15, 11:46 AM · Project-Admins

Fri, Sep 14

Daimona raised the priority of T204236: Old variables are computed wrongly for old entries from High to Unbreak Now!.

Old entries are untestable. While for big wikis this isn't a problem, for small ones it definitely is. For instance, we're trying to test a new filter on itwikinews, but since title variables are null for old entries we're more or less paralyzed. While there's no hurry for point 3, point 2 is vital.

Fri, Sep 14, 5:36 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona added a comment to T175221: Replace and split $wgAbuseFilterRestrictions responsibility with more verbose variable names. .

Agreed, definitely. This variable should only be used for point 1. Using it for point 2 should be fine, but I agree that we should split them. The one in point 3 makes few sense, and really needs to be split. Point 4 instead is completely wrong. Actually, we should completely rework the way AbuseFilter takes actions: instead of doing it on the fly, it should first iterate through all actions to perform, then choose the ones to apply following a given priority, and then actually do them. This was alrady done for blocks in order to choose the longest duration, and would make T24623 a lot easier. It would also make really clear the action priority, and of course it would automatically avoid double warnings.

Fri, Sep 14, 5:25 PM · User-Daimona, AbuseFilter
Daimona lowered the priority of T204228: DBQueryTimeoutError on Special:AbuseFilter/test from High to Low.

Hmm the query seems normal. Might this be caused by a temporary DB overload? After all, I managed to get the results of the same query in a couple of seconds some time later.

Fri, Sep 14, 11:06 AM · Wikimedia-production-error, AbuseFilter

Thu, Sep 13

Daimona added a comment to T187153: Special:Abuselog throws when viewing details or examining (BadMethodCallException: Call get getId() on null).

Whatever we decide to do, we should handle this together with T204236, which needs a maintenance script for the afl_var_dump field as well. As I wrote in T204236#4581410, we should also change the way we store the dump to be simpler, and JSON may help with it.

Thu, Sep 13, 4:55 PM · User-Daimona, Regression, Multi-Content-Revisions, User-Addshore, Wikimedia-production-error, Chinese-Sites, AbuseFilter
Daimona added a comment to T204236: Old variables are computed wrongly for old entries.

The patch above is for point 2. Point 3, however, is quite hard, for several reasons. The main one is that storing the dump may happen (or, I should say, happened) in lots of ways. See loadVarDump to see what I mean: there are rows where it's stored directly in afl_var_dump, where in turn it may either be an array or (I think) an instance of AbuseFilterVariableHolder. Plus, it could have up to three flags (external, gzip and nativeDataArray) to determine how it's encoded. Also, it could be stored inside ExternalStorage or not. All these things mean that we'd need to handle lots of different cases, and this could require too much effort since with the above patch everything will work again. My proposal is to first find a standard way to store the dump. Having it directly inside the abuse_filter_log doesn't seem bad to me: direct access and no need to write in the text table. However, I guess that there's a reason if we do it. At any rate, the method should be simplified. Then, we should write the script to change variable names, and seize the opportunity to fix T187153 as well.

Thu, Sep 13, 4:54 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona updated the task description for T204236: Old variables are computed wrongly for old entries.
Thu, Sep 13, 1:50 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona added a comment to T204235: Variables inside wgAbuseFilterVariables (available via JS) have old names for old entries.

If we decide to change old dumps as part of T204236, this would be automatically fixed.

Thu, Sep 13, 1:45 PM · User-Daimona, AbuseFilter
Daimona renamed T204236: Old variables are computed wrongly for old entries from page_namespace (and maybe other variables) are computed wrongly for some entries to Old variables are computed wrongly for old entries.
Thu, Sep 13, 1:38 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona claimed T204231: Special:AbuseFilter/test doesn't let you test for autocreateaccount actions.
Thu, Sep 13, 1:29 PM · MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), Easy, AbuseFilter
Daimona updated the task description for T204236: Old variables are computed wrongly for old entries.
Thu, Sep 13, 1:14 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona created T204236: Old variables are computed wrongly for old entries.
Thu, Sep 13, 1:02 PM · User-Daimona, MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona created T204235: Variables inside wgAbuseFilterVariables (available via JS) have old names for old entries.
Thu, Sep 13, 12:54 PM · User-Daimona, AbuseFilter
Daimona renamed T204231: Special:AbuseFilter/test doesn't let you test for autocreateaccount actions from Special:AbuseFilter/test doesn't let you test for createaccount actions to Special:AbuseFilter/test doesn't let you test for autocreateaccount actions.
Thu, Sep 13, 12:39 PM · MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), Easy, AbuseFilter
Daimona created T204231: Special:AbuseFilter/test doesn't let you test for autocreateaccount actions.
Thu, Sep 13, 12:39 PM · MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), Easy, AbuseFilter
Daimona triaged T204228: DBQueryTimeoutError on Special:AbuseFilter/test as High priority.
Thu, Sep 13, 12:29 PM · Wikimedia-production-error, AbuseFilter
Daimona created T204228: DBQueryTimeoutError on Special:AbuseFilter/test.
Thu, Sep 13, 12:29 PM · Wikimedia-production-error, AbuseFilter
Daimona added a comment to T204210: Sorting by user name on Special:AbuseFilter/history doesn't work.

I don't see it that useful, i.e. it's only worth it if we can reimplement it with minimal effort. As for the reason it isn't working, looking at queries I can see that it is indeed ordered by afh_timestamp. I suspect a bug inside TablePager, or maybe we're just doing something weird with it.

Thu, Sep 13, 11:55 AM · AbuseFilter
Daimona added a comment to T151291: "User::loadFromSession called before the end of Setup.php" warning due to AbuseFilter.

@tstarling Yes, I guess this makes sense. Making the log entry anonymous seems pretty straightforward, but what about the row to insert in abuse_filter_log? We need an ID and a name for it, so we still need to know if the user is safe to load. Or, do we?

Thu, Sep 13, 7:13 AM · User-Daimona, Core-Platform-Team, AbuseFilter, Wikimedia-production-error

Wed, Sep 12

Daimona added a comment to T204128: testfilter parameter for ViewExamine shouldn't use GET.

Also, non-ASCII characters may be a problem. I still have to properly think about this, but since we're using plain links I don't see any clean solution.

Wed, Sep 12, 3:41 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona added a comment to T186960: Add subroutines to AbuseFilter.

Note about this feature: it'd be cool to make this function accept arrays or be variadic (like contains_any/all). For instance, add two functions:

Wed, Sep 12, 3:34 PM · Patch-For-Review, AbuseFilter
Daimona created T204128: testfilter parameter for ViewExamine shouldn't use GET.
Wed, Sep 12, 2:46 PM · Patch-For-Review, User-Daimona, AbuseFilter
Daimona created T204126: AbuseLog impact search should take page deletion into account.
Wed, Sep 12, 2:14 PM · AbuseFilter
Daimona added a comment to T151291: "User::loadFromSession called before the end of Setup.php" warning due to AbuseFilter.

Reading the stacktrace, the last call in AbuseFilter is to ManualLogEntry::getRecentChange. The log entry in question is constructed here and includes a performer. Such performer is in turn the User object generated here, which can be either:

  1. An user object used to call AbuseFilter::filterAction
  2. $wgUser if no user is specified
  3. A dummy anonymous user if the user isn't safe to load
Wed, Sep 12, 2:00 PM · User-Daimona, Core-Platform-Team, AbuseFilter, Wikimedia-production-error
Daimona claimed T193723: Add Phan tests to UserMerge.
Wed, Sep 12, 12:07 PM · Patch-For-Review, MediaWiki-extensions-UserMerge
Daimona claimed T203585: Throttle parameters may have an undesired comma inside.
Wed, Sep 12, 9:21 AM · Patch-For-Review, Technical-Debt, AbuseFilter
Daimona claimed T203535: PHP Error "Undefined index: 1 in AbuseFilter.php on line 928".
Wed, Sep 12, 9:20 AM · Core-Platform-Team (CPT-Q1-Jul-Sep-2018), AbuseFilter, Wikimedia-production-error
Daimona claimed T203584: Throttle groups may be empty or include unknown stuff.
Wed, Sep 12, 9:20 AM · Patch-For-Review, Technical-Debt, AbuseFilter
Daimona claimed T203554: Rewrite throttle parameters.
Wed, Sep 12, 9:20 AM · Patch-For-Review, Wikimedia-maintenance-script-run, Technical-Debt, AbuseFilter
Daimona created T204107: UserMerge is missing messages for log entries.
Wed, Sep 12, 9:18 AM · Patch-For-Review, I18n, MediaWiki-extensions-UserMerge

Tue, Sep 11

Daimona added a comment to T42757: Joins on INTEGER and TEXT fail with PostgreSQL.

@Marostegui Yep, many thanks :-) I'll go ahead with that as soon as we'll be ready.

Tue, Sep 11, 5:55 PM · Patch-For-Review, PostgreSQL, AbuseFilter
Daimona added a comment to T42757: Joins on INTEGER and TEXT fail with PostgreSQL.

@Marostegui Perfect. I guess we should seize the opportunity and rename afl_filter to afl_filter_id to make sure that it's INT. At any rate, I think this should be momentarily delayed, since we're already dealing with several big changes to AF (actor migration, major overhaul for throttling and major overhaul for profiling). IMHO they should have the priority over this change, which (although necessary for performance etc.) is harmless on MySQL/MariaDB.

Tue, Sep 11, 8:06 AM · Patch-For-Review, PostgreSQL, AbuseFilter
Daimona triaged T183099: Provide a button for quickly reactivating filters as Low priority.

@SpookyGhost8 This is not easy as it may seem, and a dummy edit would probably be the best solution for now :-) The problem itself is not how to display the button, but what to do later: we'd need to add a submit button with a different formaction (i.e. unthrottle the filter), check for it in the PHP code and write a specific function to only change af_throttled for the filter to be 0; this isn't that hard. What makes this non trivial is that such unthrottling should be somehow shown in filter history, but we don't have a frame for it. More specifically, in filter history, the af_throttled field is not taken into account at all, so we'd have to add a check for it, show it in the diff, and reformat rows on history to show that the filter has been unthrottled. But there's no dedicated column to show it.
In practice, this could really be a handy feature, but it's a low priority one, given the needed amount of work involved, which would probably outweigh the benefit. After all, you would still have to open the filter and hit a button, and a history row would still appear. Adding some spacing to filter pattern or history before hitting that button is quick, and avoid an unnecessary (for the moment) refactor.

Tue, Sep 11, 7:39 AM · AbuseFilter

Mon, Sep 10

Daimona added a project to T42757: Joins on INTEGER and TEXT fail with PostgreSQL: DBA.

@Marostegui Unfortunately, neither do I :-) However, PG is just the cause here. What we want to do (and I'm asking DBAs about) is perform a schema change on abuse_filter_action. Simply, we'd like to add a column (afl_filter_global) and ALTER the afl_column to be integer instead of text, for every DBMS. As I was saying, the table isn't that small, so we need to make sure that the process will be smooth.

Mon, Sep 10, 7:12 PM · Patch-For-Review, PostgreSQL, AbuseFilter
Daimona added a project to T42757: Joins on INTEGER and TEXT fail with PostgreSQL: DBA.

Right now we have a total of five cases where such a JOIN is done. Schema changes aren't something to take carelessly, but this column doesn't really make sense. The table is pretty large though (for instance, 22 millions rows on enwiki). I guess we should first add the new column, start writing it, and reading from both. Then clean the afl_filter column with a maintenance script and finally change it to be INT.
Adding DBA for thoughts about the process above.

Mon, Sep 10, 6:15 PM · Patch-For-Review, PostgreSQL, AbuseFilter

Sun, Sep 9

Daimona closed T202310: Make the logic for showing snippets of searched filters and the filter editor multibyte safe as Resolved.
Sun, Sep 9, 4:37 PM · MW-1.32-release-notes (WMF-deploy-2018-09-18 (1.32.0-wmf.22)), AbuseFilter
Daimona closed T203359: Simplify throttle-related method after maintenance script execution as Invalid.
Sun, Sep 9, 3:26 PM · Patch-For-Review, Technical-Debt, AbuseFilter