arbor-sim / arbor

The Arbor multi-compartment neural network simulation library.
https://arbor-sim.org
BSD 3-Clause "New" or "Revised" License
108 stars 60 forks source link

Index error when setting probe to non-existent site #2137

Closed jlubo closed 1 year ago

jlubo commented 1 year ago

With master versions newer than dd75b03bf944f3816dc16a4353ec35ee317007e9, an error occurs when non-existent sites are probed (I use to set probes to existent and non-existent sites and then set handles only for the existent sites, and on CPU I've found this to still work fine until master version d1139b700db0ed640e216f76564278f14fd83dca).

Probing non-existent sites should be possible and no exception should be thrown (offline communication with @thorstenhater), if only, one might want to throw a warning (also see related issue #2066).

Here is the output from gdb:

GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python3...
(No debugging symbols found in python3)
(gdb) catch throw
Catchpoint 1 (throw)
(gdb) run
Starting program: /usr/bin/python3 ./arborNetworkConsolidation.py -runtime=15 -learn=\{\"time_start\":\ 10,\ \"scheme\":\ \"TRIPLET\",\ \"freq\":\ 100,\ \"N_stim\":\ 25\} -s_desc=smallnet3\ det,\ dt=0.2ms,\ 10s,\ with\ recall -dt=0.2 -config_file=config_smallnet3_det.json -sample_curr=0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff3a90700 (LWP 7410)]
[New Thread 0x7ffff128f700 (LWP 7411)]
[New Thread 0x7fffeea8e700 (LWP 7412)]
[New Thread 0x7fffec28d700 (LWP 7413)]
[New Thread 0x7fffe9a8c700 (LWP 7414)]
[New Thread 0x7fffe928b700 (LWP 7415)]
[New Thread 0x7fffe4a8a700 (LWP 7416)]
[Thread 0x7fffe4a8a700 (LWP 7416) exited]
[Thread 0x7fffe928b700 (LWP 7415) exited]
[Thread 0x7fffe9a8c700 (LWP 7414) exited]
[Thread 0x7fffec28d700 (LWP 7413) exited]
[Thread 0x7fffeea8e700 (LWP 7412) exited]
[Thread 0x7ffff128f700 (LWP 7411) exited]
[Thread 0x7ffff3a90700 (LWP 7410) exited]
[Detaching after fork from child process 7419]
[Detaching after vfork from child process 7421]
[Detaching after vfork from child process 7424]
[Detaching after fork from child process 7427]
Arbor network simulation 23-06-13_12-40-07 (Arbor version: 0.8.2-dev)
|
Simulated timespan: 15.0 s
Population parameters: N_exc = 4, N_inh = 1
Learning protocol: TRIPLET (OU), 25 input neurons at 100 Hz, starting at 10 s
Recall protocol: none
Background input: none
|
{'mpi': False, 'mpi4py': False, 'gpu': None, 'vectorize': False, 'profiling': True, 'neuroml': True, 'bundled': True, 'version': '0.8.2-dev', 'source': '2023-06-07T14:00:22+02:00 235b29135b4b8948b77fdf1867202eb2d724c553', 'build_config': 'DEBUG', 'arch': 'native', 'prefix': '/home/jlubo/arbor_v0.8.2-dev', 'python_lib_path': '', 'binary_path': 'bin', 'lib_path': 'lib', 'data_path': 'share', 'CXX': '/usr/bin/c++', 'pybind-version': '2.10.1', 'timestamp': 'Jun 12 2023 17:18:52'}
Random seed for mechanisms: 16866528079208
Add. info.: None
Schedule: learn
|
Learning phase (phase 1)
t_final = 15000.0 ms
t_final_red = 15000.0 ms
dt = 0.2 ms
Learning stim. [begin, end]: [10000, 11100.2] ms
Learning sampling [begin, end]: [5000, 15000.0] ms

Thread 1 "python3" hit Catchpoint 1 (exception thrown), 0x00007ffff720e672 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) backtrace
#0  0x00007ffff720e672 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff720537e in std::__throw_out_of_range(char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00007ffff6afc423 in std::__detail::_Map_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::at (this=0x7fffffffad00, 
    __k="expsyn_curr_early_late_plasticity") at /usr/include/c++/10/bits/hashtable_policy.h:785
#3  0x00007ffff6af6acf in std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > >::at (this=0x7fffffffad00, __k="expsyn_curr_early_late_plasticity") at /usr/include/c++/10/bits/unordered_map.h:1005
#4  0x00007ffff6af0863 in arb::resolve_probe<arb::multicore::backend> (p=..., R=...) at /home/jlubo/Desktop/Arbor_repo/arbor/fvm_lowered_cell_impl.hpp:894
#5  0x00007ffff6ae9d64 in arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}::operator()<arb::cable_probe_point_state const>(arb::cable_probe_point_state const&) const (this=0x7fffffffa9d8, 
    probe_addr=...) at /home/jlubo/Desktop/Arbor_repo/arbor/fvm_lowered_cell_impl.hpp:666
