checkbox-remote crash after resume from remote master
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Next Generation Checkbox (CLI) |
Fix Released
|
Undecided
|
Maciej Kisielewski |
Bug Description
Steps to reproduced
1. Run checkbox-cli slave and checkbox-cli remote localhost on DUT (18.04)
2. After few tests, Hit Ctrl-C twice to disconnect form slave
3. Resume checkbox-cli master DUT_IP on another machine (16.04)
got below traceback
u@Ray-ConsoleWa
Connecting to 10.101.
rejoined session. Running job (50/434): com.canonical.
Enter sudo password:
-------
ID: com.canonical.
Category: Audio tests
Traceback (most recent call last):
File "/usr/lib/
return self._dispatch()
File "/usr/lib/
result = ingredient.
File "/usr/lib/
return self._dispatch(
File "/usr/lib/
return self._dispatch_
File "/usr/lib/
return self._dispatch(
File "/usr/lib/
retval = command.
File "/usr/lib/
self.
File "/usr/lib/
}[state]()
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
for interaction in self.sa.
File "/usr/lib/
return syncreq(_self, consts.HANDLE_CALL, args, kwargs)
File "/usr/lib/
return conn.sync_
File "/usr/lib/
raise obj
_get_exception_
========= Remote Traceback (1) =========
Traceback (most recent call last):
File "/usr/lib/
res = self._HANDLERS[
File "/usr/lib/
return self._local_
File "/usr/lib/
"expected %s, is %s" % (states, self._state))
AssertionError: expected ('testsselected',), is running
Please report a bug including the information from the paragraph above. To
report the bug visit https:/
We are sorry for the inconvenience!
=======
The DUT are 18.04 and remote master are 16.04
description: | updated |
description: | updated |
tags: | added: ce-qa-concern |
Trace from Slave (18.04)
u@u-Precision- 5530:~$ checkbox-cli slave certification: :module returned invalid RFC822 data: Unexpected non-empty line: 'depend\n' (line 264) python3. 6/threading. py", line 916, in _bootstrap_inner python3/ dist-packages/ plainbox/ impl/session/ remote_ assistant. py", line 116, in run buffered_ ui, False) python3/ dist-packages/ plainbox/ impl/decorators .py", line 142, in wrapper python3/ dist-packages/ plainbox/ impl/decorators .py", line 136, in wrapper python3/ dist-packages/ plainbox/ impl/session/ assistant. py", line 1296, in run_job ation.of( self).enforce( ) python3/ dist-packages/ plainbox/ impl/developer. py", line 222, in enforce dCall(self. cls, fn_name, allowed_pairs) impl.developer. UnexpectedMetho dCall:
local script com.canonical.
Exception in thread Thread-71:
Traceback (most recent call last):
File "/usr/lib/
self.run()
File "/usr/lib/
self._job_id, self._sa.
File "/usr/lib/
raise exc
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
UsageExpect
File "/usr/lib/
raise UnexpectedMetho
plainbox.
Uh, oh...
You are not expected to call SessionAssistan t.run_job( ) at this time.
If you see this message then there is a bug somewhere in your code. We are
sorry for this. Perhaps the documentation is flawed, incomplete or confusing.
Please reach out to us if this happens more often than you'd like.
The set of allowed calls, at this time, is:
- call SessionAssistan t.export_ to_file( ) to to export the results to a file. t.export_ to_stream( ) to to export the results to a stream. t.export_ to_transport( ) to to export the results and send them. t.filter_ jobs_by_ categories( ) to to select the jobs that match particular category. t.finalize_ session( ) to to mark the session as complete. t.finish_ bootstrap( ) to to finish bootstrapping. t.get_category( ) to to access the definition of ant category. t.get_dynamic_ todo_list( ) to to see what is yet to be executed. t.get_job( ) to to access the definition of any job. t.get_job_ state() to to access the state of any job. t.get_mandatory _jobs() to to get all mandatory job ids. t.get_participa ting_categories () to to access participating categories. t.get_session_ dir() to to get the path where current session isstored. t.get_session_ id() to to get the id of currently running session. t.get_static_ todo_list( ) to to see what is meant to be executed. t.get_test_ plan() to to access the definition of any test plan. t.hand_ pick_jobs( ) to to generate new selection and use it. t.remove_ all_filters( ) to to remove all filters. t.use_alternate _selection( ) to to change the selection. t.use_job_ result( ) to remember the result of this job.
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
- call SessionAssistan
Refer to the documentation of SessionAssistant for details. impl.session. assistan. ..
TIP: python -m pydoc plainbox.