cortex-lab / phy

phy: interactive visualization and manual spike sorting of large-scale ephys data
BSD 3-Clause "New" or "Revised" License
319 stars 157 forks source link

OpenGL core dumped on launching phy on Ubuntu 23.04 #1209

Closed larsrollik closed 6 months ago

larsrollik commented 1 year ago

Same issue as #1196, but for Ubuntu 23.04.

Install

conda create -n phy python=3.9 -y
conda activate phy
pip install phy --pre --upgrade

Error

$ phy template-gui params.py

15:07:10.569 [W] model:603            Unreferenced clusters found in templates (generally not a problem)
15:07:10.764 [W] model:625            Unreferenced clusters found in spike_clusters (generally not a problem)
15:07:10.875 [W] model:667            Skipping spike waveforms that do not exist, they will be extracted on the fly from the raw data as needed.
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed.
QGLXContext: Failed to create dummy context
15:07:12.359 [W] gui:671              Could not create view FeatureView.
15:07:12.393 [W] gui:671              Could not create view TraceView.
15:07:12.450 [W] gui:671              Could not create view TemplateFeatureView.
Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) 
Aborted (core dumped)

$
zm711 commented 1 year ago

@larsrollik

Not sure if it matters any more for you, but there are new installation instructions to install from source rather than pypi, which has helped others to ensure all packages are coordinated.

Easiest thing would be to download the environment.yaml and run:

conda env create -f environment.yml
larsrollik commented 6 months ago

Thank you, @zm711 ! I ended up containerizing it to avoid these spurious issues.

MHRosenberg commented 2 weeks ago

@larsrollik, would it be possible to share your container? Is it a docker image? What was your solution?

I have followed all suggestions in the prior issues I found: #1196, #1198

ie I have tried both requirements files as well as verified that my versions match that of the new updated conda environment yaml file. For reference, here are my dependencies and my error (same as others, as far as I can tell...)

`conda list packages in environment at /home/mr/miniconda3/envs/phy2:

Name Version Build Channel _libgcc_mutex 0.1 main
_openmp_mutex 5.1 1_gnu
arrow-cpp 16.1.0 hc1eb8f0_0
asttokens 2.0.5 pyhd3eb1b0_0
aws-c-auth 0.6.19 h5eee18b_0
aws-c-cal 0.5.20 hdbd6064_0
aws-c-common 0.8.5 h5eee18b_0
aws-c-compression 0.2.16 h5eee18b_0
aws-c-event-stream 0.2.15 h6a678d5_0
aws-c-http 0.6.25 h5eee18b_0
aws-c-io 0.13.10 h5eee18b_0
aws-c-mqtt 0.7.13 h5eee18b_0
aws-c-s3 0.1.51 hdbd6064_0
aws-c-sdkutils 0.1.6 h5eee18b_0
aws-checksums 0.1.13 h5eee18b_0
aws-crt-cpp 0.18.16 h6a678d5_0
aws-sdk-cpp 1.10.55 h721c034_0
blas 1.0 mkl
bokeh 3.6.0 py311h06a4308_0
boost-cpp 1.82.0 hdb19cb5_2
bottleneck 1.3.7 py311hf4808d0_0
brotli 1.0.9 h5eee18b_8
brotli-bin 1.0.9 h5eee18b_8
brotli-python 1.0.9 py311h6a678d5_8
bzip2 1.0.8 h5eee18b_6
c-ares 1.19.1 h5eee18b_0
ca-certificates 2024.9.24 h06a4308_0
certifi 2024.8.30 py311h06a4308_0
charset-normalizer 3.3.2 pyhd3eb1b0_0
click 8.1.7 py311h06a4308_0
cloudpickle 3.0.0 py311h06a4308_0
colorcet 3.1.0 pypi_0 pypi comm 0.2.1 py311h06a4308_0
contourpy 1.2.0 py311hdb19cb5_0
coverage 7.6.4 pypi_0 pypi coveralls 4.0.1 pypi_0 pypi cycler 0.11.0 pyhd3eb1b0_0
cyrus-sasl 2.1.28 h52b45da_1
cython 3.0.11 py311h5eee18b_0
cytoolz 0.12.2 py311h5eee18b_0
dask 2024.8.2 py311h06a4308_0
dask-core 2024.8.2 py311h06a4308_0
dask-expr 1.1.13 py311h06a4308_0
dbus 1.13.18 hb2f20db_0
debugpy 1.6.7 py311h6a678d5_0
decorator 5.1.1 pyhd3eb1b0_0
distributed 2024.8.2 py311h06a4308_0
docopt 0.6.2 pypi_0 pypi executing 0.8.3 pyhd3eb1b0_0
expat 2.6.3 h6a678d5_0
flake8 7.1.1 pypi_0 pypi fontconfig 2.14.1 h4c34cd2_2
fonttools 4.51.0 py311h5eee18b_0
freetype 2.12.1 h4a9f257_0
fsspec 2024.6.1 py311h06a4308_0
gflags 2.2.2 h6a678d5_1
ghp-import 2.1.0 pypi_0 pypi glib 2.78.4 h6a678d5_0
glib-tools 2.78.4 h6a678d5_0
glog 0.5.0 h6a678d5_1
gst-plugins-base 1.14.1 h6a678d5_1
gstreamer 1.14.1 h5eee18b_1
h5py 3.11.0 py311h865a13c_0
hdf5 1.12.1 h2b7332f_3
heapdict 1.0.1 pyhd3eb1b0_0
icu 73.1 h6a678d5_0
idna 3.7 py311h06a4308_0
importlib-metadata 7.0.1 py311h06a4308_0
iniconfig 1.1.1 pyhd3eb1b0_0
intel-openmp 2023.1.0 hdb19cb5_46306
ipykernel 6.29.5 py311h06a4308_0
ipython 8.27.0 py311h06a4308_0
jedi 0.19.1 py311h06a4308_0
jinja2 3.1.4 py311h06a4308_0
joblib 1.4.2 py311h06a4308_0
jpeg 9e h5eee18b_3
jupyter_client 8.6.0 py311h06a4308_0
jupyter_core 5.7.2 py311h06a4308_0
kiwisolver 1.4.4 py311h6a678d5_0
krb5 1.20.1 h143b758_1
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.40 h12ee557_0
lerc 3.0 h295c915_0
libabseil 20240116.2 cxx17_h6a678d5_0
libboost 1.82.0 h109eef0_2
libbrotlicommon 1.0.9 h5eee18b_8
libbrotlidec 1.0.9 h5eee18b_8
libbrotlienc 1.0.9 h5eee18b_8
libclang 14.0.6 default_hc6dbbc7_1
libclang13 14.0.6 default_he11475f_1
libcups 2.4.2 h2d74bed_1
libcurl 8.9.1 h251f7ec_0
libdeflate 1.17 h5eee18b_1
libedit 3.1.20230828 h5eee18b_0
libev 4.33 h7f8727e_1
libevent 2.1.12 hdbd6064_1
libffi 3.4.4 h6a678d5_1
libgcc-ng 11.2.0 h1234567_1
libgfortran-ng 11.2.0 h00389a5_1
libgfortran5 11.2.0 h1234567_1
libglib 2.78.4 hdc74915_0
libgomp 11.2.0 h1234567_1
libgrpc 1.62.2 h2d74bed_0
libiconv 1.16 h5eee18b_3
libllvm14 14.0.6 hecde1de_4
libnghttp2 1.57.0 h2d74bed_0
libpng 1.6.39 h5eee18b_0
libpq 12.17 hdbd6064_0
libprotobuf 4.25.3 he621ea3_0
libsodium 1.0.18 h7b6447c_0
libssh2 1.11.0 h251f7ec_0
libstdcxx-ng 11.2.0 h1234567_1
libthrift 0.15.0 h1795dd8_2
libtiff 4.5.1 h6a678d5_0
libuuid 1.41.5 h5eee18b_0
libwebp-base 1.3.2 h5eee18b_1
libxcb 1.15 h7f8727e_0
libxkbcommon 1.0.1 h5eee18b_1
libxml2 2.10.4 hfdd30dd_2
locket 1.0.0 py311h06a4308_0
lz4 4.3.2 py311h5eee18b_0
lz4-c 1.9.4 h6a678d5_1
markdown 3.7 pypi_0 pypi markupsafe 2.1.3 py311h5eee18b_0
matplotlib 3.9.2 py311h06a4308_0
matplotlib-base 3.9.2 py311h6fb44e5_0
matplotlib-inline 0.1.6 py311h06a4308_0
mccabe 0.7.0 pypi_0 pypi memory-profiler 0.61.0 pypi_0 pypi mergedeep 1.3.4 pypi_0 pypi mkdocs 1.6.1 pypi_0 pypi mkdocs-get-deps 0.2.0 pypi_0 pypi mkl 2023.1.0 h213fc3f_46344
mkl-service 2.4.0 py311h5eee18b_1
mkl_fft 1.3.10 py311h5eee18b_0
mkl_random 1.2.7 py311ha02d727_0
msgpack-python 1.0.3 py311hdb19cb5_0
mtscomp 1.0.2 pypi_0 pypi mysql 5.7.24 h721c034_2
ncurses 6.4 h6a678d5_0
nest-asyncio 1.6.0 py311h06a4308_0
nspr 4.35 h6a678d5_0
nss 3.89.1 h6a678d5_0
numexpr 2.8.7 py311h65dcdc2_0
numpy 1.26.4 py311h08b1b3b_0
numpy-base 1.26.4 py311hf175353_0
openjpeg 2.5.2 he7f1fd0_0
openssl 3.0.15 h5eee18b_0
orc 2.0.1 h2d29ad5_0
packaging 24.1 py311h06a4308_0
pandas 2.2.2 py311ha02d727_0
parso 0.8.3 pyhd3eb1b0_0
partd 1.4.1 py311h06a4308_0
pathspec 0.12.1 pypi_0 pypi pcre2 10.42 hebb0a14_1
pexpect 4.8.0 pyhd3eb1b0_3
phy 2.0b6 pypi_0 pypi phylib 2.6.0 pypi_0 pypi pillow 10.4.0 py311h5eee18b_0
pip 24.2 py311h06a4308_0
platformdirs 3.10.0 py311h06a4308_0
pluggy 1.5.0 pypi_0 pypi ply 3.11 py311h06a4308_0
prompt-toolkit 3.0.43 py311h06a4308_0
prompt_toolkit 3.0.43 hd3eb1b0_0
psutil 5.9.0 py311h5eee18b_0
ptyprocess 0.7.0 pyhd3eb1b0_2
pure_eval 0.2.2 pyhd3eb1b0_0
pyarrow 16.1.0 py311ha02d727_0
pybind11-abi 4 hd3eb1b0_1
pycodestyle 2.12.1 pypi_0 pypi pyflakes 3.2.0 pypi_0 pypi pygments 2.15.1 py311h06a4308_1
pyopengl 3.1.6 pypi_0 pypi pyparsing 3.1.2 py311h06a4308_0
pyqt 5.15.10 py311h6a678d5_0
pyqt5-sip 12.13.0 py311h5eee18b_0
pyqtwebengine 5.15.10 py311h6a678d5_0
pysocks 1.7.1 py311h06a4308_0
pytest 7.4.4 py311h06a4308_0
pytest-cov 5.0.0 pypi_0 pypi pytest-qt 4.4.0 pypi_0 pypi python 3.11.10 he870216_0
python-dateutil 2.9.0post0 py311h06a4308_2
python-lmdb 1.4.1 py311h6a678d5_0
python-tzdata 2023.3 pyhd3eb1b0_0
pytz 2024.1 py311h06a4308_0
pyyaml 6.0.2 py311h5eee18b_0
pyyaml-env-tag 0.1 pypi_0 pypi pyzmq 25.1.2 py311h6a678d5_0
qt-main 5.15.2 h53bd1ea_10
qt-webengine 5.15.9 h9ab4d14_7
qtconsole 5.6.0 py311h06a4308_0
qtpy 2.4.1 py311h06a4308_0
re2 2022.04.01 h295c915_0
readline 8.2 h5eee18b_0
requests 2.32.3 py311h06a4308_0
responses 0.25.0 py311h06a4308_0
s2n 1.3.27 hdbd6064_0
scikit-learn 1.5.1 py311ha02d727_0
scipy 1.13.1 py311h08b1b3b_0
setuptools 75.1.0 py311h06a4308_0
sip 6.7.12 py311h6a678d5_0
six 1.16.0 pyhd3eb1b0_1
snappy 1.2.1 h6a678d5_0
sortedcontainers 2.4.0 pyhd3eb1b0_0
sqlite 3.45.3 h5eee18b_0
stack_data 0.2.0 pyhd3eb1b0_0
tbb 2021.8.0 hdb19cb5_0
tblib 1.7.0 pyhd3eb1b0_0
threadpoolctl 3.5.0 py311h92b7b1e_0
tk 8.6.14 h39e8969_0
toolz 0.12.0 py311h06a4308_0
tornado 6.4.1 py311h5eee18b_0
tqdm 4.66.5 pypi_0 pypi traitlets 5.14.3 py311h06a4308_0
typing_extensions 4.11.0 py311h06a4308_0
tzdata 2024b h04d1e81_0
unicodedata2 15.1.0 py311h5eee18b_0
urllib3 2.2.3 py311h06a4308_0
utf8proc 2.6.1 h5eee18b_1
watchdog 5.0.3 pypi_0 pypi wcwidth 0.2.5 pyhd3eb1b0_0
wheel 0.44.0 py311h06a4308_0
xyzservices 2022.9.0 py311h06a4308_1
xz 5.4.6 h5eee18b_1
yaml 0.2.5 h7b6447c_0
zeromq 4.3.5 h6a678d5_0
zict 3.0.0 py311h06a4308_0
zipp 3.20.2 py311h06a4308_0
zlib 1.2.13 h5eee18b_1
zstd 1.5.6 hc292b87_0 `