#6  0x00007ffff6ae9d98 in arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>::operator()<arb::cable_probe_point_state const&, 0>(arb::cable_probe_point_state const&) (this=0x7fffffffa9d0) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:118
#7  0x00007ffff6aea61b in arb::util::any_visitor<arb::cable_probe_point_state, arb::cable_probe_point_state_cell, arb::cable_probe_ion_current_density, arb::cable_probe_ion_current_cell, arb::cable_probe_ion_int_concentration, arb::cable_probe_ion_int_concentration_cell, arb::cable_probe_ion_diff_concentration, arb::cable_probe_ion_diff_concentration_cell, arb::cable_probe_ion_ext_concentration, arb::cable_probe_ion_ext_concentration_cell>::visit<arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>&, std::any const&, void>(arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>&, std::any const&) (f=..., 
    a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:90
#8  0x00007ffff6aea6c1 in arb::util::any_visitor<arb::cable_probe_density_state_cell, arb::cable_probe_point_state, arb::cable_probe_point_state_cell, arb::cable_probe_ion_current_density, arb::cable_probe_ion_current_cell, arb::cable_probe_ion_int_concentration, arb::cable_probe_ion_int_concentration_cell, arb::cable_probe_ion_diff_concentration, arb::cable_probe_ion_diff_concentration_cell, arb::cable_probe_ion_ext_concentration, arb::cable_probe_ion_ext_concentration_cell>::visit<arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > --Type <RET> for more, q to quit, c to continue without paging--c
>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>&, std::any const&, void>(arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>&, std::any const&) (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#9  0x00007ffff6aea73f in arb::util::any_visitor<arb::cable_probe_density_state, arb::cable_probe_density_state_cell, arb::cable_probe_point_state, arb::cable_probe_point_state_cell, arb::cable_probe_ion_current_density, arb::cable_probe_ion_current_cell, arb::cable_probe_ion_int_concentration, arb::cable_probe_ion_int_concentration_cell, arb::cable_probe_ion_diff_concentration, arb::cable_probe_ion_diff_concentration_cell, arb::cable_probe_ion_ext_concentration, arb::cable_probe_ion_ext_concentration_cell>::visit<arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>&, std::any const&, void>(arb::util::impl::overload_impl<arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda(auto:1&)#1}, arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address(std::vector<arb::fvm_probe_data, std::allocator<arb::fvm_probe_data> >&, std::vector<arb::cable_cell, std::allocator<arb::cable_cell> > const&, unsigned long, std::any const&, arb::fvm_cv_discretization const&, arb::fvm_mechanism_data const&, std::vector<arb::target_handle, std::allocator<arb::target_handle> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, arb::mechanism*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*> > > const&)::{lambda()#2}>&, std::any const&) (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#10 0x00007ffff6aea7bd in _ZN3arb4util11any_visitorINS_33cable_probe_stimulus_current_cellEJNS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaISO_EERKSN_INS_10cable_cellESaISS_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKSN_INS_13target_handleESaIS16_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1H_ESt8equal_toIS1H_ESaISt4pairIKS1H_S1J_EEEEUlRT_E_JZNSM_21resolve_probe_addressESR_SW_mSZ_S12_S15_S1A_S1U_EUlvE0_EEESZ_vEEDaOS1V_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#11 0x00007ffff6aea83b in _ZN3arb4util11any_visitorINS_30cable_probe_total_current_cellEJNS_33cable_probe_stimulus_current_cellENS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaISP_EERKSO_INS_10cable_cellESaIST_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKSO_INS_13target_handleESaIS17_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1I_ESt8equal_toIS1I_ESaISt4pairIKS1I_S1K_EEEEUlRT_E_JZNSN_21resolve_probe_addressESS_SX_mS10_S13_S16_S1B_S1V_EUlvE0_EEES10_vEEDaOS1W_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#12 0x00007ffff6aea8b9 in _ZN3arb4util11any_visitorINS_34cable_probe_total_ion_current_cellEJNS_30cable_probe_total_current_cellENS_33cable_probe_stimulus_current_cellENS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaISQ_EERKSP_INS_10cable_cellESaISU_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKSP_INS_13target_handleESaIS18_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1J_ESt8equal_toIS1J_ESaISt4pairIKS1J_S1L_EEEEUlRT_E_JZNSO_21resolve_probe_addressEST_SY_mS11_S14_S17_S1C_S1W_EUlvE0_EEES11_vEEDaOS1X_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#13 0x00007ffff6aea937 in _ZN3arb4util11any_visitorINS_37cable_probe_total_ion_current_densityEJNS_34cable_probe_total_ion_current_cellENS_30cable_probe_total_current_cellENS_33cable_probe_stimulus_current_cellENS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaISR_EERKSQ_INS_10cable_cellESaISV_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKSQ_INS_13target_handleESaIS19_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1K_ESt8equal_toIS1K_ESaISt4pairIKS1K_S1M_EEEEUlRT_E_JZNSP_21resolve_probe_addressESU_SZ_mS12_S15_S18_S1D_S1X_EUlvE0_EEES12_vEEDaOS1Y_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#14 0x00007ffff6aea9b5 in _ZN3arb4util11any_visitorINS_25cable_probe_axial_currentEJNS_37cable_probe_total_ion_current_densityENS_34cable_probe_total_ion_current_cellENS_30cable_probe_total_current_cellENS_33cable_probe_stimulus_current_cellENS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaISS_EERKSR_INS_10cable_cellESaISW_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKSR_INS_13target_handleESaIS1A_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1L_ESt8equal_toIS1L_ESaISt4pairIKS1L_S1N_EEEEUlRT_E_JZNSQ_21resolve_probe_addressESV_S10_mS13_S16_S19_S1E_S1Y_EUlvE0_EEES13_vEEDaOS1Z_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#15 0x00007ffff6aeaa33 in _ZN3arb4util11any_visitorINS_33cable_probe_membrane_voltage_cellEJNS_25cable_probe_axial_currentENS_37cable_probe_total_ion_current_densityENS_34cable_probe_total_ion_current_cellENS_30cable_probe_total_current_cellENS_33cable_probe_stimulus_current_cellENS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaIST_EERKSS_INS_10cable_cellESaISX_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKSS_INS_13target_handleESaIS1B_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1M_ESt8equal_toIS1M_ESaISt4pairIKS1M_S1O_EEEEUlRT_E_JZNSR_21resolve_probe_addressESW_S11_mS14_S17_S1A_S1F_S1Z_EUlvE0_EEES14_vEEDaOS20_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#16 0x00007ffff6aeaab1 in _ZN3arb4util11any_visitorINS_28cable_probe_membrane_voltageEJNS_33cable_probe_membrane_voltage_cellENS_25cable_probe_axial_currentENS_37cable_probe_total_ion_current_densityENS_34cable_probe_total_ion_current_cellENS_30cable_probe_total_current_cellENS_33cable_probe_stimulus_current_cellENS_25cable_probe_density_stateENS_30cable_probe_density_state_cellENS_23cable_probe_point_stateENS_28cable_probe_point_state_cellENS_31cable_probe_ion_current_densityENS_28cable_probe_ion_current_cellENS_33cable_probe_ion_int_concentrationENS_38cable_probe_ion_int_concentration_cellENS_34cable_probe_ion_diff_concentrationENS_39cable_probe_ion_diff_concentration_cellENS_33cable_probe_ion_ext_concentrationENS_38cable_probe_ion_ext_concentration_cellEEE5visitIRNS0_4impl13overload_implIZNS_21fvm_lowered_cell_implINS_9multicore7backendEE21resolve_probe_addressERSt6vectorINS_14fvm_probe_dataESaISU_EERKST_INS_10cable_cellESaISY_EEmRKSt3anyRKNS_21fvm_cv_discretizationERKNS_18fvm_mechanism_dataERKST_INS_13target_handleESaIS1C_EERKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9mechanismESt4hashIS1N_ESt8equal_toIS1N_ESaISt4pairIKS1N_S1P_EEEEUlRT_E_JZNSS_21resolve_probe_addressESX_S12_mS15_S18_S1B_S1G_S20_EUlvE0_EEES15_vEEDaOS21_OT0_ (f=..., a=std::any containing struct arb::cable_probe_point_state = {...}) at /home/jlubo/Desktop/Arbor_repo/arbor/include/arbor/util/any_visitor.hpp:91
#17 0x00007ffff6aeabc8 in arb::fvm_lowered_cell_impl<arb::multicore::backend>::resolve_probe_address (this=0x13c5fe0, probe_data=std::vector of length 0, capacity 1, cells=std::vector of length 1, capacity 1 = {...}, cell_idx=0, paddr=std::any containing struct arb::cable_probe_point_state = {...}, D=..., M=..., handles=std::vector of length 4, capacity 4 = {...}, mech_instance_by_name=Python Exception <class 'gdb.error'> No type named std::__detail::_Hash_node<struct std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, arb::mechanism*>, true>.: 
std::unordered_map with 3 elements) at /home/jlubo/Desktop/Arbor_repo/arbor/fvm_lowered_cell_impl.hpp:669
#18 0x00007ffff6ae69ce in arb::fvm_lowered_cell_impl<arb::multicore::backend>::initialize (this=0x13c5fe0, gids=std::vector of length 1, capacity 1 = {...}, rec=...) at /home/jlubo/Desktop/Arbor_repo/arbor/fvm_lowered_cell_impl.hpp:563
#19 0x00007ffff66a2764 in arb::mc_cell_group::mc_cell_group (this=<optimized out>, gids=..., rec=..., cg_sources=..., cg_targets=..., lowered=..., this=<optimized out>, gids=..., rec=..., cg_sources=..., cg_targets=..., lowered=...) at /home/jlubo/Desktop/Arbor_repo/arbor/mc_cell_group.cpp:42
#20 0x00007ffff6ad369b in arb::make_cell_group<arb::mc_cell_group, std::vector<unsigned int, std::allocator<unsigned int> > const&, arb::recipe const&, arb::cell_label_range&, arb::cell_label_range&, std::unique_ptr<arb::fvm_lowered_cell, std::default_delete<arb::fvm_lowered_cell> > > () at /home/jlubo/Desktop/Arbor_repo/arbor/cell_group_factory.cpp:19
#21 0x00007ffff6ad3247 in operator() (__closure=0x13f7c50, gids=std::vector of length 1, capacity 1 = {...}, rec=..., cg_sources=..., cg_targets=...) at /home/jlubo/Desktop/Arbor_repo/arbor/cell_group_factory.cpp:30
#22 0x00007ffff6ad4e53 in std::__invoke_impl<std::unique_ptr<arb::cell_group>, arb::cell_kind_implementation(arb::cell_kind, arb::backend_kind, const arb::execution_context&, arb::arb_seed_type)::<lambda(const gid_vector&, const arb::recipe&, arb::cell_label_range&, arb::cell_label_range&)>&, const std::vector<unsigned int, std::allocator<unsigned int> >&, const arb::recipe&, arb::cell_label_range&, arb::cell_label_range&>(std::__invoke_other, struct {...} &, const std::vector<unsigned int, std::allocator<unsigned int> > &, const arb::recipe &, arb::cell_label_range &, arb::cell_label_range &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#23 0x00007ffff6ad457b in std::__invoke_r<std::unique_ptr<arb::cell_group>, arb::cell_kind_implementation(arb::cell_kind, arb::backend_kind, const arb::execution_context&, arb::arb_seed_type)::<lambda(const gid_vector&, const arb::recipe&, arb::cell_label_range&, arb::cell_label_range&)>&, const std::vector<unsigned int, std::allocator<unsigned int> >&, const arb::recipe&, arb::cell_label_range&, arb::cell_label_range&>(struct {...} &, const std::vector<unsigned int, std::allocator<unsigned int> > &, const arb::recipe &, arb::cell_label_range &, arb::cell_label_range &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:115
#24 0x00007ffff6ad3c6c in std::_Function_handler<std::unique_ptr<arb::cell_group, std::default_delete<arb::cell_group> >(const std::vector<unsigned int, std::allocator<unsigned int> >&, const arb::recipe&, arb::cell_label_range&, arb::cell_label_range&), arb::cell_kind_implementation(arb::cell_kind, arb::backend_kind, const arb::execution_context&, arb::arb_seed_type)::<lambda(const gid_vector&, const arb::recipe&, arb::cell_label_range&, arb::cell_label_range&)> >::_M_invoke(const std::_Any_data &, const std::vector<unsigned int, std::allocator<unsigned int> > &, const arb::recipe &, arb::cell_label_range &, arb::cell_label_range &) (__functor=..., __args#0=std::vector of length 1, capacity 1 = {...}, __args#1=..., __args#2=..., __args#3=...) at /usr/include/c++/10/bits/std_function.h:292
#25 0x00007ffff6a3a925 in std::function<std::unique_ptr<arb::cell_group, std::default_delete<arb::cell_group> > (std::vector<unsigned int, std::allocator<unsigned int> > const&, arb::recipe const&, arb::cell_label_range&, arb::cell_label_range&)>::operator()(std::vector<unsigned int, std::allocator<unsigned int> > const&, arb::recipe const&, arb::cell_label_range&, arb::cell_label_range&) const (this=0x7fffffffbc20, __args#0=std::vector of length 1, capacity 1 = {...}, __args#1=..., __args#2=..., __args#3=...) at /usr/include/c++/10/bits/std_function.h:622
#26 0x00007ffff6a3685e in arb::simulation_state::simulation_state(arb::recipe const&, arb::domain_decomposition const&, std::shared_ptr<arb::execution_context>, unsigned long)::{lambda(std::unique_ptr<arb::cell_group, std::default_delete<arb::cell_group> >&, int)#1}::operator()(std::unique_ptr<arb::cell_group, std::default_delete<arb::cell_group> >&, int) const () at /home/jlubo/Desktop/Arbor_repo/arbor/simulation.cpp:213
#27 0x00007ffff6a3aa90 in operator() (this=0x13d5690, i=0) at /home/jlubo/Desktop/Arbor_repo/arbor/simulation.cpp:181
#28 0x00007ffff6a41bcc in operator() (this=0x12c7770) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.hpp:393
#29 0x00007ffff6a4dff5 in arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >::<lambda()> >::operator()(void) (this=0x12c7770) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.hpp:316
#30 0x00007ffff6a4d2f8 in std::__invoke_impl<void, arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >::<lambda()> >&>(std::__invoke_other, arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >::<lambda()> > &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#31 0x00007ffff6a4be5b in std::__invoke_r<void, arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >::<lambda()> >&>(arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >::<lambda()> > &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#32 0x00007ffff6a4a2f7 in std::_Function_handler<void(), arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >::<lambda()> > >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/10/bits/std_function.h:291
#33 0x00007ffff6a6dcf8 in std::function<void ()>::operator()() const (this=0x7fffffffbdc0) at /usr/include/c++/10/bits/std_function.h:622
#34 0x00007ffff6a6c12b in arb::threading::priority_task::run (this=0x7fffffffbeb0) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.hpp:57
#35 0x00007ffff6a6d4eb in arb::threading::task_system::run (this=0x12a74c0, ptsk=...) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.cpp:88
#36 0x00007ffff6a6d977 in arb::threading::task_system::try_run_task (this=0x12a74c0, lowest_priority=0) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.cpp:123
#37 0x00007ffff6a35837 in arb::threading::task_group::wait (this=0x7fffffffbfd0) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.hpp:366
#38 0x00007ffff6a41cdd in arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >(int, int, int, arb::threading::task_system *, struct {...}) (left=0, right=5, batch_size=1, ts=0x12a74c0, f=...) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.hpp:397
#39 0x00007ffff6a3e3e4 in arb::threading::parallel_for::apply<arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >::<lambda(int)> >(int, int, arb::threading::task_system *, struct {...}) (left=0, right=5, ts=0x12a74c0, f=...) at /home/jlubo/Desktop/Arbor_repo/arbor/threading/threading.hpp:402
#40 0x00007ffff6a3ab4d in arb::simulation_state::foreach_group_index<arb::simulation_state::simulation_state(const arb::recipe&, const arb::domain_decomposition&, arb::context, arb::arb_seed_type)::<lambda(arb::cell_group_ptr&, int)> >(struct {...} &&) (this=0x13d5690, fn=...) at /home/jlubo/Desktop/Arbor_repo/arbor/simulation.cpp:180
#41 0x00007ffff668b4b5 in arb::simulation_state::simulation_state (this=<optimized out>, rec=..., decomp=..., ctx=..., seed=<optimized out>, this=<optimized out>, rec=..., decomp=..., ctx=..., seed=<optimized out>) at /home/jlubo/Desktop/Arbor_repo/arbor/simulation.cpp:207
#42 0x00007ffff668bf56 in arb::simulation::simulation (this=<optimized out>, rec=..., ctx=..., decomp=..., seed=<optimized out>, this=<optimized out>, rec=..., ctx=..., decomp=..., seed=<optimized out>) at /home/jlubo/Desktop/Arbor_repo/arbor/simulation.cpp:539
#43 0x00007ffff66560ae in pyarb::simulation_shim::simulation_shim (this=<optimized out>, rec=..., ctx=..., decomp=..., seed=<optimized out>, global_ptr=..., this=<optimized out>, rec=..., ctx=..., decomp=..., seed=<optimized out>, global_ptr=...) at /home/jlubo/Desktop/Arbor_repo/python/simulation.cpp:62
#44 0x00007ffff692bb7a in operator() (__closure=0xe8a628, rec=std::shared_ptr<class pyarb::py_recipe> (use count 3, weak count 0) = {...}, ctx_=std::shared_ptr<struct pyarb::context_shim> (use count 3, weak count 0) = {...}, decomp=std::optional<class arb::domain_decomposition> = {...}, seed=16866528079208) at /home/jlubo/Desktop/Arbor_repo/python/simulation.cpp:209
#45 0x00007ffff6930859 in operator() (this=0xe8a628, v_h=..., args#0=std::shared_ptr<class pyarb::py_recipe> (use count 3, weak count 0) = {...}, args#1=std::shared_ptr<struct pyarb::context_shim> (use count 3, weak count 0) = {...}, args#2=std::optional<class arb::domain_decomposition> = {...}, args#3=16866528079208) at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/detail/init.h:297
#46 0x00007ffff693ff43 in pybind11::detail::argument_loader<pybind11::detail::value_and_holder&, std::shared_ptr<pyarb::py_recipe>&, std::shared_ptr<pyarb::context_shim> const&, std::optional<arb::domain_decomposition> const&, unsigned long>::call_impl<void, pybind11::detail::initimpl::factory<Func, pybind11::detail::void_type (*)(), Return(Args ...)>::execute<pybind11::class_<pyarb::simulation_shim>, {pybind11::call_guard<pybind11::gil_scoped_release>, char [169], pybind11::arg, pybind11::arg_v, pybind11::arg_v, pybind11::arg_v}>::<lambda(pybind11::detail::value_and_holder&, std::shared_ptr<pyarb::py_recipe>&, const std::shared_ptr<pyarb::context_shim>&, const std::optional<arb::domain_decomposition>&, long unsigned int)>&, 0, 1, 2, 3, 4, pybind11::gil_scoped_release>(struct {...} &, std::index_sequence, pybind11::gil_scoped_release &&) (this=0x7fffffffc8e0, f=...) at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/cast.h:1439
#47 0x00007ffff693e9b3 in pybind11::detail::argument_loader<pybind11::detail::value_and_holder&, std::shared_ptr<pyarb::py_recipe>&, std::shared_ptr<pyarb::context_shim> const&, std::optional<arb::domain_decomposition> const&, unsigned long>::call<void, pybind11::gil_scoped_release, pybind11::detail::initimpl::factory<Func, pybind11::detail::void_type (*)(), Return(Args ...)>::execute<pybind11::class_<pyarb::simulation_shim>, {pybind11::call_guard<pybind11::gil_scoped_release>, char [169], pybind11::arg, pybind11::arg_v, pybind11::arg_v, pybind11::arg_v}>::<lambda(pybind11::detail::value_and_holder&, std::shared_ptr<pyarb::py_recipe>&, const std::shared_ptr<pyarb::context_shim>&, const std::optional<arb::domain_decomposition>&, long unsigned int)>&>(struct {...} &) (this=0x7fffffffc8e0, f=...) at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/cast.h:1413
#48 0x00007ffff693be31 in operator() (this=0x0, call=...) at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/pybind11.h:249
#49 0x00007ffff693bee5 in _FUN () at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/pybind11.h:224
#50 0x00007ffff66f1fb3 in pybind11::cpp_function::dispatcher (self=0x7fffe1757d80, args_in=0x7ffff0fa3950, kwargs_in=0x7ffff335a3c0) at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/pybind11.h:929
#51 0x00000000005f6939 in PyCFunction_Call ()
#52 0x00000000005f7506 in _PyObject_MakeTpCall ()
#53 0x000000000050b8a8 in ?? ()
#54 0x00000000005f60b2 in PyObject_Call ()
#55 0x000000000059cbb0 in ?? ()
#56 0x00000000005a73a7 in ?? ()
#57 0x00007ffff66ec5c3 in pybind11::detail::pybind11_meta_call (type=0xe8a150, args=0x7ffff39673c0, kwargs=0x7ffff0fb5300) at /home/jlubo/Desktop/Arbor_repo/ext/pybind11/include/pybind11/detail/class.h:187
#58 0x00000000005f7506 in _PyObject_MakeTpCall ()
#59 0x0000000000571019 in _PyEval_EvalFrameDefault ()
#60 0x00000000005f6ce6 in _PyFunction_Vectorcall ()
#61 0x000000000056b4ed in _PyEval_EvalFrameDefault ()
#62 0x00000000005697da in _PyEval_EvalCodeWithName ()
#63 0x00000000005f6ec3 in _PyFunction_Vectorcall ()
#64 0x000000000056b4ed in _PyEval_EvalFrameDefault ()
#65 0x00000000005697da in _PyEval_EvalCodeWithName ()
#66 0x000000000068e547 in PyEval_EvalCode ()
#67 0x000000000067dbf1 in ?? ()
#68 0x000000000067dc6f in ?? ()
#69 0x000000000067dd11 in ?? ()
#70 0x000000000067fe37 in PyRun_SimpleFileExFlags ()
#71 0x00000000006b7c82 in Py_RunMain ()
#72 0x00000000006b800d in Py_BytesMain ()
#73 0x00007ffff7ddf083 in __libc_start_main (main=0x4ef140 <main>, argc=8, argv=0x7fffffffdaa8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffda98) at ../csu/libc-start.c:308
#74 0x00000000005fb85e in _start ()
jlubo commented 1 year ago

