I'm running notebooks (4.2) against a remote IPython kernel over passwordless ssh on a Lego EV3 brick, and whilst kernels start / connect correctly, the notebooks often don't get the Kernel Ready notification. (I've tried different browsers - Chrome, Firefox, and same behaviour on both).
[D 10:09:14.220 NotebookApp] Found kernel rik_ssh_robot_192_168_1_106_ev3dev in /Users/ajh59/Library/Jupyter/kernels
[D 10:09:14.221 NotebookApp] Found kernel python3 in /Users/ajh59/Library/Jupyter/kernels
[D 10:09:14.222 NotebookApp] Starting kernel: ['/usr/local/opt/python3/bin/python3.5', '-m', 'remote_ikernel', '--interface', 'ssh', '--host', 'robot@192.168.1.106', '--kernel_cmd', 'ipython kernel -f {host_connection_file}', '/Users/ajh59/Library/Jupyter/runtime/kernel-cea81032-b1d9-461e-a2f0-c9f9bba6a6b5.json']
[D 10:09:14.231 NotebookApp] Connecting to: tcp://127.0.0.1:63544
[I 10:09:14.233 NotebookApp] Kernel started: cea81032-b1d9-461e-a2f0-c9f9bba6a6b5
[D 10:09:14.233 NotebookApp] Kernel args: {'kernel_name': 'rik_ssh_robot_192_168_1_106_ev3dev', 'cwd': '/Users/ajh59/ev3dev Notebooks'}
[D 10:09:14.234 NotebookApp] 201 POST /api/sessions (::1) 64.32ms
[D 10:09:14.240 NotebookApp] 200 GET /api/contents/ev3dev%20Notebooks/TXR120%20Line%20Stopper.ipynb/checkpoints?_=1464167353859 (::1) 4.65ms
[D 10:09:14.241 NotebookApp] 200 GET /nbextensions/jupyter-js-widgets/extension.js (::1) 133.86ms
[D 10:09:14.243 NotebookApp] Initializing websocket connection /api/kernels/cea81032-b1d9-461e-a2f0-c9f9bba6a6b5/channels
[D 10:09:14.248 NotebookApp] Requesting kernel info from cea81032-b1d9-461e-a2f0-c9f9bba6a6b5
[D 10:09:14.248 NotebookApp] Connecting to: tcp://127.0.0.1:63541
[I 10:09:14.336 remote_ikernel] Remote kernel version: 0.4.4.
[I 10:09:14.337 remote_ikernel] File location: /usr/local/lib/python3.5/site-packages/remote_ikernel/kernel.py.
[I 10:09:14.338 remote_ikernel] Launching kernel over SSH.
[I 10:09:14.338 remote_ikernel] Login command: 'ssh -o StrictHostKeyChecking=no robot@192.168.1.106'.
[I 10:09:17.273 remote_ikernel] Established connection; starting kernel.
[I 10:09:17.273 remote_ikernel] Current working directory /Users/ajh59/ev3dev Notebooks.
[I 10:09:17.426 remote_ikernel] Running kernel command: 'ipython kernel -f ./rik_kernel.json'.
[W 10:09:24.249 NotebookApp] Timeout waiting for kernel_info reply from cea81032-b1d9-461e-a2f0-c9f9bba6a6b5
[D 10:09:24.250 NotebookApp] Opening websocket /api/kernels/cea81032-b1d9-461e-a2f0-c9f9bba6a6b5/channels
[D 10:09:24.250 NotebookApp] Connecting to: tcp://127.0.0.1:63541
[D 10:09:24.251 NotebookApp] Connecting to: tcp://127.0.0.1:63542
[D 10:09:24.251 NotebookApp] Connecting to: tcp://127.0.0.1:63543
[I 10:09:24.387 remote_ikernel] Setting up tunnels on ports: 63545, 63541, 63542, 63543, 63544.
Connecting to the kernel on the brick, (which works fine), I see a warning of the form:
WARNING: The kernel did not respond properly to an is_complete_request: [different, previously shutdown notebook content]
from another notebook I previously attempted to open, but as far as notebook UI was concerned has been killed. So it's like there's ghosts of notebooks passed in the Jupyter notebook server somewhere? Or is the ghost in the remote kernel?
If I do a Close and Halt of the open notebook (which had received the blue Connected message, just not the Kernel Ready one), I get an orange No Kernel alert.
Are there any commands I can use to flush the system at either end? Even if I physically reboot both machines, the ghost is still there?
No I don't see anything obvious that can be done here. I'm not even sure how this could happen.
It seem to be error at the ZMQ level so I don't know of any simple way of checking things there.
I'm running notebooks (4.2) against a remote IPython kernel over passwordless ssh on a Lego EV3 brick, and whilst kernels start / connect correctly, the notebooks often don't get the Kernel Ready notification. (I've tried different browsers - Chrome, Firefox, and same behaviour on both).
Remote kernel file:
Kernel file:
Notebook log:
Connecting to the kernel on the brick, (which works fine), I see a warning of the form:
from another notebook I previously attempted to open, but as far as notebook UI was concerned has been killed. So it's like there's ghosts of notebooks passed in the Jupyter notebook server somewhere? Or is the ghost in the remote kernel?
If I do a
Close and Halt
of the open notebook (which had received the blueConnected
message, just not theKernel Ready
one), I get an orangeNo Kernel
alert.Are there any commands I can use to flush the system at either end? Even if I physically reboot both machines, the ghost is still there?
Maybe see also: https://github.com/jupyter/jupyter_console/issues/40