Page 2 of 2

Re: Segmentation violation NEURON 7.3 with mpi

Posted: Mon Jul 29, 2013 5:02 pm
by hines
Ted sent me the zip file and I reproduced the segmentation violation on my mac air. But not the 'template cannot be redefined' error.
Anyway the symptom is that the destruction of veclist on return from is_spike is correctly notifying each vector that it is supposed to remove
itself from the internal record list. However in doing this, it is calling a method on itself after itself has been destroyed. I will look into this further.
Anyway, a work around is to remove all the vectors from the record list before exit from is_spike by modifying the function according to:

Code: Select all

func is_spike() { local i  localobj ...
  ...
  for i=0, veclist.count-1 {
    veclist.o(i).play_remove()
  }
  return spike
}

Re: Segmentation violation NEURON 7.3 with mpi

Posted: Wed Jul 31, 2013 2:18 pm
by hines
The accidental order of deletion of tvec first and then veclist revealed a bug in InterViews. I have committed a fix that avoids the problem
http://www.neuron.yale.edu/hg/neuron/iv ... d6ec5724f4
and that will be part of program the next time I create a set of installers.

I would not be surprised if a work around in your case would merely consist of putting veclist before tvec in the localobj list of object references.