[IPython-user] [0:execute]: IOError: [Errno 4] Interrupted system call
mark starnes
m.starnes05@imperial.ac...
Tue Nov 25 03:51:12 CST 2008
Hi everyone,
I'm performing blocking file read commands on remote engines, one at a time, but regularly get the
error:
********************************************************************************************************
CompositeError Traceback (most recent call last)
<ipython console> in <module>()
/fe2.pyc in setup(self, append)
365 diskpush({'a':self}, picklemode = 0) # use mode 0 (others fail)
366 else:
--> 367 diskpush({'a':self})
368
369
/reference.pyc in diskpush(a, targets, block, isanobject, picklemode)
3359 time.sleep(5.0); mprint('Done. ')
3360 #mec.execute('tmpdata = dpfile.read()', targets = [i], block = True)
-> 3361 mec.execute('dpvar = cPickle.load(dpfile)', targets = [i], block = True)
3362 mec.execute('dpfile.close()', targets = [i], block = True)
3363 #mec.barrier(a)
/usr/local/lib64/python2.5/site-packages/IPython/kernel/multiengineclient.pyc in execute(self, lines, targets, block)
520 targets, block = self._findTargetsAndBlock(targets, block)
521 result = blockingCallFromThread(self.smultiengine.execute, lines,
--> 522 targets=targets, block=block)
523 if block:
524 result = ResultList(result)
/usr/local/lib64/python2.5/site-packages/IPython/kernel/twistedutil.pyc in blockingCallFromThread(f, *a, **kw)
67 @raise: any error raised during the callback chain.
68 """
---> 69 return twisted.internet.threads.blockingCallFromThread(reactor, f, *a, **kw)
70
71 else:
/usr/local/lib64/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/threads.pyc in blockingCallFromThread(reactor, f, *a, **kw)
81 result = queue.get()
82 if isinstance(result, failure.Failure):
---> 83 result.raiseException()
84 return result
85
/usr/local/lib64/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/python/failure.pyc in raiseException(self)
317 information if available.
318 """
--> 319 raise self.type, self.value, self.tb
320
321
CompositeError: one or more exceptions from call to method: execute
[0:execute]: IOError: [Errno 4] Interrupted system call
*******************************************************************************************************************
It doesn't always happen; sometimes it will occur after a few hours of execution (ruining overnight runs).
The active parts of the routine falling over are:
=============================================
for i in targets: # Sequential engine reads.
mec.execute('dpfile = bz2.BZ2File(tmpfn, "rb")', targets = [i], block = True)
mec.execute('dpvar = cPickle.load(dpfile)', targets = [i], block = True)
mec.execute('dpfile.close()', targets = [i], block = True)
=============================================
with targets = mec.get_ids()
Following the error, subsequent requests to the engines get results like:
/<ipython console> in <module>()
/fe2.pyc in setup(self, append)
365 diskpush({'a':self}, picklemode = 0) # use mode 0 (others fail)
366 else:
--> 367 diskpush({'a':self})
368
369
/reference.py in diskpush(a, targets, block, isanobject, picklemode)
3359 #time.sleep(5.0); mprint('Done. ')
3360 #mec.execute('tmpdata = dpfile.read()', targets = [i], block = True)
-> 3361 mec.execute('dpvar = cPickle.load(dpfile)', targets = [i], block = True)
3362 mec.execute('dpfile.close()', targets = [i], block = True)
3363 #mec.barrier(a)
/usr/local/lib64/python2.5/site-packages/IPython/kernel/multiengineclient.pyc in execute(self, lines, targets, block)
520 targets, block = self._findTargetsAndBlock(targets, block)
521 result = blockingCallFromThread(self.smultiengine.execute, lines,
--> 522 targets=targets, block=block)
523 if block:
524 result = ResultList(result)
/usr/local/lib64/python2.5/site-packages/IPython/kernel/twistedutil.pyc in blockingCallFromThread(f, *a, **kw)
67 @raise: any error raised during the callback chain.
68 """
---> 69 return twisted.internet.threads.blockingCallFromThread(reactor, f, *a, **kw)
70
71 else:
/usr/local/lib64/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/threads.pyc in blockingCallFromThread(reactor, f, *a, **kw)
81 result = queue.get()
82 if isinstance(result, failure.Failure):
---> 83 result.raiseException()
84 return result
85
/usr/local/lib64/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/python/failure.pyc in raiseException(self)
317 information if available.
318 """
--> 319 raise self.type, self.value, self.tb
320
321
CompositeError: one or more exceptions from call to method: execute
[0:execute]: AttributeError: 'module' object has no attribute 'cbook'
and then, when I quit IPython, I get,
Closing threads... Done.
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound method RemoteReferenceTracker._refLost of <RemoteReferenceTracker(clid=1,url=pbu://127.0.0.1:24879/uwtv36uev6e7emd45xfz77tt75krrduj)>> ignored
The engines need a restart after this error. Any ideas on how to fix this, would be appreciated. It's
hobbling my parallel processing attempts!
Thanks in advance,
Mark.
matplotlib version 0.98.3
verbose.level helpful
interactive is False
units is False
platform is linux2
Could not load matplotlib icon: 'module' object has no attribute 'window_set_default_icon_from_file'
backend QtAgg version 0.9.1
Activating auto-logging. Current session state plus future input saved.
Filename : ipython_log.py
Mode : rotate
Output logging : False
Raw input log : False
Timestamping : False
State : active
Python 2.5.1 (r251:54863, Jan 10 2008, 18:00:49)
Type "copyright", "credits" or "license" for more information.
IPython 0.9.rc1 -- An enhanced Interactive Python.
More information about the IPython-user
mailing list