xeus-python icon indicating copy to clipboard operation
xeus-python copied to clipboard

HoloViews segfaults the `xeus` kernel but not `ipykernel`

Open dhirschfeld opened this issue 4 years ago • 3 comments

In JupyterLab in a linux-64 container:

import holoviews as hv
hv.extension('bokeh')

Kernel output:

Error: signal 11:
/opt/conda/envs/quantdev/bin/xpython(+0x84fd)[0x5634b39614fd]
/lib/x86_64-linux-gnu/libc.so.6(+0x3f040)[0x7f570017b040]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f570017afb7]
/lib/x86_64-linux-gnu/libc.so.6(+0x3f040)[0x7f570017b040]
/opt/conda/envs/quantdev/bin/../lib/libpython3.7m.so.1.0(PyObject_Call+0xd)[0x7f570088fb5d]
/opt/conda/envs/quantdev/bin/../lib/libxeus-python.so.0(+0x35a89)[0x7f5700bc9a89]
/opt/conda/envs/quantdev/bin/../lib/libxeus-python.so.0(+0x35c4b)[0x7f5700bc9c4b]
/opt/conda/envs/quantdev/bin/../lib/libxeus.so.1(_ZN4xeus13xcomm_manager9comm_openERKNS_8xmessageE+0x39a)[0x7f5700b00aba]
/opt/conda/envs/quantdev/bin/../lib/libxeus.so.1(_ZN4xeus12xkernel_core8dispatchERN3zmq11multipart_tENS_7channelE+0x1e6)[0x7f5700b55586]
/opt/conda/envs/quantdev/bin/../lib/libxeus.so.1(_ZN4xeus6xshell3runEv+0x449)[0x7f5700b6e259]
[I 2021-04-15 12:01:38.809 SingleUserLabApp restarter:71] AsyncIOLoopKernelRestarter: restarting kernel (1/5), keep random ports

faulthandler output:

Fatal Python error: Segmentation fault

Thread 0x00007f56fd72c700 (most recent call first):
  File "/opt/conda/envs/quantdev/lib/python3.7/threading.py", line 296 in wait
  File "/opt/conda/envs/quantdev/lib/python3.7/threading.py", line 552 in wait
  File "/opt/conda/envs/quantdev/lib/python3.7/site-packages/IPython/core/history.py", line 829 in run
  File "/opt/conda/envs/quantdev/lib/python3.7/site-packages/IPython/core/history.py", line 58 in needs_sqlite
  File "/opt/conda/envs/quantdev/lib/python3.7/site-packages/decorator.py", line 231 in fun
  File "/opt/conda/envs/quantdev/lib/python3.7/threading.py", line 926 in _bootstrap_inner
  File "/opt/conda/envs/quantdev/lib/python3.7/threading.py", line 890 in _bootstrap

Current thread 0x00007f5700a3f9c0 (most recent call first):

dhirschfeld avatar Apr 15 '21 03:04 dhirschfeld

I've tried to specify a minimal env to repro it:

mamba create -n segfault --file env.txt
env.txt
bokeh=2.3.1=py37h89c1867_0
bottleneck=1.3.2=py37h902c9e0_3
datashader=0.12.1=pyh44b312d_0
holoviews=1.14.3=pyhd8ed1ab_0
hvplot=0.7.1=pyh44b312d_0
ipykernel=5.5.3=py37h085eea5_0
ipython=7.22.0=py37h085eea5_0
ipywidgets=7.6.3=pyhd3deb0d_0
jupyter-packaging=0.8.3=pyhd8ed1ab_0
jupyter-server-proxy=3.0.2=pyhd8ed1ab_0
jupyter_bokeh=3.0.0=pyhd8ed1ab_0
jupyter_client=6.1.12=pyhd8ed1ab_0
jupyter_console=6.4.0=pyhd8ed1ab_0
jupyter_core=4.7.1=py37h89c1867_0
jupyter_server=1.6.0=py37h89c1867_0
jupyter_telemetry=0.1.0=pyhd8ed1ab_1
jupyterlab=3.0.14=pyhd8ed1ab_0
jupyterlab_server=2.4.0=pyhd8ed1ab_0
jupyterlab_widgets=1.0.0=pyhd8ed1ab_1
mkl=2020.4=h726a3e6_304
mkl-service=2.3.0=py37h8f50634_2
mkl_fft=1.3.0=py37h902c9e0_1
mkl_random=1.2.0=py37h9fdb41a_1
notebook=6.3.0=py37h89c1867_0
numba=0.53.1=py37h134767a_0
numdifftools=0.9.39=py_0
numexpr=2.7.3=py37hdc94413_0
numpy=1.20.2=py37h038b26d_0
pandas=1.2.3=py37hdc94413_0
pyarrow=2.0.0=py37he2832ee_32_cpu
pyviz_comms=2.0.1=pyhd3deb0d_0
xeus=1.0.1=h7d0c39e_2
xeus-python=0.12.3=py37h52ea871_0

env.txt

dhirschfeld avatar Apr 15 '21 04:04 dhirschfeld

Yup, confirmed the above environment reproduces the segfault in a separate WSL install.

dhirschfeld avatar Apr 15 '21 22:04 dhirschfeld

I'm looking into it this morning.

martinRenou avatar Apr 16 '21 07:04 martinRenou