qemu-devel
[Top][All Lists]
Advanced

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

Re: does make check now require TCG? Or is it a parallelism issue?


From: Claudio Fontana
Subject: Re: does make check now require TCG? Or is it a parallelism issue?
Date: Thu, 8 Oct 2020 18:51:42 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

On 10/8/20 6:35 PM, Claudio Fontana wrote:
> On 10/8/20 6:31 PM, Paolo Bonzini wrote:
>> On 08/10/20 18:25, Claudio Fontana wrote:
>>> On 10/8/20 5:34 PM, Claudio Fontana wrote:
>>>> On 10/8/20 5:02 PM, Paolo Bonzini wrote:
>>>>> On 08/10/20 16:48, Claudio Fontana wrote:
>>>>>> on master, a build without tcg like:
>>>>>>
>>>>>> exec '../configure' '--disable-tcg' '--enable-kvm' '--enable-hax' "$@"
>>>>>>
>>>>>> make -j120 check
>>>>>> Generating qemu-version.h with a meson_exe.py custom command
>>>>>> make: *** No rule to make target 'qemu-system-aarch64', needed by 
>>>>>> 'check-block'.  Stop.
>>>>>> make: *** Waiting for unfinished jobs....
>>>>>>
>>>>>> qemu-system-aarch64 is required for check-block now?
>>>>>
>>>>> No, it's not, it's an unnecessary dependency.  This will fix it:
>>>>>
>>>>> diff --git a/tests/Makefile.include b/tests/Makefile.include
>>>>> index 5aca98e60c..1ca70d88ce 100644
>>>>> --- a/tests/Makefile.include
>>>>> +++ b/tests/Makefile.include
>>>>> @@ -140,7 +140,7 @@ QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = 
>>>>> tests/qemu-iotests/socket_scm_helper$(EXE
>>>>>  check: check-block
>>>>>  check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \
>>>>>           qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \
>>>>> -         $(patsubst %-softmmu,qemu-system-%,$(filter 
>>>>> %-softmmu,$(TARGET_DIRS)))
>>>>> +         qemu-system-$(patsubst ppc64%,ppc64, $(shell uname -m))
>>>>>   @$<
>>>>>  endif
>>>>>  
>>>>>
>>>>>
>>>>
>>>> thanks this works!
>>>>
>>>>>> If I run without -j:
>>>>>>
>>>>>> Running test qtest-i386: qmp-cmd-test
>>>>>> Broken pipe
>>>>>> ../tests/qtest/libqtest.c:175: kill_qemu() detected QEMU death from 
>>>>>> signal 6 (Aborted) (core dumped)
>>>>>> ERROR qtest-i386: qmp-cmd-test - too few tests run (expected 53, got 45)
>>>>>> make: *** [Makefile.mtest:1074: run-test-151] Error 1
>>>>>
>>>>> This one is different and I've never seen it.
>>>>
>>>> This one seems an additional, non-tcg build only error, will update when I 
>>>> have more details.
>>>>
>>>>>
>>>>> Paolo
>>>>>
>>>>
>>>> Ciao,
>>>>
>>>> Claudio
>>>>
>>>
>>> Seems to be some QMP calls to icount code from replay happening during the 
>>> tests, which of course do not find any icount there..
>>>
>>> (gdb) bt
>>> #0  0x00007f2b4d115520 in raise () at /lib64/libc.so.6
>>> #1  0x00007f2b4d116b01 in abort () at /lib64/libc.so.6
>>> #2  0x000056295aaf5889 in icount_get_raw () at ../stubs/icount.c:20
>>> #3  0x000056295a7934a5 in replay_get_current_icount () at 
>>> ../replay/replay.c:71
>>> #4  0x000056295a78719d in qmp_query_replay (errp=errp@entry=0x7ffe727a4538) 
>>> at ../replay/replay-debugging.c:55
>>> #5  0x000056295aac0137 in qmp_marshal_query_replay (args=<optimized out>, 
>>> ret=0x7ffe727a45a0, errp=0x7ffe727a4598)
>>>     at qapi/qapi-commands-replay.c:55
>>> #6  0x000056295aae88a3 in qmp_dispatch
>>>     (cmds=0x56295b3b5ce0 <qmp_commands>, 
>>> request=request@entry=0x7f2b3c004db0, allow_oob=<optimized out>) at 
>>> ../qapi/qmp-dispatch.c:155
>>> #7  0x000056295aa6ab7f in monitor_qmp_dispatch (mon=0x56295bee7f80, 
>>> req=0x7f2b3c004db0) at ../monitor/qmp.c:145
>>> #8  0x000056295aa6b3ba in monitor_qmp_bh_dispatcher (data=<optimized out>) 
>>> at ../monitor/qmp.c:234
>>> #9  0x000056295aaeb5b8 in aio_bh_poll (ctx=ctx@entry=0x56295bcd5130) at 
>>> ../util/async.c:164
>>> #10 0x000056295aad76de in aio_dispatch (ctx=0x56295bcd5130) at 
>>> ../util/aio-posix.c:380
>>> #11 0x000056295aaeb49e in aio_ctx_dispatch (source=<optimized out>, 
>>> callback=<optimized out>, user_data=<optimized out>)
>>>     at ../util/async.c:306
>>> #12 0x00007f2b4e268f07 in g_main_context_dispatch () at 
>>> /usr/lib64/libglib-2.0.so.0
>>> #13 0x000056295aac96fa in glib_pollfds_poll () at ../util/main-loop.c:221
>>> #14 0x000056295aac96fa in os_host_main_loop_wait (timeout=-1) at 
>>> ../util/main-loop.c:244
>>> #15 0x000056295aac96fa in main_loop_wait (nonblocking=nonblocking@entry=0) 
>>> at ../util/main-loop.c:520
>>> #16 0x000056295a99083d in qemu_main_loop () at ../softmmu/vl.c:1677
>>> #17 0x000056295a71b17e in main (argc=<optimized out>, argv=<optimized out>, 
>>> envp=<optimized out>) at ../softmmu/main.c:50
>>>
>>
>> Ah, query-replay probably should return an error if !tcg_enabled().
>>
>> Paolo
>>
> 
> aha, and we might even compile away (almost) the whole replay/ if not under 
> tcg, and just put the necessary qmp stuff in stubs/ ... ?
> 
> Ciao,
> 
> C
> 

Oh I see there has been quite a lot of new replay code grafted around the 
codebase.

I guess the commit breaking the fun for me was

e3b09ad2b6e9b23ebc7c2ba133e8a22e53dec301

commit e3b09ad2b6e9b23ebc7c2ba133e8a22e53dec301
Author: Pavel Dovgaluk <Pavel.Dovgaluk@ispras.ru>
Date:   Sat Oct 3 20:13:20 2020 +0300

    replay: introduce info hmp/qmp command
    
    This patch introduces 'info replay' monitor command and
    corresponding qmp request.
    These commands request the current record/replay mode, replay log file
    name, and the instruction count (number of recorded/replayed
    instructions).  The instruction count can be used with the
    replay_seek/replay_break commands added in the next two patches.
    
    Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
    Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Acked-by: Markus Armbruster <armbru@redhat.com>
    Message-Id: 
<160174520026.12451.13112161947433306561.stgit@pasha-ThinkPad-X280>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>







reply via email to

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