11

Steps to reproduce:

  1. Setup a custom filter with a big number of tags. The ones I currently have for testing is

javascript or typescript or flowtype or node.js or functional-programming or lodash or underscore.js or ramda.js or knockout.js or jasmine or mocha.js or jestjs or chai or regex or jquery or lambda or recursion or cyclomatic-complexity or complexity-theory zzzz

I do not think the "Sorted by" makes a difference here but I have "Newest" selected.
I also do not think the "Filter by" makes a difference. I chose none of the options.

Custom filter using the above quoted string as filter for tags.

For completeness, I have called it "test" but I do not think the name matters.

Note that the zzzz tag does not exist. I use it for padding.

  1. Open the custom filter from the side bar. This works and you get questions filtered by the given criteria. Live reloading also works fine - you get notification for new questions and clicking it loads them:

Screenshot of the list of question with a notification about new activity on top.

  1. Refresh the page.

Expected result: everything works like going at step 2 again - questions are loaded and filtered.

Actual result: An error page shows up with the following text:

Bad Request - Invalid URL

HTTP Error 400. The request URL is invalid.

Screenshot of the page with the message from above

Tested on: Firefox 89.0.2 on Windows 10
Chrome 89.0.4389.90 on Windows 10
Firefox 89 on Manjaro Linux
Chromium 90.0.4430.212 on Manjaro Linux
wget and curl on Manjaro Linux
Brave 1.26.74, Chromium 91.0.4472.124 on Android
Firefox 89.1.1 on Android

Happens both on my normal landline as well as a separate mobile network.


Additional information:

As of close to a week now (2021-08-03), I cannot reproduce this problem.

20
  • I did some high-level research on this really recently; I'm not sure that the limit is actually around 262 characters, since that first link works fine for me, and you can have both searches (79 tags + wildcard, 1,750 characters) and savable filters (49 tags + wildcard, 1135 characters) with much larger lengths than what you've provided (apologies for the link shorteners, these URLs are huge).
    – zcoop98
    Jul 15 at 14:25
  • The only hard limit I found for sure with filters was a system one on tag quantity; a filter will only successfully save with 50 tags maximum, but wildcards only count as one tag.
    – zcoop98
    Jul 15 at 14:26
  • 1
    @zcoop98 "that first link works fine for me" I get Bad Request in both Firefox and Chrome on Windows. The two tinyurl links you have also give me Bad Request. Note that saving a custom filter and loading a custom filter work for me. When loading, it's actually navigating to https://stackoverflow.com/questions/tagged?uqlId=44345 (so, has the ID for the custom filter) which then expands to the full filter string in the URL. But going to the URL with the filter string in place fails.
    – VLAZ
    Jul 15 at 14:35
  • I wonder what's different on my end then, hm... (Screenshot of search) I am on Chrome v91, but it'd be a little silly if that made the difference.
    – zcoop98
    Jul 15 at 14:38
  • status-no-repro
    – Luuklag
    Jul 15 at 14:41
  • @zcoop98 dunno. This did work for me yesterday. I've also seen it on two different machines. If there is something on my end, it must be related to my connection - the two machines share it. I'll also try it on Linux now. It could also be caching, I suppose. Not sure how. Or maybe going through different network paths - like me getting the short stick for some load balancer or something.
    – VLAZ
    Jul 15 at 14:41
  • @VLAZ you mind trying on a mobile connection? 4/5G for example
    – Luuklag
    Jul 15 at 14:42
  • @Luuklag not at all. Give me a moment to boot up the Linux laptop I have and test it there first. I'll then try my phone and also try tethering the PC to the phone.
    – VLAZ
    Jul 15 at 14:45
  • @Luuklag OK tried it. Same thing happens on both my desktops (Windows), on my laptop (Linux), my phone (Android) and it's the same whether I use mobile connection or normal landline.
    – VLAZ
    Jul 15 at 15:02
  • When I first ran into the Bad Request error, I made the assumption that the error was server-side, because SE has to interpret the request sent over by client; but if some long URLs work for one user and not for others, then maybe it's actually client-side? But that doesn't sound like it makes much sense... that said, I don't have any idea as to why the limit on SE's side would be different from user to user though, that'd be super weird.
    – zcoop98
    Jul 15 at 15:06
  • 1
    @zcoop98 clients connecting through different network routes is going to be my next guess. Doing nslookup stackoverflow.com I get 151.101.65.69; 151.101.193.69; 151.101.129.69; 151.101.1.69; might be those machines that are a problem. Maybe they mangle the request if it's too long. I just tried each and they all gave me Bad Request.
    – VLAZ
    Jul 15 at 15:12
  • @VLAZ Do you mean tracert stackoverflow.com? nslookup will give the IPs associated with SO's domain. tracert will show all the steps between your connection and their server.
    – zcoop98
    Jul 15 at 15:32
  • 1
    @zcoop98 no, I do mean nslookup - it did give me 4 different addresses that will answer when trying to reach stackoverflow.com. I then tried wget with a non-working URL multiple times until I saw a response from each of the machines. All of them returned Bad Request. Using the one character shorter URL worked, however.
    – VLAZ
    Jul 15 at 15:35
  • 3
    This also affects the API, apparently. I get the same error if the URL is long. Jul 17 at 10:10
  • 1
    VOTING TO CLOSE MY QUESTION: I can no longer reproduce it. It's been about a week and it is working correctly. I delayed the closure to make sure it won't randomly regress.
    – VLAZ
    Aug 3 at 17:39

Browse other questions tagged .