Message ID | 20240820144912.320744-10-peter.maydell@linaro.org |
---|---|
State | Accepted |
Headers | show |
Series | tests/qtest/migration-test: Fix various leaks | expand |
Peter Maydell <peter.maydell@linaro.org> writes: > In test_multifd_tcp_cancel() we create three QEMU processes: 'from', > 'to' and 'to2'. We clean up (via qtest_quit()) 'from' and 'to2' when > we call test_migrate_end(), but never clean up 'to', which results in > this leak: > > Direct leak of 336 byte(s) in 1 object(s) allocated from: > #0 0x55e984fcd328 in __interceptor_calloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/tests/qtest/migration-test+0x22f328) (BuildId: 710d409b68bb04427009e9ca6e1b63ff8af785d3) > #1 0x7f0878b39c50 in g_malloc0 debian/build/deb/../../../glib/gmem.c:161:13 > #2 0x55e98503a172 in qtest_spawn_qemu tests/qtest/libqtest.c:397:21 > #3 0x55e98502bc4a in qtest_init_internal tests/qtest/libqtest.c:471:9 > #4 0x55e98502c5b7 in qtest_init_with_env tests/qtest/libqtest.c:533:21 > #5 0x55e9850eef0f in test_migrate_start tests/qtest/migration-test.c:857:11 > #6 0x55e9850eb01d in test_multifd_tcp_cancel tests/qtest/migration-test.c:3297:9 > #7 0x55e985103407 in migration_test_wrapper tests/qtest/migration-helpers.c:456:5 > > Call qtest_quit() on 'to' to clean it up once it has exited. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > tests/qtest/migration-test.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c > index 04122120987..169ef0209c7 100644 > --- a/tests/qtest/migration-test.c > +++ b/tests/qtest/migration-test.c > @@ -3322,6 +3322,7 @@ static void test_multifd_tcp_cancel(void) > /* Make sure QEMU process "to" exited */ > qtest_set_expected_status(to, EXIT_FAILURE); > qtest_wait_qemu(to); > + qtest_quit(to); > > args = (MigrateStart){ > .only_target = true, Reviewed-by: Fabiano Rosas <farosas@suse.de>
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index 04122120987..169ef0209c7 100644 --- a/tests/qtest/migration-test.c +++ b/tests/qtest/migration-test.c @@ -3322,6 +3322,7 @@ static void test_multifd_tcp_cancel(void) /* Make sure QEMU process "to" exited */ qtest_set_expected_status(to, EXIT_FAILURE); qtest_wait_qemu(to); + qtest_quit(to); args = (MigrateStart){ .only_target = true,
In test_multifd_tcp_cancel() we create three QEMU processes: 'from', 'to' and 'to2'. We clean up (via qtest_quit()) 'from' and 'to2' when we call test_migrate_end(), but never clean up 'to', which results in this leak: Direct leak of 336 byte(s) in 1 object(s) allocated from: #0 0x55e984fcd328 in __interceptor_calloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/tests/qtest/migration-test+0x22f328) (BuildId: 710d409b68bb04427009e9ca6e1b63ff8af785d3) #1 0x7f0878b39c50 in g_malloc0 debian/build/deb/../../../glib/gmem.c:161:13 #2 0x55e98503a172 in qtest_spawn_qemu tests/qtest/libqtest.c:397:21 #3 0x55e98502bc4a in qtest_init_internal tests/qtest/libqtest.c:471:9 #4 0x55e98502c5b7 in qtest_init_with_env tests/qtest/libqtest.c:533:21 #5 0x55e9850eef0f in test_migrate_start tests/qtest/migration-test.c:857:11 #6 0x55e9850eb01d in test_multifd_tcp_cancel tests/qtest/migration-test.c:3297:9 #7 0x55e985103407 in migration_test_wrapper tests/qtest/migration-helpers.c:456:5 Call qtest_quit() on 'to' to clean it up once it has exited. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- tests/qtest/migration-test.c | 1 + 1 file changed, 1 insertion(+)