On 11/30/2016 08:55 AM, Alex Bennée wrote: > > Nikunj A Dadhania <nik...@linux.vnet.ibm.com> writes: > >> Hi, >> >> I was writing one instruction and hit following issue: >> >> [snip]/qemu/tcg/tcg.c:2039: tcg fatal error >> qemu-ppc64le: [snip]/qemu/translate-all.c:175: tb_lock: Assertion >> `!have_tb_lock' failed. >> Segmentation fault (core dumped) > > This is confusing because something is trying to take the tb_lock while > you are in code generation. tb_lock is held for code generation to > ensure serialisation of generation.
Yes, I've seen this myself. I never got around to reporting the "problem" properly. It's a confusing side effect of a SIGSEGV arriving during tcg code generation. The signal handler longjmps back with unexpected locks held. Probably we should simply crash earlier and less confusingly. r~