Using a MS Win desktop I’ve started 20+sessions today. I cannot reproduce the error.
I have one Mac user who consistently cannot launch Jupyter with it consistently returning:
Not Found
The requested URL was not found on this server.
The URL looks like the following (minus https:the servername)
node/compute-6-11.cluster/38478/login?next=%2Fnode%2Fcompute-6-11.cluster%2F38478%2F
This seems to occur only with MacOS Chrome intermittently, however one person today is locked out by this error. I have no other users reporting. It happens to this individual regularly, so they’re understandably frustrated.
Thank you for considering. I have spun through many like errors here in discourse without identifying a solution. Windows clients all seem to work flawlessly.
Andy
Hi and welcome!
Next time it happens I would try to hit that same URL the user provides. The user has the username/password combination, but you don’t so you’ll be prompted with a password you don’t know. I suggest this because I’m guessing it’s actually a server side issue. That is, if you’re prompted for a password by Jupyter then it may be local to that user, but if you receive the same 404 as them then it means the issue is on the server and their browser/OS combination is a red-herring.
That’s how this reads to me anyhow - the server (apache) is responding 404 because it can’t connect to that host:ip (compute-6-11.cluster:38478 in the example you’ve given) and that’s a server side issue - not a client side issue.
As a complete guess I would assume they are starting juptyer and it’s crashing for one reason or another. There may be something about that in the output.log of that particular job. If jupyter is running and apache times out I believe that would be a different error code than 404 (some 500 level code I’d guess).
At any rate - I’d suggest pulling the output.log for this users’ Jupyter jobs and see if it’s crashing or indeed just ssh’ing to the machine to see if it’s still running or just a simple squeue or similar to see if the job is still running (if jupyter crashes and stops, then the job should complete I’m pretty sure).
Connecting with “wget compute-6-11.cluster:38478” from the ondemand proxy host I get a “ERROR 404: Not Found”. A test to my own working jupyter session responds equally with wget. Both seem to connect but 404.
Interestingly we can connect to the user’s onemandhost/pun/sys/shell/ssh/compute-6-11 and it starts a shell for him so the proxy seems good.
I’ve been troubleshooting on the node and can see that port is open (netstat lnp | grep 38478 for example) where I find python running and the port open 0.0.0.0:38478 ...746601/python3
Then an lsof -p 746601 where I can see the process is in the “Working Directory” requested and jupyter appears to be started. The user’s processes frompsare (mostly) identical to my own working example, both having launched the dashboard/batch_connect script.sh and jupyter-lab config.py
The job’s output.log (a fresh session) ends the same as my own with:
Discovered Jupyter server listening on port 16629!
Generating connection YAML file…
Nothing stands out on the server’s per-user access.log or error.log. This just seems the strangest thing.
Thank you for considering!
OK - I think I see what’s going on now. The 404 isn’t from apache it’s from Jupyter.
Can you share your application or have a link to it on the web?
From your first message
if you look at the next query parameter it is /node/compute-6-11.cluster/38478/ - I.e., hitting the / root directory of Jupyter. It should in fact look like /node/compute-6-11.cluster/38478/tree or /node/compute-6-11.cluster/38478/lab, ending in /tree or /lab not just /.
If your jupyter application is like ours, we set this in the in the script
to pass back to the view
Somehow for this user it isn’t being set properly. Do you have the same option that we do that allows users to get jupyter notebook (that results in /tree) or jupyter lab (that results in /lab)?