As I promised @thorstenhater, here is a small example for demonstration: index_error_example.zip

In a small network of 4 neurons, probes are set to all possible neurons and synapses. Four different cases are run:

The scripts set_arbor_env and set_arbor_env_dev will have to be adapted for the machine that is used.

Example output:

Building catalogue 'custom' from mechanisms in /home/jlubo/Desktop/TO REMOVE/pckg/mechanisms
 * NMODL
   * lif
   * deltasyn
Catalogue has been built and copied to /home/jlubo/Desktop/TO REMOVE/pckg/custom-catalogue.so
------------------------------
Connectivity matrix: connections_smallnet2.txt
------------------------------
Number of set handles:
  For neuronal state: 4
  For synaptic state: 5
------------------------------
Latest state of neuron 0: v = -65.00000000000057
Latest state of neuron 1: v = -64.99999999999963
Latest state of synapse 0->1: w = 0.0069055176145515
Latest state of neuron 2: v = -64.99999999999963
Latest state of synapse 3->2: w = -0.014038446862327636
Latest state of synapse 0->2: w = 0.016747026333107796
Latest state of neuron 3: v = -64.99999999999963
Latest state of synapse 2->3: w = -0.014038446862327636
Latest state of synapse 0->3: w = 0.016747026333107796
------------------------------
Spikes (8 in total):
[['1000.0102' '0']
 ['1020.0110913065639' '0']
 ['1025.563307369483' '1']
 ['1025.563307369483' '2']
 ['1025.563307369483' '3']
 ['1040.0110824825108' '0']
 ['1044.58519146524' '2']
 ['1044.58519146524' '3']]
