qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] linux-user: missing synchronization in CPU object reali


From: Max Filippov
Subject: Re: [Qemu-devel] linux-user: missing synchronization in CPU object realization
Date: Thu, 29 Mar 2018 10:59:17 -0700

On Thu, Mar 29, 2018 at 7:15 AM, Max Filippov <address@hidden> wrote:
> I'm running xtensa linux-user application that rapidly creates
> a lot of threads and I observe the following assertion failure:
>
> (process:26953): GLib-CRITICAL **: g_hash_table_iter_next: assertion
> 'ri->version == ri->hash_table->version' failed
> **
> ERROR:qemu/qom/object.c:1663:object_get_canonical_path_component: code
> should not be reached

[...]

> This happens because multiple threads concurrently call
> object_property_set_bool to realize cpu object in cpu_create,
> which results in the following call chain:
>   device_set_realized -> object_property_add_child ->
>   object_property_add -> g_hash_table_insert
> inserting newly created CPUs as children to /unattached without
> any locking.

Looking at it some more I wonder why do we build this object tree
n linux-user in the first place? It doesn't seem to be used anywhere.

-- 
Thanks.
-- Max



reply via email to

[Prev in Thread] Current Thread [Next in Thread]