Hi Lucas,
  It's great that you found all these bugs. We will repair propcan and we'll 
send it back in new version.

regars,
  Jiří

----- Original Message -----
> The first bad commit is:
> 
> commit 9ab451edfb2ba860223364f01a8c408954b26e53
> Author: Jiří Župka <[email protected]>
> Date:   Thu Aug 29 10:11:05 2013 +0200
> 
>      virt: propcan change __slots__ listing to avoid waste a memory.
> 
>      class X:
>         __slots__ = ['a', 'b']
> 
>      class Y(X):
>         __slots__ = X.__slots__ + ['c']
> 
>      Double declaring of slots causes a waste of memory
>      and aims to bad manners to slots.
> 
>      Signed-off-by: Jiří Župka <[email protected]>
> 
> But this one makes all tests fail with:
> 
> 18:38:20 ERROR| AttributeError: 'QemuIface' object has no attribute
> '__all_slots'
> 18:38:20 ERROR|
> 18:38:20 ERROR| FAIL migrate.default.tcp -> AttributeError: 'QemuIface'
> object has no attribute '__all_slots'
> 
> So it's unclear whether it is the real culprit. The next one:
> 
> commit 1f4eb712ab5fee9f4889f0763513bfbcded9ee63
> Author: Chris Evich <[email protected]>
> Date:   Thu Sep 5 10:14:23 2013 +0200
> 
>      virt: Replace class method with class attribute
> 
>      There are very few places that need to re-calculate all ancestor
>      __slots__ values. It's more efficient to just store them as
>      an instance attribute, set from __new__().  I also updated
>      all users dependent on the old __slots__ behavior to use
>      the new __all_slots__ attribute instead.
> 
>      Signed-off-by: Chris Evich <[email protected]>
> 
> Is the first one that manifests the subtle problem: During migration,
> vms start to reboot in the middle of the migration process, even when
> they are not supposed to, leading to this, very well hidden error:
> 
> 2013-10-03 19:32:11: [    1.087980] EXT4-fs (vda1): INFO: recovery
> required on readonly filesystem
> 2013-10-03 19:32:11: [    1.091435] EXT4-fs (vda1): write access will be
> enabled during recovery
> 2013-10-03 19:32:11: [    1.115648] EXT4-fs (vda1): recovery complete
> 2013-10-03 19:32:11: [    1.118456] EXT4-fs (vda1): mounted filesystem
> with ordered data mode. Opts: (null)
> 2013-10-03 19:32:11: [    1.150995] dracut: Checking ext4:
> /dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2
> 2013-10-03 19:32:11: [    1.154789] dracut: issuing e2fsck -a
> /dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2
> 2013-10-03 19:32:11: [    1.164073] dracut:
> /dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2: clean,
> 19033/655360 files, 225107/2621184 blocks
> 2013-10-03 19:32:11: [    1.170866] dracut: Remounting
> /dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2 with -o ro
> 
> On our local testing, this often doesn't lead to corruption, but over
> the course of a ton of migrations it starts to introduce real qcow2
> image corruption, and that's the gist of all the problems I saw on
> regression testing (and maybe the responsible for the JeOS troubles I
> was seeing early on Monday/Tuesday).
> 
> So, I'm taking all the propcan related commits from next, and Jiri and
> Chris need to work on a new branch with all the changes, fix and send
> them as a coherent pull request later at their convenience. The list of
> commits pulled off are:
> 
> pick 1a9bf39 virt: propcan clean some old style construction.
> pick 9ab451e virt: propcan change __slots__ listing to avoid waste a memory.
> pick 1f4eb71 virt: Replace class method with class attribute
> pick fda1bd4 virt: Make special methods in propcan special
> pick 777d9b4 virt: Propcan additional fixes
> 
> Phew, that one was hard to find!
> 
> Cheers,
> 
> Lucas
> 

_______________________________________________
Virt-test-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virt-test-devel

Reply via email to