On Thu, Mar 02, 2023 at 05:22:11PM +0000, Peter Maydell wrote: > migration-test has been flaky for a long time, both in CI and > otherwise: > > https://gitlab.com/qemu-project/qemu/-/jobs/3806090216 > (a FreeBSD job) > 32/648 > ERROR:../tests/qtest/migration-helpers.c:205:wait_for_migration_status: > assertion failed: (g_test_timer_elapsed() < MIGRATION_STATUS_WAIT_TIMEOUT) > ERROR > > on a local macos x86 box: > ▶ 34/621 > ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: > assertion failed: (!g_str_equal(status, "failed")) ERROR > 34/621 qemu:qtest+qtest-i386 / qtest-i386/migration-test > ERROR 168.12s killed by signal 6 SIGABRT > ――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――― > stderr: > qemu-system-i386: Failed to peek at channel > query-migrate shows failed migration: Unable to write to socket: Broken pipe > ** > ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: > assertion failed: (!g_str_equal(status, "failed")) > > (test program exited with status code -6) > ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― > > ▶ 37/621 > ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: > assertion failed: (!g_str_equal(status, "failed")) ERROR > 37/621 qemu:qtest+qtest-x86_64 / qtest-x86_64/migration-test > ERROR 174.37s killed by signal 6 SIGABRT > ――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――― > stderr: > query-migrate shows failed migration: Unable to write to socket: Broken pipe > ** > ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: > assertion failed: (!g_str_equal(status, "failed")) > > (test program exited with status code -6) > > In the cases where I've looked at the underlying log, this seems to > be in the migration/multifd/tcp/plain/cancel subtest. Disable that > specific subtest by default until somebody can track down the > underlying cause. Enthusiasts can opt back in by setting > QEMU_TEST_FLAKY_TESTS=1 in their environment.
No objection to disabling the test. Given the many multifd fixes we have seen, I fear that unlikely many of the flakey tests, this is not merely a test problem, but rather has a decent chance of being a real bug in migration code. > > We might need to disable more parts of this test if this isn't > sufficient to fix the flakiness. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > This is a slightly more targeted variation on my original > modest proposal. > --- > tests/qtest/migration-test.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c > index 109bc8e7b13..d4ab3934ed2 100644 > --- a/tests/qtest/migration-test.c > +++ b/tests/qtest/migration-test.c > @@ -2572,8 +2572,14 @@ int main(int argc, char **argv) > qtest_add_func("/migration/auto_converge", test_migrate_auto_converge); > qtest_add_func("/migration/multifd/tcp/plain/none", > test_multifd_tcp_none); > - qtest_add_func("/migration/multifd/tcp/plain/cancel", > - test_multifd_tcp_cancel); > + /* > + * This test is flaky and sometimes fails in CI and otherwise: > + * don't run unless user opts in via environment variable. > + */ > + if (getenv("QEMU_TEST_FLAKY_TESTS")) { > + qtest_add_func("/migration/multifd/tcp/plain/cancel", > + test_multifd_tcp_cancel); > + } > qtest_add_func("/migration/multifd/tcp/plain/zlib", > test_multifd_tcp_zlib); > #ifdef CONFIG_ZSTD > -- > 2.34.1 > > With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|