object_class_foreach can initialize new types, and also register new types corresponding to the implementations of interfaces. Those will change the type internal hashtable which is currently enumerated, and GHashTable does not permit this.
Fix this by not registering those internal types in the hash table, and assert that we do not reenter GHashTable incorrectly during iteration. Hervé Poussineau (1): qom: detect bad reentrance during object_class_foreach Paolo Bonzini (1): qom: do not register interface "types" in the type table qom/object.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) -- 1.8.4.2