This bug was that there was no synchronization on the exit of inputs, so an input process could send to a socket, and then terminate before the ensemble could receive the input.
The fix was to add synchronization of inputs.
Testing done:
git checkout master
while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_radius.py /home/robert/spike/test/../src;
Started running at:
Sat Oct 5 10:53:27 EDT 2013
Last output came at:
Sat Oct 5 11:18:52 EDT 2013
killed at Sat Oct 5 11:33:23 EDT 2013 after 12 minutes of hanging.
Tested on input-exit-sync branch:
while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_radius.py /home/robert/spike/test/../src;
Test began at Sat Oct 5 03:29:16 EDT 2013 and ended at Sat Oct 5 10:43:34 EDT 2013. No deadlocks were observed.
This appears to fix bug https://github.com/Hudon/spike/issues/64
This bug was that there was no synchronization on the exit of inputs, so an input process could send to a socket, and then terminate before the ensemble could receive the input.
The fix was to add synchronization of inputs.
Testing done:
git checkout master while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_radius.py /home/robert/spike/test/../src;
Started running at:
Sat Oct 5 10:53:27 EDT 2013
Last output came at:
Sat Oct 5 11:18:52 EDT 2013
killed at Sat Oct 5 11:33:23 EDT 2013 after 12 minutes of hanging.
Tested on input-exit-sync branch:
while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_radius.py /home/robert/spike/test/../src;
Test began at Sat Oct 5 03:29:16 EDT 2013 and ended at Sat Oct 5 10:43:34 EDT 2013. No deadlocks were observed.