[Expired for QEMU because there has been no activity for 60 days.] ** Changed in: qemu Status: Incomplete => Expired
-- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1905651 Title: Tests cannot call g_error Status in QEMU: Expired Bug description: I stumbled on this writing a new test, using tests/qtest/e1000e-test.c as a template. g_error() causes SIGTRAP, not SIGABRT, and thus the abort handler doesn't get run. This in turn means qemu is not killed, which hangs the test because the tap-driver.pl script hangs waiting for more input. There are a few tests that call g_error(). The SIGABRT handler explicitly kills qemu, e.g.: qos-test.c: qtest_add_abrt_handler(kill_qemu_hook_func, s); ref: https://git.qemu.org/?p=qemu.git;a=blob;f=tests/qtest/libqtest.c;h=e49f3a1e45f4cd96279241fdb2bbe231029ab922;hb=HEAD#l272 But not unexpectedly there's no such handler for SIGTRAP. Apply this patch to trigger a repro: diff --git a/tests/qtest/e1000e-test.c b/tests/qtest/e1000e-test.c index fc226fdfeb..e83ace1b5c 100644 --- a/tests/qtest/e1000e-test.c +++ b/tests/qtest/e1000e-test.c @@ -87,6 +87,9 @@ static void e1000e_send_verify(QE1000E *d, int *test_sockets, QGuestAllocator *a /* Wait for TX WB interrupt */ e1000e_wait_isr(d, E1000E_TX0_MSG_ID); + g_message("Test g_error hang ..."); + g_error("Pretend something timed out"); + /* Check DD bit */ g_assert_cmphex(le32_to_cpu(descr.upper.data) & dsta_dd, ==, dsta_dd); Then: configure make make check-qtest-i386 check-qtest-i386 will take awhile. To repro faster: $ grep qtest-i386/qos-test Makefile.mtest .test.name.229 := qtest-i386/qos-test $ make run-test-229 Running test qtest-i386/qos-test ** Message: 18:40:49.821: Test g_error hang ... ** (tests/qtest/qos-test:3820728): ERROR **: 18:40:49.821: Pretend something timed out ERROR qtest-i386/qos-test - Bail out! FATAL-ERROR: Pretend something timed out At this point things are hung because tap-driver.pl is still waiting for input because qemu is still running. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1905651/+subscriptions