this seems like a strange bug of mutual initialization - the client waits
for the server and the server waits for the client.
try playing with the _lazy parameters. see:

https://github.com/tomerfiliba/rpyc/blob/master/rpyc/core/protocol.py#L123

-tomer

-----------------------------------------------------------------

*Tomer Filiba*
tomerfiliba.com     <http://www.facebook.com/tomerfiliba>
<http://il.linkedin.com/in/tomerfiliba>



On Mon, Nov 12, 2012 at 11:30 AM, Assaf <[email protected]> wrote:

> Hi Tomer,
>
> I'm running RPyC classic server 3.2.2 on Windows (2008 R2 , 2012 servers)
> .
>
> Runnnig nosetests on my local Linux, connecting to Windows servers.
>
> Sometimes the test makes it to the end, sometime it just hangs and I see
> the following errors:
> I have to restart the server in order to re-run tests.
>
> Can you please try and suggest a solution?
>
> Thanks
>
> Errors on screen:
> =============
> INFO:SLAVE/18812:welcome [9.151.163.179]:60055
> INFO:SLAVE/18812:goodbye [9.151.163.179]:60055
> ERROR:SLAVE/18812:client connection terminated abruptly
> Traceback (most recent call last):
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\utils\server.py
> ", line 168, in _authenticate_and_serve_client
>     self._serve_client(sock2, credentials)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\utils\server.py
> ", line 193, in _serve_client
>     conn._init_service()
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 150, in _init_service
>     self._local_root.on_connect()
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\service.py
> ", line 138, in on_connect
>     self._conn.modules = ModuleNamespace(self._conn.root.getmodule)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 464, in root
>     self._remote_root = self.sync_request(consts.HANDLE_GETROOT)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 435, in sync_request
>     self.serve(0.1)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 386, in serve
>     self._dispatch(data)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 356, in _dispatch
>     self._dispatch_reply(seq, args)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 316, in _dispatch_reply
>     obj = self._unbox(raw)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 276, in _unbox
>     proxy = self._netref_factory(oid, clsname, modname)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 288, in _netref_factory
>     info = self.sync_request(consts.HANDLE_INSPECT, oid)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 435, in sync_request
>     self.serve(0.1)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 383, in serve
>     data = self._recv(timeout, wait_for_lock = True)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 341, in _recv
>     data = self._channel.recv()
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\channel.py
> ", line 50, in recv
>     header = self.stream.read(self.FRAME_HEADER.size)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\stream.py"
> , line 174, in read
>     raise EOFError(ex)
> EOFError: [Errno 10054] An existing connection was forcibly closed by the
> remote
>  host
> Exception in thread Thread-26:
> Traceback (most recent call last):
>   File "C:\xavi-xpyv\lib\threading.py", line 551, in __bootstrap_inner
>     self.run()
>   File "C:\xavi-xpyv\lib\threading.py", line 504, in run
>     self.__target(*self.__args, **self.__kwargs)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\utils\server.py
> ", line 168, in _authenticate_and_serve_client
>     self._serve_client(sock2, credentials)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\utils\server.py
> ", line 193, in _serve_client
>     conn._init_service()
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 150, in _init_service
>     self._local_root.on_connect()
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\service.py
> ", line 138, in on_connect
>     self._conn.modules = ModuleNamespace(self._conn.root.getmodule)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 464, in root
>     self._remote_root = self.sync_request(consts.HANDLE_GETROOT)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 435, in sync_request
>     self.serve(0.1)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 386, in serve
>     self._dispatch(data)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 356, in _dispatch
>     self._dispatch_reply(seq, args)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 316, in _dispatch_reply
>     obj = self._unbox(raw)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 276, in _unbox
>     proxy = self._netref_factory(oid, clsname, modname)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 288, in _netref_factory
>     info = self.sync_request(consts.HANDLE_INSPECT, oid)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 435, in sync_request
>     self.serve(0.1)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 383, in serve
>     data = self._recv(timeout, wait_for_lock = True)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\protocol.py",
> line 341, in _recv
>     data = self._channel.recv()
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\channel.py
> ", line 50, in recv
>     header = self.stream.read(self.FRAME_HEADER.size)
>   File
> "C:\xavi-xpyv\lib\site-packages\rpyc-3.2.2-py2.7.egg\rpyc\core\stream.py"
> , line 174, in read
>     raise EOFError(ex)
>

Reply via email to