question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Sankey example locks up jupyterlab (and classic) (requires bokeh 2.1.0)

See original GitHub issue

tl;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:closed
  • Created 3 years ago
  • Comments:9 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
mattpapcommented, Sep 24, 2020

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.

1reaction
philippjfrcommented, Sep 2, 2020

Thanks, I just noticed the same for Chord plots. Seems to be something in bokeh, investigating today.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found