[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] intermittent make check failure: "tcg_handle_interrupt:
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] intermittent make check failure: "tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())" |
Date: |
Wed, 01 Mar 2017 18:33:26 +0000 |
User-agent: |
mu4e 0.9.19; emacs 25.2.7 |
Mark Cave-Ayland <address@hidden> writes:
> On 01/03/17 15:19, Alex Bennée wrote:
>
>> Actually looking at where cpu_check_irq is I've pushed the BQL wraps
>> higher up:
>>
>>
>> https://github.com/stsquad/qemu/commit/f52e01bf4d3415ce4fad54cbb491f6c30a8e1903
>>
>> The reasoning is HW emulation code can expect to be run under the BQL.
>> Anything triggered by MMIO for example will automatically have the lock.
>> The problem is helpers which trigger hardware actions (ARM has ARM_CP_IO
>> for this). We talk about this in the design document:
>>
>>
>> http://git.qemu-project.org/?p=qemu.git;a=blob;f=docs/multi-thread-tcg.txt;h=a99b4564c6258576acfa141f51f4b80131969519;hb=HEAD#l201
>>
>>> I ran out of time yesterday to run through all my SPARC64 tests, however
>>> if this is the case then the issue will definitely appear in
>>> qemu-system-sparc64 which seems to be supported by people seeing
>>> intermittent failures in prom-env-test.
>>
>> So I made the change to both sparc and sparc64 in the above commit.
>>
>> I haven't managed to run into the intermittent trigger yet. How do I run
>> the test directly?
>>
>> make tests/prom-env-test
>>
>> Just makes the test case and
>>
>> ./tests/prom-env-test
>> **
>> ERROR:tests/libqtest.c:589:qtest_get_arch: assertion failed: (qemu != NULL)
>> Aborted (core dumped)
>
> Yeah, I couldn't work out how to run a single test either so ended up
> cycling through a complete set of "make check" runs in order to try and
> provoke the assert(), and despite all this I was still unable to
> reproduce the "make check" error locally.
>
> Fortunately with the debian-40r4a-sparc-netinst.iso I was able to
> reproduce it fairly easily under qemu-system-sparc so I'd suggest that
> you go that route. If you can't find anywhere that hosts that particular
> image for testing, do contact me off-list and I'll temporarily upload it
> somewhere for you.
It's OK I reproduced with the current etch iso. I have a patch in my
tree that seems to work. I'll post once I've checked for any other
places that need it.
--
Alex Bennée
Re: [Qemu-devel] intermittent make check failure: "tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())", Peter Maydell, 2017/03/01
Re: [Qemu-devel] s390x failure: "tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())", Thomas Huth, 2017/03/01
Re: [Qemu-devel] xtensa failure: "tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())", Thomas Huth, 2017/03/01
Re: [Qemu-devel] mips failure: "tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())", Yongbok Kim, 2017/03/02
Re: [Qemu-devel] mips failure: "tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())", Alex Bennée, 2017/03/02