Page 1 of 1

segmentation fault when recording specific time points into h.Vector

Posted: Mon Nov 12, 2018 10:43 am
by rlindroos
Hi,
I get a segmentation error when running multiple version of the same simulations (with different parameters) in parallel on a super computer (Beskow; PDC; Royal Institutet of Technology; Stockholm).

I only get the error when I use the tvec argument of the Vector.record() method:
vdest.record(var_reference, tvec)
https://www.neuron.yale.edu/neuron/stat ... tor.record
And I do not get the error if I run the same simulation locally.

Error message:
special: ../../../../src/nrn-7.4/src/nrniv/../nrncvode/netcvode.cpp:5737: virtual void VecRecordDiscrete::deliver(double, NetCvode*): Assertion `osMath::equal(t_->elem(j), tt, 1e-8)' failed.
_pmiu_daemon(SIGCHLD): [NID 00110] [c0-0c1s11n2] [Mon Nov 12 16:25:05 2018] PE RANK 117 exit signal Aborted
Am I doing something wrong or is there a known error with this method? Do you have any ideas of what could be going on?
I'm using Neuron+Python v7.4.

The simulation runs if I do not use the tvec argument and instead pick certain time points after the simulation is finished. But it would be nice if I could get this to work since it would save some computing time and memory storage.



Example code

Code: Select all

tvec_local_vm   = [600,800] + range(1000, 1100, 10) + [1100, 1120, 1150, 1200, 1300]
tv_local       = h.Vector()
tv_local.from_python( tvec_local_vm )
local_vm        = {}
for section in stim:
    sec = spike_list['name_to_sec'][section]
    
    local_vm[section] = h.Vector()
    local_vm[section].record(sec(0.5)._ref_v, tv_local)
    
# finalize and run
h.finitialize(-70)
while h.t < tstop:
    h.fadvance() 

Thanks!
Robert

Re: segmentation fault when recording specific time points into h.Vector

Posted: Mon Nov 12, 2018 12:04 pm
by ted
Suggest you update to the latest version of NEURON and see if that makes the problem go away. There have been many bug fixes and performance enhancements since 7.4.