[Top][All Lists]

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

Re: [Qemu-devel] Confusion regarding temporaries with branch conditional

From: Richard Henderson
Subject: Re: [Qemu-devel] Confusion regarding temporaries with branch conditional
Date: Wed, 30 Nov 2016 12:09:20 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 11/30/2016 10:12 AM, Alex Bennée wrote:
> Richard Henderson <address@hidden> writes:
>> On 11/30/2016 08:55 AM, Alex Bennée wrote:
>>> Nikunj A Dadhania <address@hidden> 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.
> So this is a SEGV which belongs to the translation code rather than the
> guest?


> There are places in the cpu loop where we exit that should reset the
> locks on a restart - see tb_lock_reset() so I'm not quite sure what has
> happened here.

It should be easy enough to force a segv from within the compile step to
reproduce this.


reply via email to

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