Sankey example locks up jupyterlab (and classic) (requires bokeh 2.1.0)
See original GitHub issuetl;dr, bokeh=2.2.0 and newer don’t work with the Sankey example in jupyterlab or classic. bokeh=2.1.1 and 2.1.0 do work.
ALL software version info
(this library, plus any other relevant software, e.g. bokeh, python, notebook, OS, browser, etc) Ran the following to launch jupyterlab:
conda create -n sankey-test holoviews jupyterlab
conda activate sankey-test
jupyter labextension install @pyviz/jupyterlab_pyviz
jupyter lab .
Tried with both holoviews 1.13.3 and 1.13.2 (This code on 1.12.0 fails). Tried with bokeh 2.2.1, 2.2.0 and 2.1.0. Finally worked with bokeh=2.1.0. Then tried with 2.1.1 and it works there too.
$ conda list --explicit
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: osx-64
@EXPLICIT
https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2020.6.20-hecda079_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/jpeg-9d-h0b31af3_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libcxx-10.0.1-h5f48129_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.18-h01d97ff_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.1.0-h0b31af3_3.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-10.0.1-h28b9765_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pandoc-2.10.1-haf1e3a3_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.5-haf1e3a3_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-haf1e3a3_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-h7795811_1009.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-hb1e8313_1007.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libgfortran4-7.5.0-h1565451_3.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.37-hb0a8c7a_2.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.9.2-hb1e8313_3.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.2-hb1e8313_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/openssl-1.1.1g-haf1e3a3_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.10-hb0a8c7a_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.2-h4a8c4bd_3.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/freetype-2.10.2-h8da9a1a_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libgfortran-4.0.0-3.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/readline-8.0-h0678c8f_2.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/zstd-1.4.5-h289c70a_2.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.10-openmp_h63d9170_4.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.1.0-h2ae36a8_6.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.33.0-h960bd1c_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.11-h174193d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libblas-3.8.0-17_openblas.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/python-3.7.8-hc9dea61_1_cpython.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/attrs-20.1.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/backports-1.0-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/decorator-4.4.2-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.6.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/idna-2.10-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/json5-0.9.4-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.8.0-17_openblas.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.8.0-17_openblas.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/olefile-0.46-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.4.2-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/param-1.9.3-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.8.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.6.0-py_1001.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pycparser-2.20-pyh9f0ad1d_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyparsing-2.4.7-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.7-1_cp37m.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pytz-2020.1-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/send2trash-1.5.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/simplegeneric-0.8.1-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/six-1.15.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/testpath-0.4.4-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/tqdm-4.48.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/typing_extensions-3.7.4.2-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/wheel-0.35.1-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/zipp-3.1.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/appnope-0.1.0-py37hc8dfbb8_1001.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/certifi-2020.6.20-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/cffi-1.14.1-py37hf5b7abd_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/chardet-3.0.4-py37hc8dfbb8_1006.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/cycler-0.10.0-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/entrypoints-0.3-py37hc8dfbb8_1001.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/importlib-metadata-1.7.0-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.2.0-py37ha1cc60f_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/markupsafe-1.1.1-py37h9bfed18_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/mistune-0.8.4-py37h9bfed18_1001.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/numpy-1.19.1-py37h1efc2f6_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/packaging-20.4-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pexpect-4.8.0-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pickleshare-0.7.5-py37hc8dfbb8_1001.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pillow-7.2.0-py37hfd78ece_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyct-core-0.4.6-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pyrsistent-0.16.0-py37h9bfed18_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pysocks-1.7.1-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyviz_comms-0.7.6-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pyyaml-5.3.1-py37h9bfed18_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pyzmq-19.0.2-py37hf1e22d8_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/tornado-6.0.4-py37h9bfed18_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/traitlets-5.0.0-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-20.1.0-py37h60d8a13_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/brotlipy-0.7.0-py37h9bfed18_1000.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/cryptography-3.1-py37h94e4008_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-1.7.0-0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/jupyter_core-4.6.3-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/markdown-3.2.2-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/pandas-1.1.1-py37hdadc0f0_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/setuptools-49.6.0-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/terminado-0.8.3-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/backports.functools_lru_cache-1.6.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/bleach-3.1.5-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jinja2-2.11.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/jsonschema-3.2.0-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyter_client-6.1.7-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.3.1-py37h886f89f_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pip-20.2.2-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pygments-2.6.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyopenssl-19.1.0-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/bokeh-2.2.1-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/nbformat-5.0.7-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/urllib3-1.25.10-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.5-pyh9f0ad1d_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/nbconvert-5.6.1-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-1.0.15-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/requests-2.24.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/ipython-5.8.0-py37_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyct-0.4.6-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/ipykernel-5.3.4-py37h43977f1_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/panel-0.9.7-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/notebook-6.1.3-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/holoviews-1.13.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-1.2.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyterlab-2.2.6-py_0.tar.bz2
Description of expected behavior and the observed behavior
Jupyterlab doesn’t freeze
Complete, minimal, self-contained example code that reproduces the issue
import holoviews as hv
from holoviews import opts, dim
hv.extension('bokeh')
sankey = hv.Sankey([
['A', 'X', 5],
['A', 'Y', 7],
['A', 'Z', 6],
['B', 'X', 2],
['B', 'Y', 9],
['B', 'Z', 4]]
)
sankey.opts(width=600, height=400)
Stack traceback and/or browser JavaScript console output
None. Jupyterlab in browser is frozen. Not sure how to debug.
Screenshots or screencasts of the bug in action
Jupyterlab in browser is frozen.
Issue Analytics
- State:
- Created 3 years ago
- Comments:9 (4 by maintainers)
Top Results From Across the Web
conda-forge - :: Anaconda.org
acme, 2.1.0, Apache-2.0, X, ACME protocol implementation in Python. acme-tiny, 5.0.1, MIT, X, A tiny script to issue and renew TLS certs from...
Read more >OpenSuSE Leap 15.2 for noarch - RPMFind
OpenSuSE Leap 15.2 for noarch. bin · boot · grub2 · themes · breeze · vc · overlays · etc · NetworkManager ·...
Read more >Simple index
... atlassian-bitbucket-analytics atlassian-bitbucket-locking atlassian-cfn-flip atlassian-click-commands atlassian-closure-xss-detection atlassian-cloud ...
Read more >Delft Students on Software Architecture: DESOSA 2017
An example of an Arduino project is making a simple Arduino alarm system, the hardware components you need for this are an Arduino....
Read more >The interactive graphing library for Python (includes Plotly ...
See the Python documentation for more examples. ... the required JupyterLab extensions (note that this will require node to be installed):
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
This issue is actually unrelated to graph rendering (at least directly). The underlying problem is that when two or more glyph renderers share a source and a view, then bokehjs enters an infinite update loop. This is the case with sankey diagrams, as they are represented by a graph renderer and a quad glyph renderer, where graph’s node renderer shares a source and a view with quad renderer. We didn’t notice this before, because even if glyphs share a source, they never share a view in our tests and examples.
Thanks, I just noticed the same for Chord plots. Seems to be something in bokeh, investigating today.