[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen-4.16-testing test] 176755: regressions - trouble: fail/pass/starved
flight 176755 xen-4.16-testing real [real] flight 176830 xen-4.16-testing real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/176755/ http://logs.test-lab.xenproject.org/osstest/logs/176830/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-i386-libvirt-pair 10 xen-install/src_host fail REGR. vs. 176458 Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop fail like 176458 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop fail like 176458 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop fail like 176458 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 176458 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 176458 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop fail like 176458 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop fail like 176458 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop fail like 176458 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop fail like 176458 test-arm64-arm64-xl 15 migrate-support-check fail never pass test-arm64-arm64-xl 16 saverestore-support-check fail never pass test-amd64-i386-libvirt-xsm 15 migrate-support-check fail never pass test-amd64-amd64-libvirt-xsm 15 migrate-support-check fail never pass test-amd64-amd64-libvirt 15 migrate-support-check fail never pass test-amd64-i386-xl-pvshim 14 guest-start fail never pass test-amd64-i386-libvirt 15 migrate-support-check fail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-amd64-i386-libvirt-raw 14 migrate-support-check fail never pass test-arm64-arm64-xl-xsm 15 migrate-support-check fail never pass test-arm64-arm64-xl-xsm 16 saverestore-support-check fail never pass test-arm64-arm64-xl-credit1 15 migrate-support-check fail never pass test-arm64-arm64-xl-credit2 15 migrate-support-check fail never pass test-arm64-arm64-xl-credit1 16 saverestore-support-check fail never pass test-arm64-arm64-xl-credit2 16 saverestore-support-check fail never pass test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail never pass test-arm64-arm64-xl-thunderx 15 migrate-support-check fail never pass test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail never pass test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail never pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-amd64-amd64-libvirt-vhd 14 migrate-support-check fail never pass test-arm64-arm64-libvirt-raw 14 migrate-support-check fail never pass test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail never pass test-arm64-arm64-xl-vhd 14 migrate-support-check fail never pass test-arm64-arm64-xl-vhd 15 saverestore-support-check fail never pass build-armhf-libvirt 1 build-check(1) starved n/a test-armhf-armhf-libvirt 1 build-check(1) starved n/a test-armhf-armhf-libvirt-qcow2 1 build-check(1) starved n/a test-armhf-armhf-libvirt-raw 1 build-check(1) starved n/a test-armhf-armhf-xl 1 build-check(1) starved n/a test-armhf-armhf-xl-credit1 1 build-check(1) starved n/a test-armhf-armhf-xl-credit2 1 build-check(1) starved n/a test-armhf-armhf-xl-cubietruck 1 build-check(1) starved n/a test-armhf-armhf-xl-multivcpu 1 build-check(1) starved n/a test-armhf-armhf-xl-rtds 1 build-check(1) starved n/a test-armhf-armhf-xl-vhd 1 build-check(1) starved n/a build-armhf 2 hosts-allocate starved n/a version targeted for testing: xen 1b6acdeeb2323c53d841356da50440e274e7bf9a baseline version: xen 6e081438bf8ef616d0123aab7a743476d8114ef6 Last test of basis 176458 2023-02-07 16:39:55 Z 2 days Testing same since 176755 2023-02-09 16:07:08 Z 0 days 1 attempts ------------------------------------------------------------ People who touched revisions under test: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Christian Lindig <christian.lindig@xxxxxxxxxx> Edwin Török <edvin.torok@xxxxxxxxxx> Edwin Török <edwin.torok@xxxxxxxxx> Pau Ruiz Safont <pau.safont@xxxxxxxxxx> jobs: build-amd64-xsm pass build-arm64-xsm pass build-i386-xsm pass build-amd64-xtf pass build-amd64 pass build-arm64 pass build-armhf starved build-i386 pass build-amd64-libvirt pass build-arm64-libvirt pass build-armhf-libvirt starved build-i386-libvirt pass build-amd64-prev pass build-i386-prev pass build-amd64-pvops pass build-arm64-pvops pass build-armhf-pvops pass build-i386-pvops pass test-xtf-amd64-amd64-1 pass test-xtf-amd64-amd64-2 pass test-xtf-amd64-amd64-3 pass test-xtf-amd64-amd64-4 pass test-xtf-amd64-amd64-5 pass test-amd64-amd64-xl pass test-amd64-coresched-amd64-xl pass test-arm64-arm64-xl pass test-armhf-armhf-xl starved test-amd64-i386-xl pass test-amd64-coresched-i386-xl pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm pass test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm pass test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm pass test-amd64-amd64-xl-qemut-debianhvm-i386-xsm pass test-amd64-i386-xl-qemut-debianhvm-i386-xsm pass test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm pass test-amd64-i386-xl-qemuu-debianhvm-i386-xsm pass test-amd64-amd64-libvirt-xsm pass test-arm64-arm64-libvirt-xsm pass test-amd64-i386-libvirt-xsm pass test-amd64-amd64-xl-xsm pass test-arm64-arm64-xl-xsm pass test-amd64-i386-xl-xsm pass test-amd64-amd64-qemuu-nested-amd fail test-amd64-amd64-xl-pvhv2-amd pass test-amd64-i386-qemut-rhel6hvm-amd pass test-amd64-i386-qemuu-rhel6hvm-amd pass test-amd64-amd64-dom0pvh-xl-amd pass test-amd64-amd64-xl-qemut-debianhvm-amd64 pass test-amd64-i386-xl-qemut-debianhvm-amd64 pass test-amd64-amd64-xl-qemuu-debianhvm-amd64 pass test-amd64-i386-xl-qemuu-debianhvm-amd64 pass test-amd64-i386-freebsd10-amd64 pass test-amd64-amd64-qemuu-freebsd11-amd64 pass test-amd64-amd64-qemuu-freebsd12-amd64 pass test-amd64-amd64-xl-qemuu-ovmf-amd64 pass test-amd64-i386-xl-qemuu-ovmf-amd64 pass test-amd64-amd64-xl-qemut-win7-amd64 fail test-amd64-i386-xl-qemut-win7-amd64 fail test-amd64-amd64-xl-qemuu-win7-amd64 fail test-amd64-i386-xl-qemuu-win7-amd64 fail test-amd64-amd64-xl-qemut-ws16-amd64 fail test-amd64-i386-xl-qemut-ws16-amd64 fail test-amd64-amd64-xl-qemuu-ws16-amd64 fail test-amd64-i386-xl-qemuu-ws16-amd64 fail test-amd64-amd64-xl-credit1 pass test-arm64-arm64-xl-credit1 pass test-armhf-armhf-xl-credit1 starved test-amd64-amd64-xl-credit2 pass test-arm64-arm64-xl-credit2 pass test-armhf-armhf-xl-credit2 starved test-armhf-armhf-xl-cubietruck starved test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict pass test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict pass test-amd64-i386-freebsd10-i386 pass test-amd64-amd64-qemuu-nested-intel pass test-amd64-amd64-xl-pvhv2-intel pass test-amd64-i386-qemut-rhel6hvm-intel pass test-amd64-i386-qemuu-rhel6hvm-intel pass test-amd64-amd64-dom0pvh-xl-intel pass test-amd64-amd64-libvirt pass test-armhf-armhf-libvirt starved test-amd64-i386-libvirt pass test-amd64-amd64-livepatch pass test-amd64-i386-livepatch pass test-amd64-amd64-migrupgrade pass test-amd64-i386-migrupgrade pass test-amd64-amd64-xl-multivcpu pass test-armhf-armhf-xl-multivcpu starved test-amd64-amd64-pair pass test-amd64-i386-pair pass test-amd64-amd64-libvirt-pair pass test-amd64-i386-libvirt-pair fail test-amd64-amd64-xl-pvshim pass test-amd64-i386-xl-pvshim fail test-amd64-amd64-pygrub pass test-armhf-armhf-libvirt-qcow2 starved test-amd64-amd64-xl-qcow2 pass test-arm64-arm64-libvirt-raw pass test-armhf-armhf-libvirt-raw starved test-amd64-i386-libvirt-raw pass test-amd64-amd64-xl-rtds pass test-armhf-armhf-xl-rtds starved test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow pass test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow pass test-amd64-amd64-xl-shadow pass test-amd64-i386-xl-shadow pass test-arm64-arm64-xl-thunderx pass test-amd64-amd64-libvirt-vhd pass test-arm64-arm64-xl-vhd pass test-armhf-armhf-xl-vhd starved test-amd64-i386-xl-vhd pass ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary Not pushing. ------------------------------------------------------------ commit 1b6acdeeb2323c53d841356da50440e274e7bf9a Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Date: Wed Feb 1 11:27:42 2023 +0000 tools/ocaml/libs: Fix memory/resource leaks with caml_alloc_custom() All caml_alloc_*() functions can throw exceptions, and longjump out of context. If this happens, we leak the xch/xce handle. Reorder the logic to allocate the the Ocaml object first. Fixes: 8b3c06a3e545 ("tools/ocaml/xenctrl: OCaml 5 support, fix use-after-free") Fixes: 22d5affdf0ce ("tools/ocaml/evtchn: OCaml 5 support, fix potential resource leak") Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit d69ccf52ad467ccc22029172a8e61dc621187889) commit 1fdff77e26290ae1ed40e8253959d12a0c4b3d3f Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Date: Tue Jan 31 17:19:30 2023 +0000 tools/ocaml/xc: Don't reference Abstract_Tag objects with the GC lock released The intf->{addr,len} references in the xc_map_foreign_range() call are unsafe. From the manual: https://ocaml.org/manual/intfc.html#ss:parallel-execution-long-running-c-code "After caml_release_runtime_system() was called and until caml_acquire_runtime_system() is called, the C code must not access any OCaml data, nor call any function of the run-time system, nor call back into OCaml code." More than what the manual says, the intf pointer is (potentially) invalidated by caml_enter_blocking_section() if another thread happens to perform garbage collection at just the right (wrong) moment. Rewrite the logic. There's no need to stash data in the Ocaml object until the success path at the very end. Fixes: 8b7ce06a2d34 ("ocaml: Add XC bindings.") Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit 9e7c74e6f9fd2e44df1212643b80af9032b45b07) commit 854013084e2c6267af7787df8b35d85646f79a54 Author: Edwin Török <edwin.torok@xxxxxxxxx> Date: Thu Jan 12 11:38:38 2023 +0000 tools/ocaml/xc: Fix binding for xc_domain_assign_device() The patch adding this binding was plain broken, and unreviewed. It modified the C stub to add a 4th parameter without an equivalent adjustment in the Ocaml side of the bindings. In 64bit builds, this causes us to dereference whatever dead value is in %rcx when trying to interpret the rflags parameter. This has gone unnoticed because Xapi doesn't use this binding (it has its own), but unbreak the binding by passing RDM_RELAXED unconditionally for now (matching the libxl default behaviour). Fixes: 9b34056cb4 ("tools: extend xc_assign_device() to support rdm reservation policy") Signed-off-by: Edwin Török <edwin.torok@xxxxxxxxx> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit 4250683842104f02996428f93927a035c8e19266) commit e18faeb91e620624106b94c8821f8c9574eddb17 Author: Edwin Török <edwin.torok@xxxxxxxxx> Date: Thu Jan 12 17:48:29 2023 +0000 tools/ocaml/evtchn: Don't reference Custom objects with the GC lock released The modification to the _H() macro for Ocaml 5 support introduced a subtle bug. From the manual: https://ocaml.org/manual/intfc.html#ss:parallel-execution-long-running-c-code "After caml_release_runtime_system() was called and until caml_acquire_runtime_system() is called, the C code must not access any OCaml data, nor call any function of the run-time system, nor call back into OCaml code." Previously, the value was a naked C pointer, so dereferencing it wasn't "accessing any Ocaml data", but the fix to avoid naked C pointers added a layer of indirection through an Ocaml Custom object, meaning that the common pattern of using _H() in a blocking section is unsafe. In order to fix: * Drop the _H() macro and replace it with a static inline xce_of_val(). * Opencode the assignment into Data_custom_val() in the two constructors. * Rename "value xce" parameters to "value xce_val" so we can consistently have "xenevtchn_handle *xce" on the stack, and obtain the pointer with the GC lock still held. Fixes: 22d5affdf0ce ("tools/ocaml/evtchn: OCaml 5 support, fix potential resource leak") Signed-off-by: Edwin Török <edwin.torok@xxxxxxxxx> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit 2636d8ff7a670c4d2485757dbe966e36c259a960) commit 6d66fb984cc768406158353cabf9a55652b0dea7 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Date: Tue Jan 31 10:59:42 2023 +0000 tools/ocaml/libs: Allocate the correct amount of memory for Abstract_tag caml_alloc() takes units of Wsize (word size), not bytes. As a consequence, we're allocating 4 or 8 times too much memory. Ocaml has a helper, Wsize_bsize(), but it truncates cases which aren't an exact multiple. Use a BUILD_BUG_ON() to cover the potential for truncation, as there's no rounding-up form of the helper. Fixes: 8b7ce06a2d34 ("ocaml: Add XC bindings.") Fixes: d3e649277a13 ("ocaml: add mmap bindings implementation.") Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit 36eb2de31b6ecb8787698fb1a701bd708c8971b2) commit 552e5f28d411c1a1a92f2fd3592a76e74f47610b Author: Edwin Török <edwin.torok@xxxxxxxxx> Date: Thu Jan 12 11:28:29 2023 +0000 tools/ocaml/libs: Don't declare stubs as taking void There is no such thing as an Ocaml function (C stub or otherwise) taking no parameters. In the absence of any other parameters, unit is still passed. This doesn't explode with any ABI we care about, but would malfunction for an ABI environment such as stdcall. Fixes: c3afd398ba7f ("ocaml: Add XS bindings.") Fixes: 8b7ce06a2d34 ("ocaml: Add XC bindings.") Signed-off-by: Edwin Török <edwin.torok@xxxxxxxxx> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit ff8b560be80b9211c303d74df7e4b3921d2bb8ca) commit fd1c70442d3aa962be4d041d5f8fce9d2fa72ce1 Author: Edwin Török <edvin.torok@xxxxxxxxxx> Date: Tue May 11 15:56:50 2021 +0000 tools/oxenstored: validate config file before live update The configuration file can contain typos or various errors that could prevent live update from succeeding (e.g. a flag only valid on a different version). Unknown entries in the config file would be ignored on startup normally, add a strict --config-test that live-update can use to check that the config file is valid *for the new binary*. For compatibility with running old code during live update recognize --live --help as an equivalent to --config-test. Signed-off-by: Edwin Török <edvin.torok@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit e6f07052ce4a0f0b7d4dc522d87465efb2d9ee86) commit f7c4fab9b50af74d0e1170fbf35367ced48d8209 Author: Edwin Török <edvin.torok@xxxxxxxxxx> Date: Fri Dec 16 18:25:20 2022 +0000 tools/ocaml/xb: Drop Xs_ring.write This function is unusued (only Xs_ring.write_substring is used), and the bytes/string conversion here is backwards: the C stub implements the bytes version and then we use a Bytes.unsafe_of_string to convert a string into bytes. However the operation here really is read-only: we read from the string and write it to the ring, so the C stub should implement the read-only string version, and if needed we could use Bytes.unsafe_to_string to be able to send 'bytes'. However that is not necessary as the 'bytes' version is dropped above. Signed-off-by: Edwin Török <edvin.torok@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit 01f139215e678c2dc7d4bb3f9f2777069bb1b091) commit 049d16c8ce900dfc8f4b657849aeb82b95ed857c Author: Edwin Török <edvin.torok@xxxxxxxxxx> Date: Fri Dec 16 18:25:10 2022 +0000 tools/ocaml/xb,mmap: Use Data_abstract_val wrapper This is not strictly necessary since it is essentially a no-op currently: a cast to void * and value *, even in OCaml 5.0. However it does make it clearer that what we have here is not a regular OCaml value, but one allocated with Abstract_tag or Custom_tag, and follows the example from the manual more closely: https://v2.ocaml.org/manual/intfc.html#ss:c-outside-head It also makes it clearer that these modules have been reviewed for compat with OCaml 5.0. We cannot use OCaml finalizers here, because we want exact control over when to unmap these pages from remote domains. No functional change. Signed-off-by: Edwin Török <edvin.torok@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit d2ccc637111d6dbcf808aaffeec7a46f0b1e1c81) commit 8c66a2d88a9f17e5b5099fcb83231b7a1169ca25 Author: Edwin Török <edvin.torok@xxxxxxxxxx> Date: Tue Nov 1 17:59:17 2022 +0000 tools/ocaml/xenctrl: Use larger chunksize in domain_getinfolist domain_getinfolist() is quadratic with the number of domains, because of the behaviour of the underlying hypercall. Nevertheless, getting domain info in blocks of 1024 is far more efficient than blocks of 2. In a scalability testing scenario with ~1000 VMs, a combination of this and the previous change takes xenopsd's wallclock time in domain_getinfolist() down from 88% to 0.02% Signed-off-by: Edwin Török <edvin.torok@xxxxxxxxxx> Tested-by: Pau Ruiz Safont <pau.safont@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit 95db09b1b154fb72fad861815ceae1f3fa49fc4e) commit c6a3d14df051bae0323af539e34cf5a65fba1112 Author: Edwin Török <edvin.torok@xxxxxxxxxx> Date: Tue Nov 1 17:59:16 2022 +0000 tools/ocaml/xenctrl: Make domain_getinfolist tail recursive domain_getinfolist() is quadratic with the number of domains, because of the behaviour of the underlying hypercall. xenopsd was further observed to be wasting excessive quantites of time manipulating the list of already-obtained domains. Implement a tail recursive `rev_concat` equivalent to `concat |> rev`, and use it instead of calling `@` multiple times. An incidental benefit is that the list of domains will now be in domid order, instead of having pairs of 2 domains changing direction every time. In a scalability testing scenario with ~1000 VMs, a combination of this and the subsequent change takes xenopsd's wallclock time in domain_getinfolist() down from 88% to 0.02% Signed-off-by: Edwin Török <edvin.torok@xxxxxxxxxx> Tested-by: Pau Ruiz Safont <pau.safont@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> (cherry picked from commit c3b6be714c64aa62b56d0bce96f4b6a10b5c2078) (qemu changes not included)
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |