qemu-stable
[Top][All Lists]
Advanced

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

[Qemu-stable] qemu 2.10.2 : util/qemu-thread-posix.c: 64: qemu_mutex_loc


From: Eva Chen
Subject: [Qemu-stable] qemu 2.10.2 : util/qemu-thread-posix.c: 64: qemu_mutex_lock: Assertion 'mutex->initialized' failed
Date: Sun, 11 Mar 2018 14:46:11 +0800

​​
Hello,

I am working on compiling QEMU 2.10.2 to a static library.

Everything works fine in compiling QEMU to an execution file(qemu-system-aarch64), but after I link all .o and .a file to create a QEMU library and write a c file to call qemu_main() in qemu/util/vl.c(I have changed the name "main()" into "qemu_main()"), then it shows this error message.

$util/qemu-thread-posix.c: 64: qemu_mutex_lock: Assertion 'mutex->initialized' failed.
Abort (core dumped)

The information of gdb's backtrace is shown as bellow

I found out that it aborted before conducted to the main function in QEMU
Also,  I use si and n in gdb to see what happened in this QEMU library
it showed  that the address and content of rcu_registry_lock would change when it executed qemu_thread_create() in util/rcu.c:315

$qemu_thread_create(&thread, "cal_rcu", call_rcu_thread, NULL, QEMU_THREAD_DETACHED)

This change caused the failure of assert(mutex->initialized) in qemu_mutex_lock (which called by rcu_register_thread() in call_rcu_thread())


The method that compiling the execution file into a library success on QEMU 2.2.1, but failed on QEMU 2.10.2
Will this error message related to the rcu? Or is there anything suggestion to solve this error?


I will be grateful for any help.


Eva 









reply via email to

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