"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