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
