On 26 August 2011 15:15, <cedric.vinc...@st.com> wrote: > Hi Jan Kiszka & Blue Swirl, > > Hi would like to report a strange behaviour exposed by commit 0d101938 > "tcg: Reload local variables after return from longjmp" (found with > `git bisect` and then reverted to be sure). > > When emulating in *user-mode* the program `msgmerge`, I get the > following error(s): > > $ /usr/bin/msgmerge --update -q /dev/null /dev/null > qemu-arm: pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion > `mutex->__data.__owner == 0' failed.
Yes; we've discussed this before in this thread: http://lists.nongnu.org/archive/html/qemu-devel/2011-08/msg01623.html That commit breaks multi-threaded usermode programs (well, even more than they usually are). I think we decided that the right fix was to make cpu_single_env thread-local (but that needs a slight change for windows, see one of the messages in the thread). -- PMM