The TPM tests are failing, and no further tests are run,
making the rest of the testsuite pointless:
$ make check-qtest
=================================================================
==3330026==ERROR: LeakSanitizer: detected memory leaks
Indirect leak of 444960 byte(s) in 108 object(s) allocated from:
#0 0x55a2df5adb87 in calloc (tests/qtest/tpm-crb-swtpm-test+0x266b87)
#1 0x7f507bbff9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
#2 0x55a2df898766 in parse_object qobject/json-parser.c:318:12
#3 0x55a2df897d86 in parse_value qobject/json-parser.c:546:16
#4 0x55a2df8979be in json_parser_parse qobject/json-parser.c:580:14
#5 0x55a2df81ccc1 in json_message_process_token qobject/json-streamer.c:92:12
#6 0x55a2df85f773 in json_lexer_feed_char qobject/json-lexer.c:313:13
#7 0x55a2df85eb04 in json_lexer_feed qobject/json-lexer.c:350:9
#8 0x55a2df81d7ed in json_message_parser_feed qobject/json-streamer.c:121:5
#9 0x55a2df5f15f9 in qmp_fd_receive tests/qtest/libqtest.c:614:9
#10 0x55a2df5f1dda in qtest_qmp_receive_dict tests/qtest/libqtest.c:636:12
#11 0x55a2df5ef444 in qtest_qmp_receive tests/qtest/libqtest.c:624:27
#12 0x55a2df5f3a2d in qtest_vqmp tests/qtest/libqtest.c:715:12
#13 0x55a2df5efa62 in qtest_qmp tests/qtest/libqtest.c:756:16
#14 0x55a2df5eb480 in tpm_util_wait_for_migration_complete tests/qtest/tpm-util.c:245:15
#15 0x55a2df5e4167 in tpm_test_swtpm_migration_test tests/qtest/tpm-tests.c:117:5
#16 0x55a2df5e340c in tpm_crb_swtpm_migration_test tests/qtest/tpm-crb-swtpm-test.c:44:5
#17 0x7f507bc2229d (/lib64/libglib-2.0.so.0+0x7b29d)
Indirect leak of 3456 byte(s) in 108 object(s) allocated from:
#0 0x55a2df5adb87 in calloc (tests/qtest/tpm-crb-swtpm-test+0x266b87)
#1 0x7f507bbff9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
#2 0x55a2df7886af in qdict_put_obj qobject/qdict.c:126:17
#3 0x55a2df89d706 in parse_pair qobject/json-parser.c:300:5
#4 0x55a2df898889 in parse_object qobject/json-parser.c:327:13
#5 0x55a2df897d86 in parse_value qobject/json-parser.c:546:16
#6 0x55a2df8979be in json_parser_parse qobject/json-parser.c:580:14
#7 0x55a2df81ccc1 in json_message_process_token qobject/json-streamer.c:92:12
#8 0x55a2df85f773 in json_lexer_feed_char qobject/json-lexer.c:313:13
#9 0x55a2df85eb04 in json_lexer_feed qobject/json-lexer.c:350:9
#10 0x55a2df81d7ed in json_message_parser_feed qobject/json-streamer.c:121:5
#11 0x55a2df5f15f9 in qmp_fd_receive tests/qtest/libqtest.c:614:9
#12 0x55a2df5f1dda in qtest_qmp_receive_dict tests/qtest/libqtest.c:636:12
#13 0x55a2df5ef444 in qtest_qmp_receive tests/qtest/libqtest.c:624:27
#14 0x55a2df5f3a2d in qtest_vqmp tests/qtest/libqtest.c:715:12
#15 0x55a2df5efa62 in qtest_qmp tests/qtest/libqtest.c:756:16
#16 0x55a2df5eb480 in tpm_util_wait_for_migration_complete tests/qtest/tpm-util.c:245:15
#17 0x55a2df5e4167 in tpm_test_swtpm_migration_test tests/qtest/tpm-tests.c:117:5
#18 0x55a2df5e340c in tpm_crb_swtpm_migration_test tests/qtest/tpm-crb-swtpm-test.c:44:5
#19 0x7f507bc2229d (/lib64/libglib-2.0.so.0+0x7b29d)
Indirect leak of 756 byte(s) in 108 object(s) allocated from:
#0 0x55a2df5ad9cf in malloc (tests/qtest/tpm-crb-swtpm-test+0x2669cf)
#1 0x7f507bbff958 in g_malloc (/lib64/libglib-2.0.so.0+0x58958)
SUMMARY: AddressSanitizer: 449172 byte(s) leaked in 324 allocation(s).
make: *** [Makefile.mtest:1025: run-test-126] Error 1
Remove these tests to be able to run the rest.
Cc: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
tests/qtest/meson.build | 4 ----
1 file changed, 4 deletions(-)
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 16d04625b8b..bcbb04d2bb4 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -41,10 +41,6 @@
(config_all_devices.has_key('CONFIG_USB_UHCI') and \
config_all_devices.has_key('CONFIG_USB_EHCI') ? ['usb-hcd-ehci-test'] : []) + \
(config_all_devices.has_key('CONFIG_USB_XHCI_NEC') ? ['usb-hcd-xhci-test'] : []) + \
- (config_all_devices.has_key('CONFIG_TPM_CRB') ? ['tpm-crb-test'] : []) + \
- (config_all_devices.has_key('CONFIG_TPM_CRB') ? ['tpm-crb-swtpm-test'] : []) + \
- (config_all_devices.has_key('CONFIG_TPM_TIS_ISA') ? ['tpm-tis-test'] : []) + \
- (config_all_devices.has_key('CONFIG_TPM_TIS_ISA') ? ['tpm-tis-swtpm-test'] : []) + \
(config_all_devices.has_key('CONFIG_RTL8139_PCI') ? ['rtl8139-test'] : []) + \
qtests_pci + \
['fdc-test',
--
2.26.2
Subject is incorrect, this is not a removal of the tests, but
removal of their execution. The tests are still in the repository.
This is more of a disablement.
On 1/15/21 4:09 PM, Philippe Mathieu-Daudé wrote:
> The TPM tests are failing, and no further tests are run,
> making the rest of the testsuite pointless:
>
> $ make check-qtest
> =================================================================
> ==3330026==ERROR: LeakSanitizer: detected memory leaks
...
> SUMMARY: AddressSanitizer: 449172 byte(s) leaked in 324 allocation(s).
> make: *** [Makefile.mtest:1025: run-test-126] Error 1
>
> Remove these tests to be able to run the rest.
>
> Cc: Stefan Berger <stefanb@linux.ibm.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> tests/qtest/meson.build | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
> index 16d04625b8b..bcbb04d2bb4 100644
> --- a/tests/qtest/meson.build
> +++ b/tests/qtest/meson.build
> @@ -41,10 +41,6 @@
> (config_all_devices.has_key('CONFIG_USB_UHCI') and \
> config_all_devices.has_key('CONFIG_USB_EHCI') ? ['usb-hcd-ehci-test'] : []) + \
> (config_all_devices.has_key('CONFIG_USB_XHCI_NEC') ? ['usb-hcd-xhci-test'] : []) + \
> - (config_all_devices.has_key('CONFIG_TPM_CRB') ? ['tpm-crb-test'] : []) + \
> - (config_all_devices.has_key('CONFIG_TPM_CRB') ? ['tpm-crb-swtpm-test'] : []) + \
> - (config_all_devices.has_key('CONFIG_TPM_TIS_ISA') ? ['tpm-tis-test'] : []) + \
> - (config_all_devices.has_key('CONFIG_TPM_TIS_ISA') ? ['tpm-tis-swtpm-test'] : []) + \
> (config_all_devices.has_key('CONFIG_RTL8139_PCI') ? ['rtl8139-test'] : []) + \
> qtests_pci + \
> ['fdc-test',
>
On 1/15/21 10:52 AM, Philippe Mathieu-Daudé wrote: > Subject is incorrect, this is not a removal of the tests, but > removal of their execution. The tests are still in the repository. > This is more of a disablement. How do you compile / run them to have the LeakSanitizer checks?
On 1/15/21 4:53 PM, Stefan Berger wrote:
> On 1/15/21 10:52 AM, Philippe Mathieu-Daudé wrote:
>> Subject is incorrect, this is not a removal of the tests, but
>> removal of their execution. The tests are still in the repository.
>> This is more of a disablement.
>
> How do you compile / run them to have the LeakSanitizer checks?
I used:
../configure --cc=clang --enable-sanitizers && make check-qtest
$ clang -v
clang version 10.0.1 (Fedora 10.0.1-3.fc32)
This was previously covered by patchew CI. I just figured
patchew is running without the LeakSanitizer since commit
6f89ec7442e ("docker: test-debug: disable LeakSanitizer"):
docker: test-debug: disable LeakSanitizer
There are just too many leaks in device-introspect-test (especially for
the plethora of arm and aarch64 boards) to make LeakSanitizer useful;
disable it for now.
On 1/15/21 5:06 PM, Philippe Mathieu-Daudé wrote:
> On 1/15/21 4:53 PM, Stefan Berger wrote:
>> On 1/15/21 10:52 AM, Philippe Mathieu-Daudé wrote:
>>> Subject is incorrect, this is not a removal of the tests, but
>>> removal of their execution. The tests are still in the repository.
>>> This is more of a disablement.
>>
>> How do you compile / run them to have the LeakSanitizer checks?
>
> I used:
>
> ../configure --cc=clang --enable-sanitizers && make check-qtest
>
> $ clang -v
> clang version 10.0.1 (Fedora 10.0.1-3.fc32)
>
> This was previously covered by patchew CI. I just figured
> patchew is running without the LeakSanitizer since commit
> 6f89ec7442e ("docker: test-debug: disable LeakSanitizer"):
>
> docker: test-debug: disable LeakSanitizer
>
> There are just too many leaks in device-introspect-test (especially for
> the plethora of arm and aarch64 boards) to make LeakSanitizer useful;
> disable it for now.
So if this expected, maybe the correct fix is to have meson use
ASAN_OPTIONS=detect_leaks=0 automatically when running the qtests?
On 1/15/21 11:06 AM, Philippe Mathieu-Daudé wrote:
> On 1/15/21 4:53 PM, Stefan Berger wrote:
>> On 1/15/21 10:52 AM, Philippe Mathieu-Daudé wrote:
>>> Subject is incorrect, this is not a removal of the tests, but
>>> removal of their execution. The tests are still in the repository.
>>> This is more of a disablement.
>> How do you compile / run them to have the LeakSanitizer checks?
> I used:
>
> ../configure --cc=clang --enable-sanitizers && make check-qtest
>
> $ clang -v
> clang version 10.0.1 (Fedora 10.0.1-3.fc32)
>
> This was previously covered by patchew CI. I just figured
> patchew is running without the LeakSanitizer since commit
> 6f89ec7442e ("docker: test-debug: disable LeakSanitizer"):
>
> docker: test-debug: disable LeakSanitizer
>
> There are just too many leaks in device-introspect-test (especially for
> the plethora of arm and aarch64 boards) to make LeakSanitizer useful;
> disable it for now.
>
I only get short stack traces:
Indirect leak of 852840 byte(s) in 207 object(s) allocated from:
#0 0x561a8c2f8b57 in calloc
(/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57)
#1 0x14f0963069b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
#2 0x561a8c4c2508 in json_parser_parse
/home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:580:14
#3 0x561a8c4a99aa in json_message_process_token
/home/stefanb/tmp/qemu-tip/build/../qobject/json-streamer.c:92:12
#4 0x561a8c4b6cfb in json_lexer_feed_char
/home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:313:13
Indirect leak of 6624 byte(s) in 207 object(s) allocated from:
#0 0x561a8c2f8b57 in calloc
(/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57)
#1 0x14f0963069b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
Indirect leak of 1449 byte(s) in 207 object(s) allocated from:
#0 0x561a8c2f899f in malloc
(/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23f99f)
#1 0x14f096306958 in g_malloc (/lib64/libglib-2.0.so.0+0x58958)
How can I see more of those?
Stefan
On 1/15/21 1:40 PM, Stefan Berger wrote:
> On 1/15/21 11:06 AM, Philippe Mathieu-Daudé wrote:
>> On 1/15/21 4:53 PM, Stefan Berger wrote:
>>> On 1/15/21 10:52 AM, Philippe Mathieu-Daudé wrote:
>>>> Subject is incorrect, this is not a removal of the tests, but
>>>> removal of their execution. The tests are still in the repository.
>>>> This is more of a disablement.
>>> How do you compile / run them to have the LeakSanitizer checks?
>> I used:
>>
>> ../configure --cc=clang --enable-sanitizers && make check-qtest
>>
>> $ clang -v
>> clang version 10.0.1 (Fedora 10.0.1-3.fc32)
>>
>> This was previously covered by patchew CI. I just figured
>> patchew is running without the LeakSanitizer since commit
>> 6f89ec7442e ("docker: test-debug: disable LeakSanitizer"):
>>
>> docker: test-debug: disable LeakSanitizer
>>
>> There are just too many leaks in device-introspect-test (especially
>> for
>> the plethora of arm and aarch64 boards) to make LeakSanitizer useful;
>> disable it for now.
>>
> I only get short stack traces:
>
>
> Indirect leak of 852840 byte(s) in 207 object(s) allocated from:
> #0 0x561a8c2f8b57 in calloc
> (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57)
> #1 0x14f0963069b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
> #2 0x561a8c4c2508 in json_parser_parse
> /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:580:14
> #3 0x561a8c4a99aa in json_message_process_token
> /home/stefanb/tmp/qemu-tip/build/../qobject/json-streamer.c:92:12
> #4 0x561a8c4b6cfb in json_lexer_feed_char
> /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:313:13
>
> Indirect leak of 6624 byte(s) in 207 object(s) allocated from:
> #0 0x561a8c2f8b57 in calloc
> (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57)
> #1 0x14f0963069b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
>
> Indirect leak of 1449 byte(s) in 207 object(s) allocated from:
> #0 0x561a8c2f899f in malloc
> (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23f99f)
> #1 0x14f096306958 in g_malloc (/lib64/libglib-2.0.so.0+0x58958)
>
> How can I see more of those?
I now added -fno-omit-frame-pointer to configure (should it not be
there?) and it now shows some useful stacktraces.
diff --git a/configure b/configure
index 155dda124c..ed86b5ca32 100755
--- a/configure
+++ b/configure
@@ -5308,7 +5308,7 @@ if test "$gprof" = "yes" ; then
fi
if test "$have_asan" = "yes"; then
- QEMU_CFLAGS="-fsanitize=address $QEMU_CFLAGS"
+ QEMU_CFLAGS="-fsanitize=address -fno-omit-frame-pointer $QEMU_CFLAGS"
QEMU_LDFLAGS="-fsanitize=address $QEMU_LDFLAGS"
if test "$have_asan_iface_h" = "no" ; then
echo "ASAN build enabled, but ASAN header missing." \
diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c
This is my TPM related fix. Maybe it resolve the issue for you also?
index 5a33a6ef0f..b70cc32d60 100644
--- a/tests/qtest/tpm-util.c
+++ b/tests/qtest/tpm-util.c
@@ -250,7 +250,7 @@ void tpm_util_wait_for_migration_complete(QTestState
*who)
status = qdict_get_str(rsp_return, "status");
completed = strcmp(status, "completed") == 0;
g_assert_cmpstr(status, !=, "failed");
- qobject_unref(rsp_return);
+ qobject_unref(rsp);
if (completed) {
return;
}
Now I see ppc64 related leaks:
Direct leak of 200 byte(s) in 1 object(s) allocated from:
#0 0x14c9b743c837 in __interceptor_calloc (/lib64/libasan.so.6+0xb0837)
#1 0x14c9b6e8b9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
#2 0x55c5e7130a1a in qemu_init_vcpu ../softmmu/cpus.c:618
#3 0x55c5e68b30c0 in ppc_cpu_realize
../target/ppc/translate_init.c.inc:10146
#4 0x55c5e7539c08 in device_set_realized ../hw/core/qdev.c:761
#5 0x55c5e714aa38 in property_set_bool ../qom/object.c:2255
#6 0x55c5e7145d52 in object_property_set ../qom/object.c:1400
#7 0x55c5e714f99f in object_property_set_qobject
../qom/qom-qobject.c:28
#8 0x55c5e71465f4 in object_property_set_bool ../qom/object.c:1470
#9 0x55c5e666ae21 in spapr_realize_vcpu ../hw/ppc/spapr_cpu_core.c:254
#10 0x55c5e666ae21 in spapr_cpu_core_realize
../hw/ppc/spapr_cpu_core.c:337
#11 0x55c5e7539c08 in device_set_realized ../hw/core/qdev.c:761
#12 0x55c5e714aa38 in property_set_bool ../qom/object.c:2255
#13 0x55c5e7145d52 in object_property_set ../qom/object.c:1400
#14 0x55c5e714f99f in object_property_set_qobject
../qom/qom-qobject.c:28
#15 0x55c5e71465f4 in object_property_set_bool ../qom/object.c:1470
#16 0x55c5e5c7553c in qdev_device_add ../softmmu/qdev-monitor.c:665
#17 0x55c5e6fd4cc4 in device_init_func ../softmmu/vl.c:1201
#18 0x55c5e78fc7bb in qemu_opts_foreach ../util/qemu-option.c:1147
#19 0x55c5e6fc8912 in qemu_create_cli_devices ../softmmu/vl.c:2488
#20 0x55c5e6fc8912 in qmp_x_exit_preconfig ../softmmu/vl.c:2527
#21 0x55c5e6fcfb4b in qemu_init ../softmmu/vl.c:3533
#22 0x55c5e5b18e78 in main ../softmmu/main.c:49
#23 0x14c9b50fa041 in __libc_start_main (/lib64/libc.so.6+0x27041)
[..]
>
>
> Stefan
>
>
Hi Stefan,
On 1/15/21 8:56 PM, Stefan Berger wrote:
> On 1/15/21 1:40 PM, Stefan Berger wrote:
>> On 1/15/21 11:06 AM, Philippe Mathieu-Daudé wrote:
>>> On 1/15/21 4:53 PM, Stefan Berger wrote:
>>>> On 1/15/21 10:52 AM, Philippe Mathieu-Daudé wrote:
>>>>> Subject is incorrect, this is not a removal of the tests, but
>>>>> removal of their execution. The tests are still in the repository.
>>>>> This is more of a disablement.
>>>> How do you compile / run them to have the LeakSanitizer checks?
>>> I used:
>>>
>>> ../configure --cc=clang --enable-sanitizers && make check-qtest
>>>
>>> $ clang -v
>>> clang version 10.0.1 (Fedora 10.0.1-3.fc32)
>>>
>>> This was previously covered by patchew CI. I just figured
>>> patchew is running without the LeakSanitizer since commit
>>> 6f89ec7442e ("docker: test-debug: disable LeakSanitizer"):
>>>
>>> docker: test-debug: disable LeakSanitizer
>>>
>>> There are just too many leaks in device-introspect-test (especially
>>> for
>>> the plethora of arm and aarch64 boards) to make LeakSanitizer useful;
>>> disable it for now.
>>>
>> I only get short stack traces:
>>
>>
>> Indirect leak of 852840 byte(s) in 207 object(s) allocated from:
>> #0 0x561a8c2f8b57 in calloc
>> (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57)
>>
>> #1 0x14f0963069b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
>> #2 0x561a8c4c2508 in json_parser_parse
>> /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:580:14
>> #3 0x561a8c4a99aa in json_message_process_token
>> /home/stefanb/tmp/qemu-tip/build/../qobject/json-streamer.c:92:12
>> #4 0x561a8c4b6cfb in json_lexer_feed_char
>> /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:313:13
>>
>> Indirect leak of 6624 byte(s) in 207 object(s) allocated from:
>> #0 0x561a8c2f8b57 in calloc
>> (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57)
>>
>> #1 0x14f0963069b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
>>
>> Indirect leak of 1449 byte(s) in 207 object(s) allocated from:
>> #0 0x561a8c2f899f in malloc
>> (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23f99f)
>>
>> #1 0x14f096306958 in g_malloc (/lib64/libglib-2.0.so.0+0x58958)
>>
>> How can I see more of those?
>
>
> I now added -fno-omit-frame-pointer to configure (should it not be
> there?) and it now shows some useful stacktraces.
No idea... Cc'ing Marc-André.
If the issue is only with ASan we could add the flag locally
to avoid generic problems with _FORTIFY_SOURCE:
-- >8 --
@@ -5309,6 +5309,9 @@ fi
if test "$have_asan" = "yes"; then
QEMU_CFLAGS="-fsanitize=address $QEMU_CFLAGS"
+ if test "$debug" = "no" ; then
+ QEMU_CFLAGS="-fno-omit-frame-pointer $QEMU_CFLAGS"
+ fi
QEMU_LDFLAGS="-fsanitize=address $QEMU_LDFLAGS"
if test "$have_asan_iface_h" = "no" ; then
echo "ASAN build enabled, but ASAN header missing." \
---
>
>
> diff --git a/configure b/configure
> index 155dda124c..ed86b5ca32 100755
> --- a/configure
> +++ b/configure
> @@ -5308,7 +5308,7 @@ if test "$gprof" = "yes" ; then
> fi
>
> if test "$have_asan" = "yes"; then
> - QEMU_CFLAGS="-fsanitize=address $QEMU_CFLAGS"
> + QEMU_CFLAGS="-fsanitize=address -fno-omit-frame-pointer $QEMU_CFLAGS"
> QEMU_LDFLAGS="-fsanitize=address $QEMU_LDFLAGS"
> if test "$have_asan_iface_h" = "no" ; then
> echo "ASAN build enabled, but ASAN header missing." \
> diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c
>
>
> This is my TPM related fix. Maybe it resolve the issue for you also?
Great, a trivial diff :) I'll try it next week.
>
>
> index 5a33a6ef0f..b70cc32d60 100644
> --- a/tests/qtest/tpm-util.c
> +++ b/tests/qtest/tpm-util.c
> @@ -250,7 +250,7 @@ void tpm_util_wait_for_migration_complete(QTestState
> *who)
> status = qdict_get_str(rsp_return, "status");
> completed = strcmp(status, "completed") == 0;
> g_assert_cmpstr(status, !=, "failed");
> - qobject_unref(rsp_return);
> + qobject_unref(rsp);
> if (completed) {
> return;
> }
>
> Now I see ppc64 related leaks:
>
> Direct leak of 200 byte(s) in 1 object(s) allocated from:
> #0 0x14c9b743c837 in __interceptor_calloc (/lib64/libasan.so.6+0xb0837)
> #1 0x14c9b6e8b9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0)
> #2 0x55c5e7130a1a in qemu_init_vcpu ../softmmu/cpus.c:618
> #3 0x55c5e68b30c0 in ppc_cpu_realize
> ../target/ppc/translate_init.c.inc:10146
> #4 0x55c5e7539c08 in device_set_realized ../hw/core/qdev.c:761
> #5 0x55c5e714aa38 in property_set_bool ../qom/object.c:2255
> #6 0x55c5e7145d52 in object_property_set ../qom/object.c:1400
> #7 0x55c5e714f99f in object_property_set_qobject
> ../qom/qom-qobject.c:28
> #8 0x55c5e71465f4 in object_property_set_bool ../qom/object.c:1470
> #9 0x55c5e666ae21 in spapr_realize_vcpu ../hw/ppc/spapr_cpu_core.c:254
> #10 0x55c5e666ae21 in spapr_cpu_core_realize
> ../hw/ppc/spapr_cpu_core.c:337
> #11 0x55c5e7539c08 in device_set_realized ../hw/core/qdev.c:761
> #12 0x55c5e714aa38 in property_set_bool ../qom/object.c:2255
> #13 0x55c5e7145d52 in object_property_set ../qom/object.c:1400
> #14 0x55c5e714f99f in object_property_set_qobject
> ../qom/qom-qobject.c:28
> #15 0x55c5e71465f4 in object_property_set_bool ../qom/object.c:1470
> #16 0x55c5e5c7553c in qdev_device_add ../softmmu/qdev-monitor.c:665
> #17 0x55c5e6fd4cc4 in device_init_func ../softmmu/vl.c:1201
> #18 0x55c5e78fc7bb in qemu_opts_foreach ../util/qemu-option.c:1147
> #19 0x55c5e6fc8912 in qemu_create_cli_devices ../softmmu/vl.c:2488
> #20 0x55c5e6fc8912 in qmp_x_exit_preconfig ../softmmu/vl.c:2527
> #21 0x55c5e6fcfb4b in qemu_init ../softmmu/vl.c:3533
> #22 0x55c5e5b18e78 in main ../softmmu/main.c:49
> #23 0x14c9b50fa041 in __libc_start_main (/lib64/libc.so.6+0x27041)
>
> [..]
Currently the fuzzed qtests are only reported for X86, so I didn't
bother testing the other targets. Cc'ing qemu-ppc@ however.
Thanks for the quick feedbacks,
Phil.
On 15/01/21 16:09, Philippe Mathieu-Daudé wrote: > |The TPM tests are failing, and no further tests are run, making the > rest of the testsuite pointless:| Just use -k when running tests, it's a good idea in general. Paolo
On 1/17/21 7:47 PM, Paolo Bonzini wrote:
> On 15/01/21 16:09, Philippe Mathieu-Daudé wrote:
>> |The TPM tests are failing, and no further tests are run, making the
>> rest of the testsuite pointless:|
>
> Just use -k when running tests, it's a good idea in general.
Yes, this used to be the default. I still see it in the
Meson conversion in commit a2ce7dbd917 ("meson: convert
ests/qtest to meson"), see tests/qtest/meson.build:
265 test('qtest-@0@/@1@'.format(target_base, test),
266 qtest_executables[test],
267 depends: [test_deps, qtest_emulator],
268 env: qtest_env,
269 args: ['--tap', '-k'],
270 protocol: 'tap',
271 suite: ['qtest', 'qtest-' + target_base])
272 endforeach
273 endforeach
Not sure what is going on.
© 2016 - 2026 Red Hat, Inc.