Hi
I am using pexpect module and i tried to run it under the new feature
of splitbrain (http://tomerfiliba.com/blog/Splitbrain/) without
succeed.
here is the code that show the problem :
NOTE : It failed even when I added to the PATCHED_MODULES the pexpect
internal OS specific modules ("resource", "struct", "pty", "tty",
"termios", "fcntl").
>>> from rpyc.utils.splitbrain import Splitbrain, patch
>>> import rpyc
>>> import pexpect
>>> patch()
>>> conn=rpyc.classic.connect('hostname')
>>> sb = Splitbrain(conn)
>>> with sb:
... p=pexpect.spawn('bash /tmp/a.sh')
... p.expect('hello')
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/utils/splitbrain.py", line 184, in __enter__
self.activate()
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/utils/splitbrain.py", line 162, in activate
self.conn.modules.sys.stdin, self.conn.modules.sys.stdout,
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/netref.py", line 148, in __getattribute__
return syncreq(self, consts.HANDLE_GETATTR, name)
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/netref.py", line 71, in syncreq
return conn.sync_request(handler, oid, *args)
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/protocol.py", line 435, in sync_request
self.serve(0.1)
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/protocol.py", line 386, in serve
self._dispatch(data)
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/protocol.py", line 356, in _dispatch
self._dispatch_reply(seq, args)
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/protocol.py", line 316, in _dispatch_reply
obj = self._unbox(raw)
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/core/protocol.py", line 271, in _unbox
return self._local_objects[value]
File "/var/tmp/xavi-xpyv/lib/python2.7/site-packages/rpyc-3.2.2-
py2.7.egg/rpyc/lib/colls.py", line 95, in __getitem__
return self._dict[key][0]
KeyError: 3070955552L