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

Cell output not preserved (and not printed) when server-side execution is enabled #347

Closed
imerelli opened this issue Sep 8, 2024 · 4 comments · Fixed by jupyterlab/jupyterlab#16764 · May be fixed by jupyter-server/jupyverse#435
Labels
bug Something isn't working

Comments

@imerelli
Copy link

imerelli commented Sep 8, 2024

Hi,
I'm trying to use jupyverse to support server-side execution as reported in #279 and for motivations similar to jupyterlab/jupyterlab#2833.

Here my configuration, a very simple conda env (installed with "mamba create --name jupyter python=3.10") and then these packages installed using pip install --pre

pip list | grep jupy
fps_jupyterlab                    0.6.0
jupyter                           1.1.1
jupyter_client                    8.6.2
jupyter-collaboration             3.0.0b3
jupyter-collaboration-ui          1.0.0b3
jupyter-console                   6.6.3
jupyter_core                      5.7.2
jupyter-docprovider               1.0.0b3
jupyter-events                    0.10.0
jupyter-lsp                       2.2.5
jupyter_server                    2.14.2
jupyter_server_fileid             0.9.3
jupyter_server_terminals          0.5.3
jupyter-server-ydoc               1.0.0b3
jupyter-ydoc                      3.0.0a6
jupyterlab                        4.3.0b1
jupyterlab_pygments               0.3.0
jupyterlab_server                 2.27.3
jupyterlab_widgets                3.0.13
jupyverse                         0.6.0
jupyverse_api                     0.6.0
lckr_jupyterlab_variableinspector 3.2.1