========================================================
Building catalogue 'custom' from mechanisms in /home/jlubo/Desktop/TO REMOVE/pckg/mechanisms
 * NMODL
   * lif
   * deltasyn
Catalogue has been built and copied to /home/jlubo/Desktop/TO REMOVE/pckg/custom-catalogue.so
------------------------------
Connectivity matrix: connections_full.txt
------------------------------
Number of set handles:
  For neuronal state: 4
  For synaptic state: 12
------------------------------
Latest state of neuron 0: v = -12.281137472625689
Latest state of synapse 3->0: w = 9.302127811063135
Latest state of synapse 2->0: w = 9.302127811063135
Latest state of synapse 1->0: w = 9.302127811063135
Latest state of neuron 1: v = -69.99999997212416
Latest state of synapse 3->1: w = -29.64411386009621
Latest state of synapse 2->1: w = -29.64411386009621
Latest state of synapse 0->1: w = 5.470037132439371
Latest state of neuron 2: v = -69.99999997212416
Latest state of synapse 3->2: w = -29.64411386009621
Latest state of synapse 1->2: w = -29.64411386009621
Latest state of synapse 0->2: w = 5.470037132439371
Latest state of neuron 3: v = -69.99999997212416
Latest state of synapse 2->3: w = -29.64411386009621
Latest state of synapse 1->3: w = -29.64411386009621
Latest state of synapse 0->3: w = 5.470037132439371
------------------------------
Spikes (23584 in total):
[['1000.0102' '0']
 ['1020.0110913065639' '0']
 ['1025.563307369483' '1']
 ...
 ['14999.747927186769' '1']
 ['14999.747927186769' '2']
 ['14999.747927186769' '3']]
========================================================
Building catalogue 'custom' from mechanisms in /home/jlubo/Desktop/TO REMOVE/pckg/mechanisms
 * NMODL
   * lif
   * deltasyn
Catalogue has been built and copied to /home/jlubo/Desktop/TO REMOVE/pckg/custom-catalogue.so
------------------------------
Connectivity matrix: connections_smallnet2.txt
Traceback (most recent call last):
  File "./arborNetworkExample.py", line 196, in <module>
    sim = arbor.simulation(recipe, context, domains)
IndexError: _Map_base::at
========================================================
Building catalogue 'custom' from mechanisms in /home/jlubo/Desktop/TO REMOVE/pckg/mechanisms
 * NMODL
   * lif
   * deltasyn
Catalogue has been built and copied to /home/jlubo/Desktop/TO REMOVE/pckg/custom-catalogue.so
------------------------------
Connectivity matrix: connections_full.txt
------------------------------
Number of set handles:
  For neuronal state: 4
  For synaptic state: 12
------------------------------
Latest state of neuron 0: v = -69.9999998192683
Latest state of synapse 3->0: w = 42.8457432251099
Latest state of synapse 2->0: w = 42.8457432251099
Latest state of synapse 1->0: w = 42.8457432251099
Latest state of neuron 1: v = -69.99999997155972
Latest state of synapse 3->1: w = -29.934306666847682
Latest state of synapse 2->1: w = -29.934306666847682
Latest state of synapse 0->1: w = 15.673550517214608
Latest state of neuron 2: v = -69.99999997155972
Latest state of synapse 3->2: w = -29.934306666847682
Latest state of synapse 1->2: w = -29.934306666847682
Latest state of synapse 0->2: w = 15.673550517214608
Latest state of neuron 3: v = -69.99999997155972
Latest state of synapse 2->3: w = -29.934306666847682
Latest state of synapse 1->3: w = -29.934306666847682
Latest state of synapse 0->3: w = 15.673550517214608
------------------------------
Spikes (24439 in total):
[['1000.0102' '0']
 ['1020.0110913065639' '0']
 ['1025.5514370035123' '1']
 ...
 ['14999.953669491799' '1']
 ['14999.953669491799' '2']
 ['14999.953669491799' '3']]