cortex-lab / cortex-lab/phy

Crash in phy with Exception in paintGL

Open
#1,243 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: installation status: needs-info type: bug
Dominant language
Python
Stars
430
Forks
187
Avg merge
2h 31m
Merged PRs (30d)
2

Description

I followed the instruction as the ReadMe wrote in a python 3.9 environment in my Windows Server and encountered the issues as #1193 and #1018, then I fixed the issues by downgrade the numpy to 1.23.1 and upgrade the opengl to 4.2. After that, I launched the phy, and the layout was stucked and the program crashed. The screenshot is shown below.
image
And the running log is shown below:
13:48:09.794 [D] init:68 Start capturing exceptions.
13:48:09.803 [D] model:619 Loading spike clusters.
13:48:09.808 [D] model:569 No channel shank file found.
13:48:09.811 [D] model:692 Loading templates.
13:48:09.815 [D] model:724 Templates are dense.
13:48:09.816 [W] model:667 Skipping spike waveforms that do not exist, they will be extracted on the fly from the raw data as needed.
13:48:09.817 [D] model:730 Loading the whitening matrix.
13:48:09.819 [D] model:737 Loading the inverse of the whitening matrix.
13:48:09.821 [D] model:766 Loading features.
13:48:09.826 [D] model:803 Loading template features.
13:48:09.827 [D] model:504 Load cluster_Amplitude.tsv.
13:48:09.828 [D] model:504 Load cluster_ContamPct.tsv.
13:48:09.829 [D] model:504 Load cluster_group.tsv.
13:48:09.830 [D] model:504 Load cluster_KSLabel.tsv.
13:48:10.150 [D] context:100 Initialize joblib cache dir at D:\XD\raw\kilosort3\.phy.
13:48:10.150 [D] context:101 Reducing the size of the cache if needed.
13:48:10.171 [D] base:102 Add filter high_pass.
13:48:10.172 [D] config:31 Load config file C:\Users\admin3\.phy\phy_config.py.
13:48:10.173 [D] plugin:145 Loading 0 plugins.
13:48:10.174 [D] context:126 Load memcache for phy.apps.base._get_mean_waveforms.
13:48:10.179 [D] context:126 Load memcache for phy.apps.base._get_mean_waveforms.
13:48:10.180 [D] context:126 Load memcache for phy.apps.base._get_template_waveforms.
13:48:10.182 [D] context:126 Load memcache for phy.apps.base.get_mean_spike_template_amplitudes.
13:48:10.183 [D] context:126 Load memcache for phy.apps.base.get_template_counts.
13:48:10.184 [D] context:126 Load memcache for phy.apps.base.get_template_for_cluster.
13:48:10.185 [D] context:126 Load memcache for phy.apps.template.gui.get_template_amplitude.
13:48:10.186 [D] context:126 Load memcache for phy.apps.base.get_cluster_amplitude.
13:48:10.187 [D] context:126 Load memcache for phy.apps.base.get_mean_firing_rate.
13:48:10.188 [D] context:126 Load memcache for phy.apps.base.get_best_channel.
13:48:10.195 [D] context:126 Load memcache for phy.apps.template.gui.get_best_channels.
13:48:10.195 [D] context:126 Load memcache for phy.apps.base.get_channel_shank.
13:48:10.196 [D] context:126 Load memcache for phy.apps.base.get_probe_depth.
13:48:10.197 [D] context:126 Load memcache for phy.apps.base.peak_channel_similarity.
13:48:10.200 [D] context:209 The file D:\XD\raw\kilosort3\.phy\new_cluster_id.pkl doesn't exist.
13:48:10.216 [D] context:185 Save data to D:\XD\raw\kilosort3\.phy\spikes_per_cluster.pkl.
13:48:10.225 [D] gui:463 Creating GUI.
13:48:10.234 [D] state:46 Load C:\Users\admin3.phy\TemplateGUI\state.json for GUIState.
13:48:10.235 [D] state:46 Load D:\XD\raw\kilosort3.phy\state.json for GUIState.
13:48:10.613 [D] gui:718 Add view ClusterView to GUI.
13:48:10.642 [D] gui:718 Add view SimilarityView to GUI.
13:48:10.690 [D] gui:718 Add view WaveformView to GUI.
13:48:10.698 [D] base:337 Set state for WaveformView.
13:48:10.712 [D] gui:718 Add view CorrelogramView to GUI.
13:48:10.715 [D] base:337 Set state for CorrelogramView.
13:48:10.744 [D] gui:718 Add view ISIView to GUI.
13:48:10.748 [D] base:337 Set state for ISIView.
13:48:10.775 [D] gui:718 Add view AmplitudeView to GUI.
13:48:10.779 [D] base:337 Set state for AmplitudeView.
13:48:10.805 [D] gui:718 Add view FiringRateView to GUI.
13:48:10.809 [D] base:337 Set state for FiringRateView.
13:48:10.839 [D] gui:718 Add view FiringRateView to GUI.
13:48:10.844 [D] base:337 Set state for FiringRateView (1).
13:48:10.890 [D] gui:718 Add view ProbeView to GUI.
13:48:10.896 [D] base:337 Set state for ProbeView.
13:48:10.924 [D] gui:718 Add view ClusterScatterView to GUI.
13:48:10.929 [D] base:337 Set state for ClusterScatterView.
13:48:10.929 [D] base:494 Set color scheme to random.
13:48:10.931 [D] base:1623 Adding default color schemes to ClusterScatterView.
13:48:11.175 [D] gui:519 Load the geometry state.
13:48:11.677 [D] base:702 Exception in paintGL: exception: access violation reading 0x0000000100000000

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the crash on Windows Server with Python 3.9, numpy 1.23.1, and OpenGL 4.2, then inspect the paintGL path reported at base.py:702. Compare the startup log and layout behavior to identify the access violation; done means phy launches without the paintGL crash and the layout renders normally.

Written by the indexing model from the issue text.

Assessment

Tech stack
numpy, python
Domain
computer-graphics, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.