[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 27/59] qom/object: Display more helpful message when a parent is m
From: |
Paolo Bonzini |
Subject: |
[PULL 27/59] qom/object: Display more helpful message when a parent is missing |
Date: |
Thu, 23 Jan 2020 14:48:30 +0100 |
From: Philippe Mathieu-Daudé <address@hidden>
QEMU object model is scarse in documentation. Some calls are
recursive, and it might be hard to figure out even trivial issues.
We can avoid developers to waste time in a debugging session by
displaying a simple error message.
This commit is also similar to e02bdf1cecd2 ("Display more helpful
message when an object type is missing").
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
qom/object.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/qom/object.c b/qom/object.c
index 36123fb..90155fa 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -173,7 +173,11 @@ static TypeImpl *type_get_parent(TypeImpl *type)
{
if (!type->parent_type && type->parent) {
type->parent_type = type_get_by_name(type->parent);
- g_assert(type->parent_type != NULL);
+ if (!type->parent_type) {
+ fprintf(stderr, "Type '%s' is missing its parent '%s'\n",
+ type->name, type->parent);
+ abort();
+ }
}
return type->parent_type;
--
1.8.3.1
- [PULL 17/59] hw/core/Makefile: Group generic objects versus system-mode objects, (continued)
- [PULL 17/59] hw/core/Makefile: Group generic objects versus system-mode objects, Paolo Bonzini, 2020/01/23
- [PULL 18/59] target/i386: kvm: initialize feature MSRs very early, Paolo Bonzini, 2020/01/23
- [PULL 20/59] target/i386: kvm: initialize microcode revision from KVM, Paolo Bonzini, 2020/01/23
- [PULL 21/59] virtio-scsi: delete vqs in unrealize to avoid memleaks, Paolo Bonzini, 2020/01/23
- [PULL 19/59] target/i386: add a ucode-rev property, Paolo Bonzini, 2020/01/23
- [PULL 22/59] virtio-scsi: convert to new virtio_delete_queue, Paolo Bonzini, 2020/01/23
- [PULL 23/59] hw/ppc/spapr_rtas: Use local MachineState variable, Paolo Bonzini, 2020/01/23
- [PULL 24/59] hw/ppc/spapr_rtas: Access MachineState via SpaprMachineState argument, Paolo Bonzini, 2020/01/23
- [PULL 25/59] hw/ppc/spapr_rtas: Remove local variable, Paolo Bonzini, 2020/01/23
- [PULL 26/59] target/arm/kvm: Use CPUState::kvm_state in kvm_arm_pmu_supported(), Paolo Bonzini, 2020/01/23
- [PULL 27/59] qom/object: Display more helpful message when a parent is missing,
Paolo Bonzini <=
- [PULL 28/59] accel: Introduce the current_accel() wrapper, Paolo Bonzini, 2020/01/23
- [PULL 30/59] accel/tcg: Sanitize include path, Paolo Bonzini, 2020/01/23
- [PULL 29/59] accel: Replace current_machine->accelerator by current_accel() wrapper, Paolo Bonzini, 2020/01/23
- [PULL 31/59] object: add extra sanity checks, Paolo Bonzini, 2020/01/23
- [PULL 32/59] qdev: remove duplicated qdev_property_add_static() doc, Paolo Bonzini, 2020/01/23
- [PULL 33/59] qdev: remove extraneous error, Paolo Bonzini, 2020/01/23
- [PULL 34/59] qdev: move helper function to monitor/misc, Paolo Bonzini, 2020/01/23
- [PULL 35/59] object: avoid extra class property key duplication, Paolo Bonzini, 2020/01/23
- [PULL 36/59] object: add class property initializer, Paolo Bonzini, 2020/01/23
- [PULL 37/59] object: add object_property_get_defaut(), Paolo Bonzini, 2020/01/23