On 11/03/2015 11:23, Peter Maydell wrote: > I noticed this while I was trying to debug something and so was > single stepping through the CPU realize function. > > The rcu thread seems to get set up and try to start working too > early in QEMU's initialization process. Specifically, it can try > to do things before we've completed the creation and init of all > the CPUs: I'm seeing call_rcu_thread() calling qemu_mutex_lock_iothread() > calling qemu_cpu_kick_thread() before we've even finished actually > creating and realizing the CPU objects. This segfaults because > cpu->thread isn't set yet.
Should be fixed by now: commit 6b49809c597331803ea941eadda813e5bb4e8fe2 Author: Paolo Bonzini <[email protected]> Date: Fri Feb 27 19:58:23 2015 +0100 cpus: fix deadlock and segfault in qemu_mutex_lock_iothread commit 21618b3e55ad2c6fede0bffcaea466091811ce59 Author: Paolo Bonzini <[email protected]> Date: Fri Feb 27 20:01:03 2015 +0100 cpus: be more paranoid in avoiding deadlocks Paolo
