[IPython-user] ipython 0.9 ipengine launch question

Brant Peterson brantp@gmail....
Wed Aug 27 17:17:53 CDT 2008


I'm using ipython 0.9 to run fairly standard commands (.push, .pull,
.execute, etc) on ipengine/ipcontroller clusters, and I've been trying
to get the -f flag working properly.  My clusterfile.py script looks

controller = {'host':'kakahiaka',

engines = {'kakahiaka':4,


sshx = '/mnt/py_util/sshx'

and sshx reads:
NUMPROCS=$(cat /proc/cpuinfo | grep -e "processor[[:space:]]:" | wc -l)
export PATH=$PATH:$HOME/bin:$HOME/multiz:.
export PYTHONPATH=/mnt/py_util

In addition, I had to change line 306 of ipcluster.py from
cmd = "ssh %s '%s' 'ipengine --controller-ip %s --logfile %s' &" % \
cmd = "ssh %s '%s' 'ipengine --logfile %s' &" % (engineHost,sshx,engLog)
since the new version of ipengine uses foolscap urls instead of
straight hostnames.

I'm just launching 4 engines on my local machine, which should be
morally equivalent to ipcluster -n 4, with which I have no problems in

Everything seems to come up fine for the -f run mode, and I can run
for about 5-10min, before something hiccups, and I get the following
in the logfile:
2008/08/27 14:33 -0700 [-] unregistered engine with id: 0

in my stderr buffer:
[Engine Exception]ConnectionLost: Connection to the other side was
lost in a non-clean fashion.

and thrown on the local console:
Fatal Python error: PyEval_RestoreThread: NULL tstate

The sum of my experience with python threads has been googling for
error messages, so my hope is that this is something fairly obvious
that I'm just not doing.

Any help, or suggestions about what to try would be greatly appreciated!

More information about the IPython-user mailing list