Earlier, without args->connect_channels, multifd_tcp_channels_none would call uri internally even though connect_channels was introduced in function definition. To actually call 'migrate' QAPI with modified syntax, args->connect_channels need to be passed. Double free happens while setting correct migration ports. Fix that.
Fixes: (tests/qtest/migration: Add multifd_tcp_plain test using list of channels instead of uri) Signed-off-by: Het Gala <het.g...@nutanix.com> --- tests/qtest/migration-helpers.c | 2 -- tests/qtest/migration-test.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/qtest/migration-helpers.c b/tests/qtest/migration-helpers.c index b2a90469fb..b1d06187ab 100644 --- a/tests/qtest/migration-helpers.c +++ b/tests/qtest/migration-helpers.c @@ -146,8 +146,6 @@ static void migrate_set_ports(QTestState *to, QList *channel_list) qdict_put_str(addrdict, "port", addr_port); } } - - qobject_unref(addr); } bool migrate_watch_for_events(QTestState *who, const char *name, diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index 584d7c496f..5d6d8cd634 100644 --- a/tests/qtest/migration-test.c +++ b/tests/qtest/migration-test.c @@ -1728,7 +1728,7 @@ static void test_precopy_common(MigrateCommon *args) goto finish; } - migrate_qmp(from, to, args->connect_uri, NULL, "{}"); + migrate_qmp(from, to, args->connect_uri, args->connect_channels, "{}"); if (args->result != MIG_TEST_SUCCEED) { bool allow_active = args->result == MIG_TEST_FAIL; -- 2.22.3