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) >