Then I started jupyverse (on a remote server and I'm connecting to it from my laptop over internet) using:

jupyverse --host 0.0.0.0 --port 80 --set kernels.require_yjs=true --set jupyterlab.server_side_execution=true

But cells are not printed even when asking for a variable, see picture.

Screenshot 2024-09-08 at 17 47 56

Here is the log on the terminal:

jupyverse --host 0.0.0.0 --port 80 --set kernels.require_yjs=true --set jupyterlab.server_side_execution=true
[2024-09-08 15:37:06,504 INFO] Running in development mode
[2024-09-08 15:37:06,524 INFO] Starting application
[2024-09-08 15:37:07,921 INFO] 
[2024-09-08 15:37:07,921 INFO] To access the server, copy and paste this URL:
[2024-09-08 15:37:07,921 INFO] http://0.0.0.0:80/?token=866120c8484741ef89b6671a1ebbf507
[2024-09-08 15:37:07,921 INFO] 
[2024-09-08 15:37:07,930 INFO] Started server process [1802343]
[2024-09-08 15:37:07,930 INFO] Uvicorn running on http://0.0.0.0:80 (Press CTRL+C to quit)
[2024-09-08 15:37:07,931 INFO] Application started
[2024-09-08 15:37:12,946 INFO] 45.190.160.59:61012 - "GET /admin/assets/js/views/login.js HTTP/1.0" 404
[2024-09-08 15:37:26,919 INFO] 81.56.204.248:43620 - "GET / HTTP/1.1" 307
[2024-09-08 15:37:38,394 INFO] 81.56.204.248:47600 - "GET /?token=866120c8484741ef89b6671a1ebbf507 HTTP/1.1" 302
[2024-09-08 15:37:38,434 INFO] 81.56.204.248:47600 - "GET /lab HTTP/1.1" 200
[2024-09-08 15:37:38,597 INFO] ('81.56.204.248', 37319) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:37:38,598 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:37:38,600 INFO] connection closed
[2024-09-08 15:37:38,619 INFO] 81.56.204.248:33458 - "GET /api/me?1725809858531 HTTP/1.1" 200
[2024-09-08 15:37:38,621 INFO] 81.56.204.248:47600 - "GET /api/kernelspecs?1725809858530 HTTP/1.1" 200
[2024-09-08 15:37:38,656 INFO] 81.56.204.248:33458 - "GET /lab/api/workspaces?1725809858536 HTTP/1.1" 404
[2024-09-08 15:37:38,663 INFO] 81.56.204.248:41923 - "GET /lab/api/settings?1725809858533 HTTP/1.1" 200
[2024-09-08 15:37:38,666 INFO] 81.56.204.248:40411 - "GET /api/sessions?1725809858536 HTTP/1.1" 200
[2024-09-08 15:37:38,671 INFO] 81.56.204.248:45654 - "GET /api/terminals?1725809858536 HTTP/1.1" 200
[2024-09-08 15:37:38,671 INFO] 81.56.204.248:39699 - "GET /api/kernels?1725809858536 HTTP/1.1" 200
[2024-09-08 15:37:38,679 INFO] 81.56.204.248:47600 - "GET /api/me?1725809858606 HTTP/1.1" 200
[2024-09-08 15:37:38,688 INFO] 81.56.204.248:33458 - "GET /api/kernelspecs?1725809858606 HTTP/1.1" 200
[2024-09-08 15:37:38,813 INFO] 81.56.204.248:41923 - "GET /lab/api/translations/default?1725809858754 HTTP/1.1" 200
[2024-09-08 15:37:38,835 INFO] 81.56.204.248:41923 - "GET /api/config/jupyterlabapputilsextensionannouncements?1725809858802 HTTP/1.1" 404
[2024-09-08 15:37:38,848 INFO] 81.56.204.248:33458 - "GET /lsp/status?1725809858811 HTTP/1.1" 404
[2024-09-08 15:37:38,900 INFO] 81.56.204.248:47600 - "GET /lab/api/settings/%40jupyterlab/codemirror-extension%3Aplugin?1725809858833 HTTP/1.1" 200
[2024-09-08 15:37:38,903 INFO] 81.56.204.248:41923 - "GET /lab/api/translations?1725809858830 HTTP/1.1" 200
[2024-09-08 15:37:39,077 INFO] ('81.56.204.248', 43488) - "WebSocket /api/collaboration/room/JupyterLab%3AglobalAwareness" [accepted]
[2024-09-08 15:37:39,078 INFO] connection open
[2024-09-08 15:37:39,158 INFO] 81.56.204.248:41923 - "GET /lab/api/workspaces/default?1725809859093 HTTP/1.1" 200
[2024-09-08 15:37:39,162 INFO] 81.56.204.248:47600 - "GET /lab/api/settings/%40jupyterlab/docmanager-extension%3Aplugin?1725809859102 HTTP/1.1" 200
[2024-09-08 15:37:39,167 INFO] 81.56.204.248:33458 - "GET /lab/api/settings/%40jupyterlab/notebook-extension%3Apanel?1725809859108 HTTP/1.1" 200
[2024-09-08 15:37:39,225 INFO] 81.56.204.248:39699 - "GET /api/contents/Untitled.ipynb?content=0&hash=0&1725809859144 HTTP/1.1" 404
[2024-09-08 15:37:39,227 INFO] 81.56.204.248:40411 - "GET /api/contents/Untitled.ipynb?content=0&hash=0&1725809859144 HTTP/1.1" 404
[2024-09-08 15:37:39,232 INFO] ('81.56.204.248', 42370) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:37:39,232 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:37:39,232 INFO] connection closed
[2024-09-08 15:37:39,236 INFO] 81.56.204.248:47600 - "GET /api/contents/Untitled.ipynb?content=0&hash=0&1725809859144 HTTP/1.1" 404
[2024-09-08 15:37:39,237 INFO] 81.56.204.248:45654 - "GET /api/contents/Untitled.ipynb?content=0&hash=0&1725809859144 HTTP/1.1" 404
[2024-09-08 15:37:39,265 INFO] 81.56.204.248:41923 - "GET /api/contents?content=0&hash=0&1725809859144 HTTP/1.1" 200
[2024-09-08 15:37:39,268 INFO] 81.56.204.248:33458 - "GET /lab/api/settings?ids_only=true&1725809859160 HTTP/1.1" 200
[2024-09-08 15:37:39,746 INFO] 81.56.204.248:41923 - "GET /lab/api/workspaces?1725809859712 HTTP/1.1" 404
[2024-09-08 15:37:39,760 INFO] 81.56.204.248:33458 - "PUT /lab/api/workspaces/default?1725809859681 HTTP/1.1" 204
[2024-09-08 15:37:39,803 INFO] 81.56.204.248:33458 - "GET /api/contents?content=1&hash=0&1725809859755 HTTP/1.1" 200
[2024-09-08 15:37:39,818 INFO] 3 changes detected
[2024-09-08 15:37:39,937 INFO] 3 changes detected
[2024-09-08 15:37:40,392 INFO] 81.56.204.248:33458 - "PUT /lab/api/workspaces/default?1725809860321 HTTP/1.1" 204
[2024-09-08 15:37:40,448 INFO] 3 changes detected
[2024-09-08 15:37:40,570 INFO] 3 changes detected
[2024-09-08 15:37:40,897 INFO] ('81.56.204.248', 40868) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:37:40,897 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:37:40,898 INFO] connection closed
[2024-09-08 15:37:43,545 INFO] ('81.56.204.248', 34895) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:37:43,546 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:37:43,547 INFO] connection closed
[2024-09-08 15:37:45,022 INFO] 81.56.204.248:33458 - "GET /lab/api/workspaces?1725809864979 HTTP/1.1" 404
[2024-09-08 15:37:46,301 INFO] ('81.56.204.248', 34747) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:37:46,301 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:37:46,302 INFO] connection closed
[2024-09-08 15:37:48,709 INFO] 81.56.204.248:33458 - "GET /api/sessions?1725809868654 HTTP/1.1" 200
[2024-09-08 15:37:48,726 INFO] 81.56.204.248:45172 - "GET /api/terminals?1725809868659 HTTP/1.1" 200
[2024-09-08 15:37:48,729 INFO] 81.56.204.248:37173 - "GET /api/kernels?1725809868660 HTTP/1.1" 200
[2024-09-08 15:37:49,848 INFO] 81.56.204.248:37173 - "GET /api/contents?content=1&hash=0&1725809869793 HTTP/1.1" 200
[2024-09-08 15:37:53,163 INFO] ('81.56.204.248', 34153) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:37:53,164 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:37:53,165 INFO] connection closed
[2024-09-08 15:37:55,658 INFO] 81.56.204.248:40224 - "GET /lab/api/workspaces?1725809875591 HTTP/1.1" 404
[2024-09-08 15:37:58,762 INFO] 81.56.204.248:40224 - "GET /api/sessions?1725809878703 HTTP/1.1" 200
[2024-09-08 15:37:58,783 INFO] 81.56.204.248:47083 - "GET /api/terminals?1725809878716 HTTP/1.1" 200
[2024-09-08 15:37:58,788 INFO] 81.56.204.248:41088 - "GET /api/kernels?1725809878720 HTTP/1.1" 200
[2024-09-08 15:37:59,898 INFO] 81.56.204.248:41088 - "GET /api/contents?content=1&hash=0&1725809879840 HTTP/1.1" 200
[2024-09-08 15:38:00,351 INFO] ('81.56.204.248', 42922) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:38:00,352 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:38:00,353 INFO] connection closed
[2024-09-08 15:38:05,780 INFO] ('81.56.204.248', 37392) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:38:05,781 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:38:05,781 INFO] connection closed
[2024-09-08 15:38:08,825 INFO] 81.56.204.248:34257 - "GET /api/sessions?1725809888753 HTTP/1.1" 200
[2024-09-08 15:38:08,846 INFO] 81.56.204.248:47714 - "GET /api/kernels?1725809888780 HTTP/1.1" 200
[2024-09-08 15:38:08,849 INFO] 81.56.204.248:33923 - "GET /api/terminals?1725809888773 HTTP/1.1" 200
[2024-09-08 15:38:09,952 INFO] 81.56.204.248:33923 - "GET /api/contents?content=1&hash=0&1725809889892 HTTP/1.1" 200
[2024-09-08 15:38:12,200 INFO] 81.56.204.248:33923 - "GET /lab/api/workspaces?1725809892157 HTTP/1.1" 404
[2024-09-08 15:38:18,899 INFO] 81.56.204.248:33852 - "GET /api/sessions?1725809898818 HTTP/1.1" 200
[2024-09-08 15:38:18,910 INFO] 81.56.204.248:41191 - "GET /api/kernels?1725809898837 HTTP/1.1" 200
[2024-09-08 15:38:18,913 INFO] 81.56.204.248:38556 - "GET /api/terminals?1725809898837 HTTP/1.1" 200
[2024-09-08 15:38:20,003 INFO] 81.56.204.248:38556 - "GET /api/contents?content=1&hash=0&1725809899946 HTTP/1.1" 200
[2024-09-08 15:38:20,064 INFO] ('81.56.204.248', 42897) - "WebSocket /api/events/subscribe" 403
[2024-09-08 15:38:20,065 INFO] connection rejected (403 Forbidden)
[2024-09-08 15:38:20,066 INFO] connection closed
[2024-09-08 15:38:27,638 INFO] 81.56.204.248:44933 - "POST /api/contents?1725809907560 HTTP/1.1" 201
[2024-09-08 15:38:27,672 INFO] 81.56.204.248:44933 - "GET /api/contents/Untitled.ipynb?content=0&hash=0&1725809907625 HTTP/1.1" 200
[2024-09-08 15:38:27,704 INFO] 2 changes detected
[2024-09-08 15:38:27,738 INFO] 81.56.204.248:44933 - "PUT /api/collaboration/session/Untitled.ipynb?1725809907660 HTTP/1.1" 201
[2024-09-08 15:38:28,029 INFO] 3 changes detected
[2024-09-08 15:38:28,033 INFO] 81.56.204.248:45448 - "GET /api/nbconvert?1725809907690 HTTP/1.1" 200
[2024-09-08 15:38:28,043 INFO] ('81.56.204.248', 38954) - "WebSocket /api/collaboration/room/json%3Anotebook%3A8fdc3116ed714cdcb49be0fa6be5a80e?sessionId=21ef3126136e4d61a2c286aed12431ca" [accepted]
[2024-09-08 15:38:28,043 INFO] connection open
[2024-09-08 15:38:28,053 INFO] Opening collaboration room: json:notebook:8fdc3116ed714cdcb49be0fa6be5a80e (Untitled.ipynb)
[2024-09-08 15:38:28,056 INFO] 81.56.204.248:47082 - "GET /api/contents/Untitled.ipynb?type=notebook&content=0&hash=1&1725809907683 HTTP/1.1" 200
[2024-09-08 15:38:28,126 INFO] 81.56.204.248:45448 - "GET /api/contents/Untitled.ipynb/checkpoints?1725809908069 HTTP/1.1" 200
[2024-09-08 15:38:28,128 INFO] 81.56.204.248:47082 - "GET /api/contents/Untitled.ipynb/checkpoints?1725809908067 HTTP/1.1" 200
[2024-09-08 15:38:28,132 INFO] 81.56.204.248:44933 - "GET /api/sessions?1725809908083 HTTP/1.1" 200
[2024-09-08 15:38:28,158 INFO] 3 changes detected
[2024-09-08 15:38:28,279 INFO] 81.56.204.248:47082 - "PUT /lab/api/workspaces/default?1725809908209 HTTP/1.1" 204
[2024-09-08 15:38:28,339 INFO] 6 changes detected
[2024-09-08 15:38:28,464 INFO] 3 changes detected
[2024-09-08 15:38:28,675 INFO] 3 changes detected
[2024-09-08 15:38:28,686 INFO] 81.56.204.248:44933 - "POST /api/sessions?1725809908118 HTTP/1.1" 201
[2024-09-08 15:38:28,724 INFO] 81.56.204.248:44933 - "GET /api/sessions?1725809908675 HTTP/1.1" 200
[2024-09-08 15:38:28,779 INFO] 81.56.204.248:47082 - "GET /api/kernels?1725809908721 HTTP/1.1" 200
[2024-09-08 15:38:28,783 INFO] 81.56.204.248:44933 - "PATCH /api/sessions/e989b098-a494-41f0-a739-1d3503b92889?1725809908719 HTTP/1.1" 200
[2024-09-08 15:38:28,784 INFO] ('81.56.204.248', 47836) - "WebSocket /api/kernels/8f1a61cc-1fc1-4c4e-982c-2e6fab2df1b7/channels?session_id=fee00e9a-5e89-4896-970c-ff4a1e8c69b8" [accepted]
[2024-09-08 15:38:28,784 INFO] connection open
[2024-09-08 15:38:28,801 INFO] 3 changes detected
[2024-09-08 15:38:28,834 INFO] 81.56.204.248:44933 - "PATCH /api/sessions/e989b098-a494-41f0-a739-1d3503b92889?1725809908778 HTTP/1.1" 200
[2024-09-08 15:38:28,838 INFO] 81.56.204.248:47082 - "GET /api/sessions?1725809908779 HTTP/1.1" 200
[2024-09-08 15:38:28,839 INFO] ('81.56.204.248', 42131) - "WebSocket /api/kernels/8f1a61cc-1fc1-4c4e-982c-2e6fab2df1b7/channels?session_id=07d4a962-8374-4d86-bbe4-d578bd712a04" [accepted]
[2024-09-08 15:38:28,840 INFO] connection open
[2024-09-08 15:38:28,870 INFO] 81.56.204.248:44933 - "GET /api/kernelspecs?1725809908822 HTTP/1.1" 200
[2024-09-08 15:38:28,893 INFO] 81.56.204.248:47082 - "GET /api/kernels?1725809908847 HTTP/1.1" 200
[2024-09-08 15:38:28,900 INFO] connection closed
[2024-09-08 15:38:28,919 INFO] 81.56.204.248:47082 - "GET /static/lab/7472.266feedb2d189dc54c2e.js?v=266feedb2d189dc54c2e HTTP/1.1" 200
[2024-09-08 15:38:28,946 INFO] 81.56.204.248:44933 - "GET /api/terminals?1725809908901 HTTP/1.1" 200
[2024-09-08 15:38:28,958 INFO] 3 changes detected
[2024-09-08 15:38:29,077 INFO] 3 changes detected
[2024-09-08 15:38:29,424 INFO] 81.56.204.248:47082 - "PUT /lab/api/workspaces/default?1725809909354 HTTP/1.1" 204
[2024-09-08 15:38:29,487 INFO] 6 changes detected
[2024-09-08 15:38:29,611 INFO] 3 changes detected
[2024-09-08 15:38:29,973 INFO] 3 changes detected
[2024-09-08 15:38:30,051 INFO] 81.56.204.248:47082 - "GET /api/contents?content=1&hash=0&1725809909996 HTTP/1.1" 200
[2024-09-08 15:38:30,095 INFO] 3 changes detected
[2024-09-08 15:38:30,204 INFO] 3 changes detected
[2024-09-08 15:38:30,324 INFO] 3 changes detected
[2024-09-08 15:38:31,189 INFO] 4 changes detected
[2024-09-08 15:38:31,316 INFO] 3 changes detected
[2024-09-08 15:38:31,345 INFO] 81.56.204.248:47082 - "POST /api/kernels/8f1a61cc-1fc1-4c4e-982c-2e6fab2df1b7/execute?1725809911271 HTTP/1.1" 200
[2024-09-08 15:38:31,429 INFO] 6 changes detected
[2024-09-08 15:38:31,555 INFO] 3 changes detected
[2024-09-08 15:38:32,352 INFO] 81.56.204.248:47082 - "PUT /lab/api/workspaces/default?1725809912289 HTTP/1.1" 204
[2024-09-08 15:38:32,469 INFO] 4 changes detected
[2024-09-08 15:38:32,597 INFO] 6 changes detected
[2024-09-08 15:38:32,723 INFO] 3 changes detected
[2024-09-08 15:38:33,637 INFO] 4 changes detected
[2024-09-08 15:38:33,762 INFO] 3 changes detected
[2024-09-08 15:38:34,158 INFO] 81.56.204.248:47082 - "POST /api/kernels/8f1a61cc-1fc1-4c4e-982c-2e6fab2df1b7/execute?1725809914091 HTTP/1.1" 200
[2024-09-08 15:38:34,224 INFO] 6 changes detected
[2024-09-08 15:38:34,353 INFO] 3 changes detected
[2024-09-08 15:38:35,179 INFO] 81.56.204.248:47082 - "PUT /lab/api/workspaces/default?1725809915110 HTTP/1.1" 204
[2024-09-08 15:38:35,267 INFO] 4 changes detected
[2024-09-08 15:38:35,394 INFO] 3 changes detected
[2024-09-08 15:38:38,910 INFO] 81.56.204.248:47082 - "GET /api/sessions?1725809918848 HTTP/1.1" 200
[2024-09-08 15:38:38,944 INFO] 81.56.204.248:47082 - "GET /api/kernels?1725809918882 HTTP/1.1" 200
[2024-09-08 15:38:38,980 INFO] 81.56.204.248:47082 - "GET /api/terminals?1725809918932 HTTP/1.1" 200
[2024-09-08 15:38:39,735 INFO] 81.56.204.248:47082 - "GET /api/me?1725809919667 HTTP/1.1" 200
[2024-09-08 15:38:39,738 INFO] 81.56.204.248:41804 - "GET /api/kernelspecs?1725809919676 HTTP/1.1" 200
[2024-09-08 15:38:40,106 INFO] 81.56.204.248:41804 - "GET /api/contents?content=1&hash=0&1725809920045 HTTP/1.1" 200
^C[2024-09-08 15:38:46,564 INFO] Shutting down
[2024-09-08 15:38:46,565 INFO] connection closed
[2024-09-08 15:38:46,566 INFO] connection closed
[2024-09-08 15:38:46,566 INFO] connection closed
[2024-09-08 15:38:46,666 INFO] Finished server process [1802343]
[2024-09-08 15:38:46,666 INFO] Stopping application
[2024-09-08 15:38:46,667 INFO] Application stopped

Aborted.
^CException ignored in: <module 'threading' from '/opt/miniforge3/lib/python3.10/threading.py'>
Traceback (most recent call last):
  File "/opt/miniforge3/lib/python3.10/threading.py", line 1567, in _shutdown
    lock.acquire()
KeyboardInterrupt: 
FATAL: exception not rethrown
^CAborted (core dumped)
```
I see a lot of 
connection rejected (403 Forbidden)
Using the same setting (server, env, client etc etc, jupyter lab is working just fine)
Am I doing something wrong?
@imerelli imerelli added the bug Something isn't working label Sep 8, 2024
@davidbrochart
Copy link
Collaborator

Hi, I can reproduce this issue. It works fine with JupyterLab v4.2.5.
I'm planning to work on Jupyverse again when Asphalt v5 is released.

@krassowski
Copy link
Member

Is there anything in the browser web developer console?

I suspect this might be the same as datalayer/jupyter-server-nbmodel#26 and I wonder if this should be a release blocker for 4.3.

@davidbrochart
Copy link
Collaborator

I wonder if this should be a release blocker for 4.3.

I think it's expected to not work since the change in the stream output schema that we did in jupyter-ydoc and JupyterLab has not been taken into account in Jupyverse yet.

@davidbrochart
Copy link
Collaborator

I opened jupyter-server/jupyverse#435 which will fix this issue.

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
3 participants