
On 8/1/19 8:43 AM, Eric Blake wrote:
On 8/1/19 6:30 AM, Eric Blake wrote:
On 7/31/19 4:58 PM, Daniel Henrique Barboza wrote:
There is a chance that the current sed filtering used in these new tests might fail in some machines due to the repetition of the 'virsh #' prompt at the same line, together with valid output that shouldn't be filtered. Ah, so it is a data race where the prompts produced by virsh don't always flush in relation to other data being output.
Yes, eating all blank lines and just the prompt sub-string rather than the entire line with a prompt is a nice fix, and safe for freeze. Actually, when I apply your patch, I run into failures on my end:
--- exp 2019-08-01 06:37:33.108617030 -0500 +++ out.cooked 2019-08-01 06:37:33.110617032 -0500 @@ -1,5 +1,11 @@ + snapshot-create test --redefine s2.xml --validate + echo --err marker + # This is the right order + snapshot-create test --redefine s3.xml --validate Domain snapshot s3 created from 's3.xml' + snapshot-create test --redefine s2.xml --current --validate Domain snapshot s2 created from 's2.xml' + snapshot-info test --current Name: s2 Domain: test Current: yes FAIL virsh-snapshot (exit status: 1)
So I think the difference is that your dev box is not echoing the commands, and the real problem is that the test is dependent on the current environment (is there some configuration file that determines whether virsh in batch mode will echo what is typed?)
It would be possible to change the tests to use virsh ... 'sequence of commands' instead of virsh ... <<EOF sequence of commands EOF
(in fact, that's what we do in the first half of the script); when you do that, you no longer get the 'virsh #' prompts, nor any problem with command echo. But before doing that, I'd still like to understand what is different about your environment that suppresses the echo in the first place, to encounter the output data race.
Sure. This is how I build Libvirt and run the tests: ./autogen.sh --prefix=$PWD/usr make -j && make syntax-check && make check General machine info follows: [danielhb@rekt libvirt]$ uname -a Linux rekt 5.1.15-300.fc30.x86_64 #1 SMP Tue Jun 25 14:07:22 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux [danielhb@rekt libvirt]$ [danielhb@rekt libvirt]$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 39 bits physical, 48 bits virtual CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 142 Model name: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz Stepping: 10 CPU MHz: 3200.113 CPU max MHz: 4200.0000 CPU min MHz: 400.0000 BogoMIPS: 4224.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 8192K NUMA node0 CPU(s): 0-7 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d [danielhb@rekt libvirt]$ [danielhb@rekt libvirt]$ lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch Distributor ID: Fedora Description: Fedora release 30 (Thirty) Release: 30 Codename: Thirty [danielhb@rekt libvirt]$ [danielhb@rekt libvirt]$ cat /proc/meminfo MemTotal: 32682444 kB MemFree: 2585380 kB MemAvailable: 22865820 kB Buffers: 1780684 kB Cached: 19278004 kB SwapCached: 768 kB Active: 18504408 kB Inactive: 9039088 kB Active(anon): 6574348 kB Inactive(anon): 1445640 kB Active(file): 11930060 kB Inactive(file): 7593448 kB Unevictable: 656044 kB Mlocked: 64 kB SwapTotal: 16408572 kB SwapFree: 16400452 kB Dirty: 2220 kB Writeback: 0 kB AnonPages: 7140812 kB Mapped: 1772148 kB Shmem: 1535216 kB KReclaimable: 1232012 kB Slab: 1529188 kB SReclaimable: 1232012 kB SUnreclaim: 297176 kB KernelStack: 29600 kB PageTables: 102972 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 32749792 kB Committed_AS: 27285012 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB Percpu: 12608 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 976512 kB DirectMap2M: 29175808 kB DirectMap1G: 4194304 kB I'll see if I can get different results running the tests in a Power 8/9 server. I'll also do a clean 'git clone' run to see if the results differ.