"Michael S. Tsirkin" <m...@redhat.com> writes:

> On Mon, Nov 06, 2023 at 07:15:10PM +0000, Alex Bennée wrote:
>> Lets keep a cleaner split between the base class and the derived
>> vhost-user-device which we can use for generic vhost-user stubs. This
>> includes an update to introduce the vq_size property so the number of
>> entries in a virtq can be defined.
>> 
>> Signed-off-by: Alex Bennée <alex.ben...@linaro.org>
>> Message-Id: <20231009095937.195728-2-alex.ben...@linaro.org>
>> 
>> ---
>> v5
>>   - s/parent/parent_obj/
>>   - remove left over vhost-user-device.h
>>   - use DEFINE_TYPES
>> v6
>>   - rebase and set .abstrace = true for vhost-user-device
>
> abstract :)

How do I stop the PCI device being instantiated by qtest?

# Testing device 'vhost-user-device-pci'
Bail out! ERROR:../../qom/object.c:524:object_initialize_with_type: assertion 
failed: (type->abstract == false)
----------------------------------- stderr -----------------------------------
**
ERROR:../../qom/object.c:524:object_initialize_with_type: assertion failed: 
(type->abstract == false)
Broken pipe
../../tests/qtest/libqtest.c:204: kill_qemu() detected QEMU death from signal 6 
(Aborted)

(test program exited with status code -6)

>
>
> ...
>
>
>> +static const TypeInfo vub_types[] = {
>> +    {
>> +        .name = TYPE_VHOST_USER_BASE,
>> +        .parent = TYPE_VIRTIO_DEVICE,
>> +        .instance_size = sizeof(VHostUserBase),
>> +        .class_init = vub_class_init,
>> +        .class_size = sizeof(VHostUserBaseClass),
>> +        .abstract = true
>
> I suspect it's this change that breaks CI: 
>
> https://gitlab.com/mstredhat/qemu/-/jobs/5472898562
>
> WARNING: qemu received signal 6; command: "./qemu-system-ppc -display none 
> -vga none -chardev socket,id=mon,fd=3 -mon chardev=mon,mode=control -S 
> -machine g3beige,accel=tcg -device vhost-user-device-pci"
> CRITICAL: failed: binary=./qemu-system-ppc accel=tcg machine=g3beige 
> device=vhost-user-device-pci
> CRITICAL: cmdline: ./qemu-system-ppc -S -machine g3beige,accel=tcg -device 
> vhost-user-device-pci
> CRITICAL: log: **
> CRITICAL: log: ERROR:../qom/object.c:524:object_initialize_with_type: 
> assertion failed: (type->abstract == false)
> CRITICAL: log: Bail out! 
> ERROR:../qom/object.c:524:object_initialize_with_type: assertion failed: 
> (type->abstract == false)
> CRITICAL: exit code: -6
>
> 146/395 qemu:qtest+qtest-mips / qtest-mips/device-introspect-test             
> ERROR           1.27s   killed by signal 6 SIGABRT
> 153/395 qemu:qtest+qtest-xtensa / qtest-xtensa/device-introspect-test         
> ERROR           1.56s   killed by signal 6 SIGABRT
> 171/395 qemu:qtest+qtest-riscv32 / qtest-riscv32/device-introspect-test       
> ERROR           1.40s   killed by signal 6 SIGABRT
> 184/395 qemu:qtest+qtest-ppc / qtest-ppc/device-introspect-test               
> ERROR           1.51s   killed by signal 6 SIGABRT
> 195/395 qemu:qtest+qtest-sparc64 / qtest-sparc64/device-introspect-test       
> ERROR           1.35s   killed by signal 6 SIGABRT
>
> I dropped this .abstract = true line for now and the part about it in
> docs.  Pls send patch on top once pull is merged.

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to