remote slave crashes when starting a second session

Bug #1874105 reported by Sylvain Pineau
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Next Generation Checkbox (CLI)
Fix Released
Critical
Maciej Kisielewski

Bug Description

The fix for https://bugs.launchpad.net/checkbox-ng/+bug/1843326 seems to create a new issue.
Once a first session is over or cancelled, starting afresh using the same master and slave results in the following traceback on slave side:

client connection terminated abruptly
Traceback (most recent call last):
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/utils/server.py", line 180, in _authenticate_and_serve_client
    self._serve_client(sock2, credentials)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/utils/server.py", line 201, in _serve_client
    conn = self.service._connect(Channel(SocketStream(sock)), config)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/service.py", line 105, in _connect
    self.on_connect(conn)
  File "/home/sylvain/lp/checkbox-ng/checkbox_ng/launcher/slave.py", line 60, in on_connect
    if SessionAssistantSlave.master_blaster:
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/netref.py", line 274, in method
    return syncreq(_self, consts.HANDLE_CALLATTR, name, args, kwargs)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/netref.py", line 76, in syncreq
    return conn.sync_request(handler, proxy, *args)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/protocol.py", line 469, in sync_request
    return self.async_request(handler, *args, timeout=timeout).value
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/protocol.py", line 493, in async_request
    self._async_request(handler, args, res)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/protocol.py", line 475, in _async_request
    self._send(consts.MSG_REQUEST, seq, (handler, self._box(args)))
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/protocol.py", line 259, in _send
    self._channel.send(data)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/channel.py", line 78, in send
    self.stream.write(header + data + self.FLUSHER)
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/stream.py", line 268, in write
    count = self.sock.send(data[:self.MAX_IO_CHUNK])
  File "/home/sylvain/lp/checkbox-ng/plainbox/vendor/rpyc/core/stream.py", line 94, in __getattr__
    raise EOFError("stream has been closed")
EOFError: stream has been closed

Master just loops with:

$ checkbox-cli master 127.0.0.1 ./mylauncher
Connection lost!
connection closed by peer
Connection lost!
connection closed by peer
Connection lost!
connection closed by peer
Connection lost!
connection closed by peer

Related branches

Changed in checkbox-ng:
importance: Undecided → Critical
milestone: none → 1.9.0
Changed in checkbox-ng:
assignee: nobody → Maciej Kisielewski (kissiel)
status: New → In Progress
Revision history for this message
Maciej Kisielewski (kissiel) wrote :
Changed in checkbox-ng:
status: In Progress → Fix Committed
Changed in checkbox-ng:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.