Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with master / upcoming v9.0: "generic_data_handle{raw=..type=void*} cannot be converted to data_handle<double>" #2783

Open
pramodk opened this issue Mar 18, 2024 · 0 comments
Labels
Milestone

Comments

@pramodk
Copy link
Member

pramodk commented Mar 18, 2024

(thanks to @arnaudon for creating the issue in the BBP JIRA system with a reproducer! 馃檶 )

Overview of the issue

When switching to NEURON 9 module (e.g. neuron-nightly wheel), I encountered a crash using bluepyopt-based evaluation. The error I see is:

terminate called after throwing an instance of 'std::runtime_error' what(): generic_data_handle{raw=0x5483510 type=void*} cannot be converted to data_handle<double>

I have attached the reproducer including the necessary MOD files. The example is just using a pickled class based on bluepyopt, I can provide more info on what it is inside, but it's a step protocol applied to a cell.

This same example runs to completion with NEURON v8.2.4.

Expected result/behavior

If NEURON v8.2.4 works then NEURON 9 should also work. If the model is incompatible, the error should be better/self-explanatory.

NEURON setup

  • Version: neuron-nightly/master vs 8.2.4
  • Installation method: pip or from source
  • Other details don't matter

Minimal working example - MWE

  • Unpack the attached tarball
  • and do:
python3 -m venv env
. env/bin/activate
pip install bluepyopt emodel-generalisation
nrnivmodl mods
python repro.py

To reproduce the issue, uninstall neuron v8.x from venv and install neuron-nightly.

Logs

$ python repro.py
...
works: {'bpo_holding_current': -0.0015625, 'SearchHoldingCurrent.soma.v': <bluepyopt.ephys.responses.TimeVoltageResponse object at 0x7ffc54adc110>}
terminate called after throwing an instance of 'std::runtime_error'
  what():  generic_data_handle{raw=0x3473190 type=void*} cannot be converted to data_handle<double>
Traceback (most recent call last):
  File "/gpfs/bbp.cscs.ch/home/kumbhar/Downloads/repro_neuron9_bug/repro.py", line 20, in <module>
    response = emodel_class.run(cell_model, params, sim=sim)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/gpfs/bbp.cscs.ch/home/kumbhar/Downloads/repro_neuron9_bug/env/lib/python3.11/site-packages/emodel_generalisation/model/bpopt.py", line 943, in run
    voltage_min = self.get_voltage_base(
                  ^^^^^^^^^^^^^^^^^^^^^^

Reproducer:: repro_neuron9_bug.tgz

@pramodk pramodk added the bug label Mar 18, 2024
@pramodk pramodk added this to the Release v9.0 milestone Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant