[Avocado-devel] remove pickle code for avocado-vt

Lukáš Doktor ldoktor at redhat.com
Wed Jun 8 11:27:14 UTC 2016


Dne 8.6.2016 v 12:28 Andrei Stepanov napsal(a):
> Hi.
>
> I would propose  to remove pickle code from avocado-vt. This code is
> running each time as a test is finished. The purpose of this code is to
> preserve running VM for next test.
>
> Or, at least to turn this code off by default and make it optional.
>
> In ordinary setup/testrun we do not need this feature. And it greatly
> complicates debug and increases requirements to tests.
>
> For example, today I got next error:
>
> Reproduced traceback from:
> /mnt/tests/spice/qe-tests/avocado-vt/avocado_vt/test.py:402
> Traceback (most recent call last):
>   File "/mnt/tests/spice/qe-tests/avocado-vt/avocado_vt/test.py", line
> 178, in runTest
>     self._runTest()
>   File "/mnt/tests/spice/qe-tests/avocado-vt/avocado_vt/test.py", line
> 338, in _runTest
>     env.save()
>   File "/mnt/tests/spice/qe-tests/avocado-vt/virttest/utils_env.py",
> line 188, in save
>     cPickle.dump(self.data, f)
>   File "/usr/lib64/python2.7/copy_reg.py", line 84, in _reduce_ex
>     dict = getstate()
>   File "/usr/lib64/python2.7/multiprocessing/queues.py", line 363, in
> __getstate__
>     assert_spawning(self)
>   File "/usr/lib64/python2.7/multiprocessing/forking.py", line 52, in
> assert_spawning
>     ' through inheritance' % type(self).__name__
> RuntimeError: SimpleQueue objects should only be shared between
> processes through inheri
> tance
>
>
> After this fail test is not finished it continues running.
>
>
> _______________________________________________
> Avocado-devel mailing list
> Avocado-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/avocado-devel
>

Well, this is easy to say, but harder to do. Originally we wanted to 
remove the pickle, but we had to revert those patches as the 
`keep_guest_running` feature requires it. We might, though, avoid the 
pickle in case `keep_guest_running` is off, let me add card for it:

 
https://trello.com/c/l0R4FqY1/721-avocado-vt-avoid-env-pickle-when-keep-guest-running-is-disabled

Regarding your failure, I'm wondering what test was running, because I'm 
not aware of any test using `SimpleQueue`. On the other hand avocado 
runner uses `SimpleQueue` to communicate with the test process, but this 
queue should not be registered in `env`.

Would you please provide the additional details?

Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:


And as before, 100% reproducers are welcomed ;-)

Kind regards,
Lukáš

PS: There is another card we need to work on which might help analysis: 
https://trello.com/c/uRQkvfX8/700-improve-the-queue-exception-messages 
it's related to avocado, but we could re-use the function in avocado-vt 
too. I think we should increase the priority of those cards.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20160608/a54ad1b8/attachment.sig>


More information about the Avocado-devel mailing list