phy template-gui --debug params.py 17:33:25.719 [D] init:68 Start capturing exceptions. 17:33:25.720 [W] model:1415 File ../240520_r001a-openFieldW2Pyr_g0_tcat.imec0.ap.bin does not exist. 17:33:26.198 [D] model:619 Loading spike clusters. 17:33:26.621 [D] model:692 Loading templates. 17:33:26.624 [D] model:724 Templates are dense. 17:33:26.629 [W] model:667 Skipping spike waveforms that do not exist, they will be extracted on the fly from the raw data as needed. 17:33:26.629 [D] model:730 Loading the whitening matrix. 17:33:26.629 [D] model:737 Loading the inverse of the whitening matrix. 17:33:26.630 [W] traces:462 File /home/mr/Documents/241022_phy_spike_visualization-testing/240520_r001a-openFieldW2Pyr_g0_tcat.imec0.ap.bin does not exist. 17:33:26.630 [W] traces:462 File /home/mr/Documents/241022_phy_spike_visualization-testing/240520_r001a-openFieldW2Pyr_g0_tcat.imec0.ap.bin does not exist. 17:33:26.630 [D] model:766 Loading features. 17:33:26.630 [D] model:781 Features are sparse. 17:33:26.630 [D] model:803 Loading template features. 17:33:26.654 [D] model:530 Load spike_times_sec.npy. 17:33:26.665 [W] model:532 Unable to open spike_detection_templates.npy: . 17:33:26.690 [D] model:530 Load spike_times_sec_adj.npy. 17:33:26.718 [W] model:532 Unable to open spike_positions.npy: . 17:33:26.719 [D] model:504 Load waveform_metrics.csv. 17:33:26.721 [D] model:504 Load overlap_summary.csv. 17:33:26.721 [D] model:504 Load metrics.csv. 17:33:26.725 [D] model:504 Load events.csv. 17:33:26.725 [W] model:509 Error when reading events.csv: . 17:33:26.725 [D] model:504 Load cluster_ContamPct.tsv. 17:33:26.726 [D] model:504 Load cluster_group.tsv. 17:33:26.726 [D] model:504 Load cluster_Amplitude.tsv. 17:33:26.726 [D] model:504 Load cluster_KSLabel.tsv. libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri) libGL error: failed to load driver: iris libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri) libGL error: failed to load driver: iris libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri) libGL error: failed to load driver: swrast 17:33:26.767 [D] context:100 Initialize joblib cache dir at /home/mr/Documents/241022_phy_spike_visualization-testing/imec0_ks4/.phy. 17:33:26.767 [D] context:101 Reducing the size of the cache if needed. 17:33:26.768 [D] base:102 Add filter high_pass. 17:33:26.768 [D] config:31 Load config file /home/mr/.phy/phy_config.py. 17:33:26.768 [D] plugin:146 Loading 0 plugins. 17:33:26.769 [D] context:209 The file /home/mr/Documents/241022_phy_spike_visualization-testing/imec0_ks4/.phy/new_cluster_id.pkl doesn't exist. 17:33:26.860 [D] context:185 Save data to /home/mr/Documents/241022_phy_spike_visualization-testing/imec0_ks4/.phy/spikes_per_cluster.pkl. 17:33:26.994 [D] gui:463 Creating GUI. 17:33:26.997 [D] state:46 Load /home/mr/.phy/TemplateGUI/state.json for GUIState. WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed. QGLXContext: Failed to create dummy context 17:33:27.230 [D] gui:718 Add view ClusterView to GUI. 17:33:27.233 [D] gui:718 Add view SimilarityView to GUI. 17:33:27.249 [D] gui:718 Add view WaveformView to GUI. 17:33:27.250 [D] base:337 Set state for WaveformView. 17:33:27.255 [D] gui:718 Add view CorrelogramView to GUI. 17:33:27.256 [D] base:337 Set state for CorrelogramView. 17:33:27.266 [D] gui:718 Add view ISIView to GUI. 17:33:27.267 [D] base:337 Set state for ISIView. 17:33:27.272 [D] gui:718 Add view FeatureView to GUI. 17:33:27.273 [D] base:337 Set state for FeatureView. 17:33:27.282 [D] gui:718 Add view AmplitudeView to GUI. 17:33:27.283 [D] base:337 Set state for AmplitudeView. 17:33:27.293 [D] gui:718 Add view FiringRateView to GUI. 17:33:27.293 [D] base:337 Set state for FiringRateView. 17:33:27.294 [W] gui:671 Could not create view TraceView. 17:33:27.327 [D] gui:718 Add view ProbeView to GUI. 17:33:27.327 [D] base:337 Set state for ProbeView. 17:33:27.328 [W] gui:671 Could not create view TemplateFeatureView. 17:33:27.337 [D] gui:718 Add view ClusterScatterView to GUI. 17:33:27.338 [D] base:337 Set state for ClusterScatterView. 17:33:27.338 [D] base:494 Set color scheme to firing_rate. 17:33:27.338 [D] base:1626 Adding default color schemes to ClusterScatterView. Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) Aborted (core dumped) (phy2) mr@mr-System-Product-Name:~/Documents/241022_phy_spike_visualization-testing/imec0_ks4$