Page 1 of 1

Can't delete point process after accessing range variable

Posted: Mon Apr 20, 2015 3:02 pm
by lcampagn
Greetings,
I have a problem where point processes are not being removed from NEURON (7.3) even though all python references are apparently lost. Here is my simple point process:

Code: Select all

NEURON {
	POINT_PROCESS TestPointProc
	RANGE rangeval
}

ASSIGNED {
	rangeval (1) 
}
..and a script that demonstrates the problem:

Code: Select all

import neuron

s = neuron.h.Section()
m = neuron.h.TestPointProc(0.5, sec=s)
assert len(neuron.h.List('TestPointProc')) == 1

# test executes correctly if this line is removed:
m.rangeval

del m
assert len(neuron.h.List('TestPointProc')) == 0
Any hints for me?
Thanks!

Re: Can't delete point process after accessing range variabl

Posted: Mon Apr 20, 2015 8:47 pm
by lcampagn
I'm sorry, this is just a duplicate of my previous report: viewtopic.php?f=2&t=3221

Re: Can't delete point process after accessing range variabl

Posted: Mon May 04, 2015 7:05 pm
by hines
I don't have a good fix for this problem. maybe someday...
Until then, the only work around is to call a method on any hoc object. eg h.Vector().size() to tickle the system into freeing the previous "hoc_pop_defer" reference.