Sudden "The requested URL or resource could not be found."


(Geoffrey Challen) #1

I’ve had a Discourse instance running happily for over a month, until just about an hour ago. Now I’m getting:

  • frequent “The requested URL or resource could not be found.” when loading any page.
  • periodic “you don’t have access to that category” errors
  • random logouts
  • random “You don’t have access to that topic errors”

Any clues how to debug or fix this? At least for me my forum is pretty unusable, and I suspect that this is also affecting other users…

Just confirmed that this is also affecting my other admin user.


(Geoffrey Challen) #2

So at this point this seems related to my IP address. Switching to another router and things work again. Switch back and they are broken again.

One important note is that I accidentally ran a script that made a bunch of API calls right before this started. So I’m wondering if that triggered a per-IP ban somewhere…


(Geoffrey Challen) #3

Apparently this is a widespread problem for my users.

I’m not sure what to do at this point. Are there some commands that I can run to check the database for issues, clear out state from various Discourse components, etc.?


(Geoffrey Challen) #4

As another follow up, this seems to be related to logout and suspend functionality. At some point today one of my scripts broke, which caused all users to be suspend and logged out using the API functionality. Somehow that seems to have borked the session state causing the problems I described above.

Deleting all user sessions using the API seems to have cleared things up… I hope. Not sure what caused the initial problem however, since it seems reasonable to expect the suspend and logout APIs to not cause this problem…


(Geoffrey Challen) #5

Spoke too soon—this is still happening. Seems confined to my user at this point. Now it is manifesting itself as sudden logouts after just a minute or two.

Any help with this? It’s super confusing and disconcerting. Note that this still has the strange IP address dependency that it did previously, in case that’s helpful. Moving to a different subnet solves the problem.


(Régis Hanol) #6

Have you checked the screened IPs list? It’s available at example.com/admin/logs/screened_ip_addresses.


(Geoffrey Challen) #7

Yup, did that. Nothing unusual there.

What’s so weird about this is how episodic it is. Right now I’m logged in to my forum and things are working fine. But in a few minutes, I’ll suddenly be logged out. (Somehow this always happens right in the midst of a hugely enlightening post, of course.)

I’ve seen notes from @sam about the session coherency protocol, so I’m wondering if I’m triggering some instability or corner case there…


(Dena Blaze) #8

Am having the same problem also. This is a recent issue for me since I have been running discourse for close to 6 months with no problem. Also after getting logged out once I try to log in again I get

The requested URL or resource could not be found.

After this once I reload the site everything returns to normal for a while.


(Geoffrey Challen) #9

Sorry about this! It’s very frustrating.

I wish I could remember what I did that solved the problem. I think there was some stale data stuck in a cache somewhere, but it was far from clear how to fix it. If you’re really stuck let me know and I’ll try digging into our server logs in case there’s anything useful…


(Jesse Perry) #10

Just got this on the homepage and have never seen this before. Didn’t do anything recently to cause this (i.e. update)

Any ideas yet what’s caused this?

P.S. I have also experienced your referenced “you don’t have access to that category” errors randomly in the past, when a reload (maybe 2 or 3) loads fine.


(Jesse Perry) #11

Now it’s back 5 minutes later…


(Jeff Atwood) #12

Any thoughts on this @sam? Ideas for troubleshooting is fine.


(Bryan Underwood) #13

I am not sure if this totally applies, but I just had something like this happen to me. I am running through a script I wrote with the Discourse API. I changed one of my SSO settings which incidentally changed my discourse admin username to something else. Since I have to make API calls with my API key and my API username, I started receiving this message after a happy day of scripting. Since my discourse api_username changed, the calls were rejected.

If anyone has this problem, here are your two simple options:
A) Change the api_username to the new discourse username in your script
B) Change the discourse username in the site front-end to match the api_username you are sending.

Again, this may not help @jesselperry but might help others since I landed on this thread during troubleshooting.


#14

I suddenly had the same problem.

Fortunately it’s a development instance and I happened to have an api key, so I solved it by logging out all users with curl:

url=http://...; key1=api_key=...; key2=api_username=...; curl -sS $url/admin/users/list/active.json?$key1\&$key2 | pcregrep -o1 '"id":(\d+)' | while read id; do echo -n $id$'\t'; curl -sS $url/admin/users/$id/log_out -F$key1 -F$key2; echo; done

Any users still on the platform see this:

logout