Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attached to remote nvim but getting ERROR - Timed out waiting for page to load #111

Open
cifkao opened this issue Apr 10, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@cifkao
Copy link

cifkao commented Apr 10, 2024

To Reproduce
On remote machine, install Jupynium with LazyVim as specified in the readme, then run:

nvim --listen 0.0.0.0:18898 test.ju.py

On local machine:

pip install notebook nbclassic jupyter-console jupynium
jupynium --nvim_listen_addr remote:18898

Firefox window opens at http://localhost:8888/nbclassic with a "404 : Not Found" message.

On remote machine, run :JupyniumStartSync. This hangs for a few seconds, then Firefox closes.

Logs in /tmp/jupynium/logs/

2024-04-10 21:28:45,015 - jupynium.pynvim_helpers: 11 - INFO - nvim addr: remote:18898
2024-04-10 21:28:45,618 - jupynium.pynvim_helpers: 30 - INFO - nvim attached
2024-04-10 21:28:45,618 - jupynium.pynvim_helpers: 34 - INFO - Initialising..
2024-04-10 21:28:45,619 - jupynium.pynvim_helpers: 35 - INFO - Communicating with channel_id 9
2024-04-10 21:28:47,328 - jupynium.cmds.jupynium: 93 - INFO - Using firefox profile: None
2024-04-10 21:30:07,693 - jupynium.events_control: 197 - INFO - Event from nvim: Request(type='request', name='start_sync', args=[1, '', True, [''], 'python', '/home/ondrej/mambaforge/envs/test'], response=<pynvim.msgpack_rpc.async_session.Response object at 0x102242680>)
2024-04-10 21:30:17,936 - jupynium.selenium_helpers: 51 - ERROR - Timed out waiting for page to load
Traceback (most recent call last):
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/site-packages/jupynium/selenium_helpers.py", line 45, in wait_until_notebook_list_loaded
WebDriverWait(driver, timeout).until(
File "/Users/ondra/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py", line 105, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:192:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:510:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16

2024-04-10 21:30:18,343 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x1023282e0>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/element
2024-04-10 21:30:18,343 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102328790>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/element
2024-04-10 21:30:18,344 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102328a00>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/element
2024-04-10 21:30:18,344 - jupynium.cmds.jupynium: 562 - ERROR - Uncaught exception occurred while processing events. Detaching nvim.
Traceback (most recent call last):
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 793, in urlopen
response = self._make_request(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 496, in _make_request
conn.request(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connection.py", line 400, in request
self.endheaders()
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/http/client.py", line 976, in send
self.connect()
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connection.py", line 238, in connect
self.sock = self._new_conn()
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x102328bb0>: Failed to establish a new connection: [Errno 61] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/site-packages/jupynium/cmds/jupynium.py", line 557, in main
status, rpcrequest_event = process_events(nvim_info, driver)
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/site-packages/jupynium/events_control.py", line 207, in process_events
status, request_event = process_request_event(nvim_info, driver, event)
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/site-packages/jupynium/events_control.py", line 433, in process_request_event
start_sync_with_filename(
File "/Users/ondra/mambaforge/envs/jupynium/lib/python3.10/site-packages/jupynium/events_control.py", line 297, in start_sync_with_filename
new_btn = driver.find_element(By.ID, "new-buttons")
File "/Users/ondra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 741, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
File "/Users/ondra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 345, in execute
response = self.command_executor.execute(driver_command, params)
File "/Users/ondra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py", line 302, in execute
return self._request(command_info[0], url, body=data)
File "/Users/ondra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py", line 322, in _request
response = self._conn.request(method, url, body=body, headers=headers)
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/_request_methods.py", line 144, in request
return self.request_encode_body(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/_request_methods.py", line 279, in request_encode_body
return self.urlopen(method, url, **extra_kw)
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/poolmanager.py", line 444, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 877, in urlopen
return self.urlopen(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 877, in urlopen
return self.urlopen(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 877, in urlopen
return self.urlopen(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 847, in urlopen
retries = retries.increment(
File "/Users/ondra/.local/lib/python3.10/site-packages/urllib3/util/retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=52183): Max retries exceeded with url: /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/element (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102328bb0>: Failed to establish a new connection: [Errno 61] Connection refused'))
2024-04-10 21:30:18,405 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102328cd0>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/window/handles
2024-04-10 21:30:18,406 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x1023291b0>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/window/handles
2024-04-10 21:30:18,406 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102329240>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56/window/handles
2024-04-10 21:30:18,407 - jupynium.cmds.jupynium: 592 - INFO - Browser disconnected. Quitting Jupynium.
2024-04-10 21:30:18,408 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x1022415d0>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56
2024-04-10 21:30:18,408 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x1023294b0>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56
2024-04-10 21:30:18,409 - urllib3.connectionpool: 874 - WARNING - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x1023289a0>: Failed to establish a new connection: [Errno 61] Connection refused')': /session/54f6fbda-dee3-4f19-bc0e-c3e9070e0c56
2024-04-10 21:30:18,410 - jupynium.cmds.jupynium: 608 - SUCCESS - Piecefully closed as the browser is closed.

Output of jupynium --version

Jupynium v0.2.2

Output of nvim --version

NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/__w/neovim/neovim/build/nvim.AppDir/usr/share/nvim"

Run :checkhealth for more info
@cifkao cifkao added the bug Something isn't working label Apr 10, 2024
@cifkao cifkao changed the title Attached to remote nvim but getting ERROR - Timed out waiting for page to load Attached to remote nvim but getting error 404 and ERROR - Timed out waiting for page to load Apr 10, 2024
@cifkao
Copy link
Author

cifkao commented Apr 10, 2024

I also tried downgrading to notebook<7 and running jupynium with --notebook_URL 'http://localhost:8888/?token=<TOKEN>. Then I see a blank page instead of a 404 error page, but otherwise everything is the same.

@cifkao
Copy link
Author

cifkao commented Apr 10, 2024

I just tested this with local nvim (without starting jupynium manually from the command line) and I see the same problem. So this is issue is not unique to the remote setup.

My local nvim is:

NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1710088188

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/opt/homebrew/Cellar/neovim/0.9.5/share/nvim"

Run :checkhealth for more info

@cifkao cifkao changed the title Attached to remote nvim but getting error 404 and ERROR - Timed out waiting for page to load Attached to remote nvim but getting ERROR - Timed out waiting for page to load Apr 10, 2024
@cifkao
Copy link
Author

cifkao commented Apr 10, 2024

Update: I installed jupynium again in a clean conda environment. I'm not getting the error 404 anymore, but I'm still getting the timeout error.

@kiyoon
Copy link
Owner

kiyoon commented Apr 19, 2024

Hi, sorry for the late response. I was in the military training.

If you get the 404 error, make sure that the Jupyter Notebook is running at the address http://localhost:8888/nbclassic. You may have to run it manually.

@cifkao
Copy link
Author

cifkao commented Apr 19, 2024

Hi @kiyoon, thanks for the response and sorry for my confusing series of comments. As I wrote, I was able to get rid of the 404 error by reinstalling, but I'm getting a blank page and the same timeout error. How can I diagnose this?

@kiyoon
Copy link
Owner

kiyoon commented Apr 19, 2024

Can you try running Jupyter Notebook by jupyter notebook and make sure you can access the page? Verify manually on a browser that you can access that page.

@cifkao
Copy link
Author

cifkao commented Apr 19, 2024

I think I found the problem: I was connecting jupynium to a Neovim instance running in an environment that didn't have jupynium installed. Once I installed it, it seems to work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants