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

Panel Preview not working: KeyError #7433

Open
MarcSkovMadsen opened this issue Oct 23, 2024 · 14 comments
Open

Panel Preview not working: KeyError #7433

MarcSkovMadsen opened this issue Oct 23, 2024 · 14 comments
Milestone

Comments

@MarcSkovMadsen
Copy link
Collaborator

MarcSkovMadsen commented Oct 23, 2024

I'm working on upgrading our jupyterhub and Panel. In our existing setup the Jupyter Panel Preview is working. But not in the new setup.

Steps

  • Log into Jupyter
  • Open Notebook
  • Select base environment
  • Create notebook with widget and make it .servable(). (With just display like pn.panel('hello').servable() there is no problem.)
  • Click the Panel Preview button
  • See that the preview does not show anything and that there is an error in the browser console.

image

Check the server logs

2024-10-23 11:41:32,007 - ServerApp - ERROR - Uncaught exception GET /mt-fumo/user/masma/panel-preview/render/test.ipynb/ws (10.86.100.104)
HTTPServerRequest(protocol='https', host='mnr-jupyterhub-dev.de-prod.dk', method='GET', uri='/mt-fumo/user/masma/panel-preview/render/test.ipynb/ws', version='HTTP/1.1', remote_ip='10.86.100.104')
Traceback (most recent call last):
  File "/opt/conda/lib/python3.11/site-packages/tornado/websocket.py", line 940, in _accept_connection
    await open_result
  File "/opt/conda/lib/python3.11/site-packages/panel/io/jupyter_server_extension.py", line 392, in open
    kernel_info = state._kernels[self.session_id]
                  ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'XKRUSRxzKSS076zhAKRFPD2dUhH9z29fFg8TLcjZNv9r'
conda list
$ conda list
# packages in environment at /opt/conda:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
aiohappyeyeballs          2.4.3              pyhd8ed1ab_0    conda-forge
aiohttp                   3.10.10         py311h2dc5d0c_0    conda-forge
aiosignal                 1.3.1              pyhd8ed1ab_0    conda-forge
aiosqlite                 0.20.0                   pypi_0    pypi
alembic                   1.13.2             pyhd8ed1ab_0    conda-forge
annotated-types           0.7.0              pyhd8ed1ab_0    conda-forge
anyio                     4.4.0              pyhd8ed1ab_0    conda-forge
archspec                  0.2.3              pyhd8ed1ab_0    conda-forge
argon2-cffi               23.1.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py311h459d7ec_4    conda-forge
arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
artifacts-keyring         0.4.0                    pypi_0    pypi
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
async_generator           1.10               pyhd8ed1ab_1    conda-forge
attrs                     24.2.0             pyh71513ae_0    conda-forge
aw-kubernetes             0.4.6                    pypi_0    pypi
babel                     2.14.0             pyhd8ed1ab_0    conda-forge
backports-tarfile         1.2.0                    pypi_0    pypi
beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
blinker                   1.8.2              pyhd8ed1ab_0    conda-forge
bokeh                     3.6.0              pyhd8ed1ab_0    conda-forge
boltons                   24.0.0             pyhd8ed1ab_0    conda-forge
brotli-python             1.1.0           py311hb755f60_1    conda-forge
bzip2                     1.0.8                h4bc722e_7    conda-forge
c-ares                    1.33.1               heb4867d_0    conda-forge
ca-certificates           2024.8.30            hbcca054_0    conda-forge
cached-property           1.5.2                hd8ed1ab_1    conda-forge
cached_property           1.5.2              pyha770c72_1    conda-forge
cachetools                5.5.0                    pypi_0    pypi
certifi                   2024.8.30          pyhd8ed1ab_0    conda-forge
certipy                   0.1.3              pyhd8ed1ab_1    conda-forge
cffi                      1.17.0          py311ha8e6434_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
click                     8.1.7                    pypi_0    pypi
cloudpickle               3.1.0                    pypi_0    pypi
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
comm                      0.2.2              pyhd8ed1ab_0    conda-forge
conda                     24.7.1          py311h38be061_0    conda-forge
conda-libmamba-solver     24.9.0             pyhd8ed1ab_0    conda-forge
conda-package-handling    2.3.0              pyh7900ff3_0    conda-forge
conda-package-streaming   0.10.0             pyhd8ed1ab_0    conda-forge
configurable-http-proxy   4.6.2                hbf95b10_1    conda-forge
contourpy                 1.3.0           py311hd18a35c_2    conda-forge
cryptography              43.0.0          py311hc6616f6_0    conda-forge
dask                      2024.10.0                pypi_0    pypi
dataclasses-json          0.6.7                    pypi_0    pypi
debugpy                   1.8.5           py311hf86e51f_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
deepmerge                 2.0                      pypi_0    pypi
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
distributed               2024.10.0                pypi_0    pypi
distro                    1.9.0              pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.2              pyhd8ed1ab_0    conda-forge
executing                 2.0.1              pyhd8ed1ab_0    conda-forge
faiss-cpu                 1.8.0                    pypi_0    pypi
fmt                       10.2.1               h00ab1b0_0    conda-forge
fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
freetype                  2.12.1               h267a509_2    conda-forge
frozendict                2.4.4           py311h331c9d8_0    conda-forge
frozenlist                1.4.1           py311h9ecbd09_1    conda-forge
fsspec                    2024.10.0                pypi_0    pypi
future                    0.18.3             pyhd8ed1ab_0    conda-forge
git                       2.47.0          pl5321h59d505e_0    conda-forge
gitdb                     4.0.11             pyhd8ed1ab_0    conda-forge
gitpython                 3.1.43             pyhd8ed1ab_0    conda-forge
google-auth               2.35.0                   pypi_0    pypi
greenlet                  3.0.3           py311hb755f60_0    conda-forge
h11                       0.14.0             pyhd8ed1ab_0    conda-forge
h2                        4.1.0              pyhd8ed1ab_0    conda-forge
hpack                     4.0.0              pyh9f0ad1d_0    conda-forge
httpcore                  1.0.5              pyhd8ed1ab_0    conda-forge
httpx                     0.27.0             pyhd8ed1ab_0    conda-forge
hyperframe                6.0.1              pyhd8ed1ab_0    conda-forge
icu                       75.1                 he02047a_0    conda-forge
idna                      3.8                pyhd8ed1ab_0    conda-forge
importlib-metadata        8.4.0              pyha770c72_0    conda-forge
importlib_metadata        8.4.0                hd8ed1ab_0    conda-forge
importlib_resources       6.4.4              pyhd8ed1ab_0    conda-forge
ipykernel                 6.29.5             pyh3099207_0    conda-forge
ipython                   8.26.0             pyh707e725_0    conda-forge
ipython_genutils          0.2.0              pyhd8ed1ab_1    conda-forge
ipywidgets                8.1.5              pyhd8ed1ab_0    conda-forge
ipywidgets-bokeh          1.6.0                    pypi_0    pypi
isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
jaraco-classes            3.4.0                    pypi_0    pypi
jaraco-context            6.0.1                    pypi_0    pypi
jaraco-functools          4.1.0                    pypi_0    pypi
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jeepney                   0.8.0                    pypi_0    pypi
jinja2                    3.1.4              pyhd8ed1ab_0    conda-forge
jiter                     0.6.1                    pypi_0    pypi
json5                     0.9.25             pyhd8ed1ab_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_0    conda-forge
jsonpath-ng               1.7.0                    pypi_0    pypi
jsonpointer               3.0.0           py311h38be061_0    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.12.1          pyhd8ed1ab_0    conda-forge
jsonschema-with-format-nongpl 4.23.0               hd8ed1ab_0    conda-forge
jupyter-ai                2.26.0                   pypi_0    pypi
jupyter-ai-magics         2.26.0                   pypi_0    pypi
jupyter-bokeh             4.0.5                    pypi_0    pypi
jupyter-lsp               2.2.5              pyhd8ed1ab_0    conda-forge
jupyter-server-mathjax    0.2.6              pyh5bfe37b_1    conda-forge
jupyter-server-proxy      4.4.0              pyhd8ed1ab_0    conda-forge
jupyter-vscode-proxy      0.6                pyhd8ed1ab_0    conda-forge
jupyter_client            8.6.2              pyhd8ed1ab_0    conda-forge
jupyter_conda             5.2.1                hd8ed1ab_0    conda-forge
jupyter_core              5.7.2           py311h38be061_0    conda-forge
jupyter_events            0.10.0             pyhd8ed1ab_0    conda-forge
jupyter_server            2.14.2             pyhd8ed1ab_0    conda-forge
jupyter_server_terminals  0.5.3              pyhd8ed1ab_0    conda-forge
jupyterhub                5.2.1              pyh31011fe_0    conda-forge
jupyterhub-base           5.2.1              pyh31011fe_0    conda-forge
jupyterlab                4.2.5              pyhd8ed1ab_0    conda-forge
jupyterlab-git            0.50.1             pyhd8ed1ab_1    conda-forge
jupyterlab_pygments       0.3.0              pyhd8ed1ab_1    conda-forge
jupyterlab_server         2.27.3             pyhd8ed1ab_0    conda-forge
jupyterlab_widgets        3.0.13             pyhd8ed1ab_0    conda-forge
keyring                   25.4.1                   pypi_0    pypi
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.3               h659f571_0    conda-forge
kubernetes                22.6.0                   pypi_0    pypi
langchain                 0.2.16                   pypi_0    pypi
langchain-community       0.2.17                   pypi_0    pypi
langchain-core            0.2.41                   pypi_0    pypi
langchain-text-splitters  0.2.4                    pypi_0    pypi
langsmith                 0.1.136                  pypi_0    pypi
lcms2                     2.16                 hb7c19ff_0    conda-forge
ld_impl_linux-64          2.40                 hf3520f5_7    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libarchive                3.7.4                hfca40fe_0    conda-forge
libblas                   3.9.0           24_linux64_openblas    conda-forge
libboost                  1.86.0               hb8260a3_2    conda-forge
libcblas                  3.9.0           24_linux64_openblas    conda-forge
libcurl                   8.10.1               hbbe4b11_0    conda-forge
libdeflate                1.22                 hb9d3cd8_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libexpat                  2.6.3                h5888daf_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc                    14.2.0               h77fa898_1    conda-forge
libgcc-ng                 14.2.0               h69a702a_1    conda-forge
libgfortran               14.2.0               h69a702a_1    conda-forge
libgfortran-ng            14.2.0               h69a702a_1    conda-forge
libgfortran5              14.2.0               hd5240d6_1    conda-forge
libgomp                   14.2.0               h77fa898_1    conda-forge
libiconv                  1.17                 hd590300_2    conda-forge
libjpeg-turbo             3.0.0                hd590300_1    conda-forge
liblapack                 3.9.0           24_linux64_openblas    conda-forge
libmamba                  1.5.8                had39da4_0    conda-forge
libmambapy                1.5.8           py311hf2555c7_0    conda-forge
libnghttp2                1.58.0               h47da74e_1    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libopenblas               0.3.27          pthreads_hac2b453_1    conda-forge
libpng                    1.6.44               hadc24fc_0    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libsolv                   0.7.30               h3509ff9_0    conda-forge
libsqlite                 3.46.0               hde9e2c9_0    conda-forge
libssh2                   1.11.0               h0841786_0    conda-forge
libstdcxx                 14.2.0               hc0a3c3a_1    conda-forge
libstdcxx-ng              14.2.0               h4852527_1    conda-forge
libtiff                   4.7.0                he137b08_1    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libuv                     1.48.0               hd590300_0    conda-forge
libwebp-base              1.4.0                hd590300_0    conda-forge
libxcb                    1.17.0               h8a09558_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxml2                   2.12.7               he7c6b58_4    conda-forge
libzlib                   1.3.1                h4ab18f5_1    conda-forge
linkify-it-py             2.0.3              pyhd8ed1ab_0    conda-forge
locket                    1.0.0                    pypi_0    pypi
lz4-c                     1.9.4                hcb278e6_0    conda-forge
lzo                       2.10              hd590300_1001    conda-forge
mako                      1.3.5              pyhd8ed1ab_0    conda-forge
mamba                     1.5.8           py311h3072747_0    conda-forge
mamba_gator               5.2.1              pyhd8ed1ab_0    conda-forge
markdown                  3.6                pyhd8ed1ab_0    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                2.1.5           py311h459d7ec_0    conda-forge
marshmallow               3.23.0                   pypi_0    pypi
matplotlib-inline         0.1.7              pyhd8ed1ab_0    conda-forge
mdit-py-plugins           0.4.2              pyhd8ed1ab_0    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_0    conda-forge
menuinst                  2.1.2           py311h38be061_0    conda-forge
mistune                   3.0.2              pyhd8ed1ab_0    conda-forge
more-itertools            10.5.0                   pypi_0    pypi
msgpack                   1.1.0                    pypi_0    pypi
multidict                 6.1.0           py311h2dc5d0c_1    conda-forge
mypy-extensions           1.0.0                    pypi_0    pypi
nb_conda_kernels          2.5.1              pyh707e725_2    conda-forge
nbclassic                 1.1.0              pyhd8ed1ab_0    conda-forge
nbclient                  0.10.0             pyhd8ed1ab_0    conda-forge
nbconvert                 7.16.4               hd8ed1ab_1    conda-forge
nbconvert-core            7.16.4             pyhd8ed1ab_1    conda-forge
nbconvert-pandoc          7.16.4               hd8ed1ab_1    conda-forge
nbdime                    4.0.2              pyhd8ed1ab_0    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_0    conda-forge
ncurses                   6.5                  he02047a_1    conda-forge
nest-asyncio              1.6.0              pyhd8ed1ab_0    conda-forge
nodeenv                   1.9.1              pyhd8ed1ab_0    conda-forge
nodejs                    22.7.0               hf235a45_0    conda-forge
notebook                  7.2.1              pyhd8ed1ab_0    conda-forge
notebook-shim             0.2.4              pyhd8ed1ab_0    conda-forge
numpy                     1.26.4          py311h64a7726_0    conda-forge
oauthlib                  3.2.2              pyhd8ed1ab_0    conda-forge
openai                    1.52.0                   pypi_0    pypi
openjpeg                  2.5.2                h488ebb8_0    conda-forge
openssl                   3.3.2                hb9d3cd8_0    conda-forge
orjson                    3.10.9                   pypi_0    pypi
overrides                 7.7.0              pyhd8ed1ab_0    conda-forge
packaging                 24.1               pyhd8ed1ab_0    conda-forge
pamela                    1.2.0              pyhff2d567_0    conda-forge
pandas                    2.2.3           py311h7db5c69_1    conda-forge
pandoc                    3.5                  ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
panel                     1.5.2              pyhd8ed1ab_0    conda-forge
param                     2.1.1              pyhff2d567_0    conda-forge
parso                     0.8.4              pyhd8ed1ab_0    conda-forge
partd                     1.4.2                    pypi_0    pypi
pcre2                     10.44                hba22ea6_2    conda-forge
perl                      5.32.1          7_hd590300_perl5    conda-forge
perspective               2.10.1          py311h26fe663_4    conda-forge
perspective-parquet       0.1.2              pyhff2d567_1    conda-forge
perspective_parquet       0.1.2              pyh80e38bb_1    conda-forge
pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    11.0.0          py311h49e9ac3_0    conda-forge
pip                       24.2               pyh8b19718_1    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.2.2              pyhd8ed1ab_0    conda-forge
plotly                    5.24.1             pyhd8ed1ab_0    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_0    conda-forge
ply                       3.11                     pypi_0    pypi
prometheus_client         0.20.0             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.47             pyha770c72_0    conda-forge
propcache                 0.2.0           py311h9ecbd09_2    conda-forge
psutil                    6.0.0           py311h331c9d8_0    conda-forge
pthread-stubs             0.4               hb9d3cd8_1002    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.3              pyhd8ed1ab_0    conda-forge
pyasn1                    0.6.1                    pypi_0    pypi
pyasn1-modules            0.4.1                    pypi_0    pypi
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py311h459d7ec_0    conda-forge
pycparser                 2.22               pyhd8ed1ab_0    conda-forge
pycurl                    7.45.3          py311h3393d6f_1    conda-forge
pydantic                  2.8.2              pyhd8ed1ab_0    conda-forge
pydantic-core             2.20.1          py311hb3a8bbb_0    conda-forge
pygments                  2.18.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.9.0              pyhd8ed1ab_1    conda-forge
pyopenssl                 24.2.1             pyhd8ed1ab_2    conda-forge
pyright                   1.1.384         py311h9ecbd09_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.11.9          hb806964_0_cpython    conda-forge
python-dateutil           2.9.0              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.20.0             pyhd8ed1ab_0    conda-forge
python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
python-tzdata             2024.2             pyhd8ed1ab_0    conda-forge
python_abi                3.11                    5_cp311    conda-forge
pytoolconfig              1.2.5              pyhd8ed1ab_0    conda-forge
pytz                      2024.1             pyhd8ed1ab_0    conda-forge
pyviz_comms               3.0.3              pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.2           py311h61187de_0    conda-forge
pyzmq                     26.2.0          py311h7deb3e3_0    conda-forge
readline                  8.2                  h8228510_1    conda-forge
referencing               0.35.1             pyhd8ed1ab_0    conda-forge
reproc                    14.2.4.post0         hd590300_1    conda-forge
reproc-cpp                14.2.4.post0         h59595ed_1    conda-forge
requests                  2.32.3             pyhd8ed1ab_0    conda-forge
requests-oauthlib         2.0.0                    pypi_0    pypi
requests-toolbelt         1.0.0                    pypi_0    pypi
rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
rope                      1.13.0             pyhd8ed1ab_0    conda-forge
rpds-py                   0.20.0          py311hb3a8bbb_0    conda-forge
rsa                       4.9                      pypi_0    pypi
ruamel.yaml               0.18.6          py311h459d7ec_0    conda-forge
ruamel.yaml.clib          0.2.8           py311h459d7ec_0    conda-forge
secretstorage             3.3.3                    pypi_0    pypi
send2trash                1.8.3              pyh0d859eb_0    conda-forge
setuptools                72.2.0             pyhd8ed1ab_0    conda-forge
simpervisor               1.0.0              pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     5.0.0              pyhd8ed1ab_0    conda-forge
sniffio                   1.3.1              pyhd8ed1ab_0    conda-forge
sortedcontainers          2.4.0                    pypi_0    pypi
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
sqlalchemy                2.0.32          py311h61187de_0    conda-forge
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
tblib                     3.0.0                    pypi_0    pypi
tenacity                  8.5.0                    pypi_0    pypi
terminado                 0.18.1             pyh0d859eb_0    conda-forge
tinycss2                  1.3.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
toolz                     1.0.0                    pypi_0    pypi
tornado                   6.4.1           py311h331c9d8_0    conda-forge
tqdm                      4.66.5             pyhd8ed1ab_0    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_0    conda-forge
truststore                0.8.0              pyhd8ed1ab_0    conda-forge
types-python-dateutil     2.9.0.20240821     pyhd8ed1ab_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_0    conda-forge
typing-inspect            0.9.0                    pypi_0    pypi
typing_extensions         4.12.2             pyha770c72_0    conda-forge
typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
tzdata                    2024a                h0c530f3_0    conda-forge
uc-micro-py               1.0.3              pyhd8ed1ab_0    conda-forge
uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
urllib3                   2.2.2              pyhd8ed1ab_1    conda-forge
uv                        0.4.25                   pypi_0    pypi
voila                     0.5.8              pyhd8ed1ab_1    conda-forge
watchfiles                0.24.0                   pypi_0    pypi
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
webcolors                 24.8.0             pyhd8ed1ab_0    conda-forge
webencodings              0.5.1              pyhd8ed1ab_2    conda-forge
websocket-client          1.8.0              pyhd8ed1ab_0    conda-forge
websockets                13.1            py311h9ecbd09_0    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
widgetsnbextension        4.0.13             pyhd8ed1ab_0    conda-forge
xorg-libxau               1.0.11               hb9d3cd8_1    conda-forge
xorg-libxdmcp             1.1.5                hb9d3cd8_0    conda-forge
xyzservices               2024.9.0           pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yaml-cpp                  0.8.0                h59595ed_0    conda-forge
yarl                      1.15.5          py311h9ecbd09_0    conda-forge
zeromq                    4.3.5                h75354e8_4    conda-forge
zict                      3.0.0                    pypi_0    pypi
zipp                      3.20.0             pyhd8ed1ab_0    conda-forge
zlib                      1.3.1                h4ab18f5_1    conda-forge
zstandard                 0.23.0          py311h5cd10c7_0    conda-forge
zstd                      1.5.6                ha6fb4c9_0    conda-forge

Additional Context

I'm told there is also a xrsf cookie issue jupyterhub/zero-to-jupyterhub-k8s#3422. I don't know if its related.

@MarcSkovMadsen MarcSkovMadsen added TRIAGE Default label for untriaged issues type: bug and removed TRIAGE Default label for untriaged issues labels Oct 23, 2024
@MarcSkovMadsen MarcSkovMadsen added this to the next milestone Oct 23, 2024
@philippjfr
Copy link
Member

Reading the code I really struggle to see how this is possible UNLESS the websocket connection takes >30 seconds to open. Can you confirm how quickly this happens?

@MarcSkovMadsen
Copy link
Collaborator Author

Thanks so much for responding. The preview opens and closes the web socket almost instantanously.

panel-preview-not-working.mp4

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 23, 2024

I looked at recent changes in jupyter_server_extension.py

image

image

Could any of these two changes cause this on a Jupyterhub where things are running behind a reverse proxy?

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 23, 2024

FORGET THIS COMMENT. IF THE EXCEPTIONS ARE RAISED THEN LINE 392 WILL NEVER BE REACHED.

As I see it self.close() must have run for some unknown reason:

image

Would be nice of the ProtocolErrors where logged.

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 23, 2024

Right now my hypothesis is that token/ session_id is not valid due to the xrsf cookie issue jupyterhub/zero-to-jupyterhub-k8s#3422 mentioned.

@philippjfr
Copy link
Member

I'm fairly certain those are unrelated issues, the token is transmitted as part of the websocket headers so that seems unlikely to be affected by any cookie issues. Also the token clearly can be decoded since it doesn't error on the get_session_id call.

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 23, 2024

I'm fairly certain those are unrelated issues, the token is transmitted as part of the websocket headers so that seems unlikely to be affected by any cookie issues. Also the token clearly can be decoded since it doesn't error on the get_session_id call.

My understanding from reading the issue is that it is in fact a headers issue.

image

I just do not understand if its causing this issue.

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 24, 2024

FYI. It works locally in a fresh pip install panel jupyterlab environment on my windows laptop:

image

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 24, 2024

An additional comment is that we've mixed a helm chart v 3.3.8 for installing Jupyterhub App. version 4.1.6 with installing the jupyterhub 5.2.1 python package. We will try to align these.

@MP-MaximilianLattka
Copy link
Contributor

As a sidenote, keep in mind that the Preview feature is also broken with notifications turned on:

#7380

@MarcSkovMadsen
Copy link
Collaborator Author

My colleagues also mentions #7039 as something that might be related.

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 31, 2024

Status Update on our findings:

Panel preview can show but not work fully initially. When we refresh it does not show and there is some websocket issue.

Works

Our updated Jupyter image works with Panel preview when

  • deployed locally on a docker desktop
  • deployed as a stand alone container on our kubernetes cluster

Does not work

  • When scheduled by the Jupyterhub behind the proxy.

Details

We tried both helm charts marked below

image

from https://hub.jupyter.org/helm-chart/.

We tried the docker images quay.io/jupyter/minimal-notebook:python-3.12, jupyter/minimal-notebook:python-3.11.6, quay.io/jupyter/minimal-notebook:ubuntu-22.04.

We also tried our original docker image (which is also jupyter/minimal-notebook:python-3.11.6) and it works with the latest helm chart. The difference is that even though the base docker image has the same name, the operating system has been updated slightly in the mean while.

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Oct 31, 2024

When we open the preview the web socket is connected. When we refresh the connection is lost

image

When we refresh the connection is lost again with the same session session id/ token. Should we see the same token @philippjfr ?

image

@MarcSkovMadsen
Copy link
Collaborator Author

MarcSkovMadsen commented Dec 7, 2024

Just tried again while testing an upgrade of our jupyterhub. I can open the preview - but not refresh. During refresh the websocket connection is lost.

panel-preview-not-refresh.mp4

@philippjfr philippjfr modified the milestones: next, v1.6.0 Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants