Message ID | 0c2f168afb1f66ccadef7ed623808aabf604fb65.1596528468.git.lukasstraub2@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduce 'yank' oob qmp command to recover from hanging qemu | expand |
On Tue, Aug 04, 2020 at 10:12:01AM +0200, Lukas Straub wrote: > A connecting chardev object has an additional reference by the connecting > thread, so if the chardev is still connecting by the end of the test, > then the chardev object won't be freed. This in turn means that the yank > instance won't be unregistered and when running the next test-case > yank_register_instance will abort, because the yank instance is > already/still registered. > > Signed-off-by: Lukas Straub <lukasstraub2@web.de> > --- > tests/test-char.c | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
diff --git a/tests/test-char.c b/tests/test-char.c index d35cc839bc..2ced07de69 100644 --- a/tests/test-char.c +++ b/tests/test-char.c @@ -937,6 +937,7 @@ static void char_socket_client_dupid_test(gconstpointer opaque) g_assert_nonnull(opts); chr1 = qemu_chr_new_from_opts(opts, NULL, &error_abort); g_assert_nonnull(chr1); + qemu_chr_wait_connected(chr1, &error_abort); chr2 = qemu_chr_new_from_opts(opts, NULL, &local_err); g_assert_null(chr2);
A connecting chardev object has an additional reference by the connecting thread, so if the chardev is still connecting by the end of the test, then the chardev object won't be freed. This in turn means that the yank instance won't be unregistered and when running the next test-case yank_register_instance will abort, because the yank instance is already/still registered. Signed-off-by: Lukas Straub <lukasstraub2@web.de> --- tests/test-char.c | 1 + 1 file changed, 1 insertion(+) -- 2.20.1