qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: Thomas Huth <thuth@redhat.com>,
	Yonggang Luo <luoyonggang@gmail.com>,
	qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Stefan Weil" <sw@weilnetz.de>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
	"John Snow" <jsnow@redhat.com>
Subject: Re: [PATCH] .gitlab-ci.d/windows.yml: Disable the qtests in the MSYS2 job
Date: Fri, 16 Aug 2024 18:34:57 +0200	[thread overview]
Message-ID: <8d07931c-444e-4030-ac7c-b81ad2d3bac4@linaro.org> (raw)
In-Reply-To: <20240816153747.319161-1-thuth@redhat.com>

On 16/8/24 17:37, Thomas Huth wrote:
> The qtests are broken since a while in the MSYS2 job in the gitlab-CI,
> likely due to some changes in the MSYS2 environment. So far nobody has
> neither a clue what's going wrong here, nor an idea how to fix this
> (in fact most QEMU developers even don't have a Windows environment
> available for properly analyzing this problem), so let's disable the
> qtests here again to get at least the test coverage for the compilation
> and unit tests back to the CI.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   .gitlab-ci.d/windows.yml | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> index a83f23a786..9f3112f010 100644
> --- a/.gitlab-ci.d/windows.yml
> +++ b/.gitlab-ci.d/windows.yml
> @@ -23,6 +23,8 @@ msys2-64bit:
>       # for this job, because otherwise the build could not complete within
>       # the project timeout.
>       CONFIGURE_ARGS:  --target-list=sparc-softmmu --without-default-devices -Ddebug=false -Doptimization=0
> +    # The qtests are broken in the msys2 job on gitlab, so disable them:
> +    TEST_ARGS: --no-suite qtest

Then building system emulation is pointless, isn't it?

Could we at least test the block tools? qemu-img seems to work:

# ./qemu-img.exe --help
qemu-img version 9.0.92 (v9.1.0-rc2)
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers
usage: qemu-img [standard options] command [command options]
QEMU disk image utility

     '-h', '--help'       display this help and exit
     '-V', '--version'    output version information and exit
...

It doesn't work currently:

Administrator@FOOBAR UCRT64 /c/Users/Administrator/qemu/build
# make check-help
Regression testing targets:
  make check                  Run block, qapi-schema, unit, softfloat, 
qtest and decodetree tests
  make bench                  Run speed tests

Individual test suites:
  make check-qtest-TARGET     Run qtest tests for given target
  make check-qtest            Run qtest tests
  make check-unit             Run qobject tests
  make check-qapi-schema      Run QAPI schema tests
  make check-block            Run block tests
  make check-avocado          Run avocado (integration) tests for 
currently configured targets

  make check-report.junit.xml Generates an aggregated XML test report
  make check-venv             Creates a Python venv for tests
  make check-clean            Clean the tests and related data

The following are useful for CI builds
  make check-build            Build most test binaries
  make get-vm-images          Downloads all images used by avocado 
tests, according to configured targets (~350 MB each, 1.5 GB max)


The variable SPEED can be set to control the gtester speed setting.
Default options are -k and (for make V=1) --verbose; they can be
changed with variable GTESTER_OPTIONS.

Administrator@FOOBAR UCRT64 /c/Users/Administrator/qemu/build
# make check-block
make: *** No rule to make target 'check-block'.  Stop.

Administrator@FOOBAR UCRT64 /c/Users/Administrator/qemu/build
#


FWIW when the test is stuck and I hit ^C I get:

Administrator@FOOBAR UCRT64 /c/Users/Administrator/qemu/build
# make check-qtest
[1/6] Generating qemu-version.h with a custom command (wrapped by meson 
to capture output)
/c/Users/Administrator/qemu/build/pyvenv/bin/meson test  --no-rebuild -t 
1  --num-processes 1 --print-errorlogs  --suite qtest
ERROR: The process "3428" not found./ qtest-sparc/qom-test 
                     14/900.0s
  1/13 qemu:qtest+qtest-sparc / qtest-sparc/qom-test 
   INTERRUPT       14.42s   (exit status 3221225786 or signal 3221225658 
SIGinvalid)
 >>> 
PATH=C:/Users/Administrator/msys64/ucrt64/bin;C:\Users\Administrator\msys64\ucrt64\bin;C:\Users\Administrator\msys64\usr\local\bin;C:\Users\Administrator\msys64\usr\bin;C:\Users\Administrator\msys64\usr\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Administrator\msys64\usr\bin\site_perl;C:\Users\Administrator\msys64\usr\bin\vendor_perl;C:\Users\Administrator\msys64\usr\bin\core_perl 
PYTHON=C:/Users/Administrator/qemu/build/pyvenv/bin/python3.exe 
QTEST_QEMU_BINARY=./qemu-system-sparc QTEST_QEMU_IMG=./qemu-img 
G_TEST_DBUS_DAEMON=C:/Users/Administrator/qemu/tests/dbus-vmstate-daemon.sh 
MALLOC_PERTURB_=164 
C:/Users/Administrator/qemu/build/tests/qtest/qom-test.exe --tap -k

ERROR: The process "860" not found.qtest-sparc/device-introspect-test 
                   4/720.0s
  2/13 qemu:qtest+qtest-sparc / qtest-sparc/cdrom-test 
   SKIP             0.07s
Traceback (most recent call last):
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 190, in run
     return runner.run(main)
            ^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 118, in run
     return self._loop.run_until_complete(task)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 641, in run_until_complete
     self.run_forever()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/windows_events.py", 
line 321, in run_forever
     super().run_forever()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 608, in run_forever
     self._run_once()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 1898, in _run_once
     event_list = self._selector.select(timeout)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/windows_events.py", 
line 444, in select
     self._poll(timeout)
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/windows_events.py", 
line 825, in _poll
     status = _overlapped.GetQueuedCompletionStatus(self._iocp, ms)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 157, in _on_sigint
     raise KeyboardInterrupt()
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
   File "<frozen runpy>", line 198, in _run_module_as_main
   File "<frozen runpy>", line 88, in _run_code
   File 
"C:/Users/Administrator/qemu/build/pyvenv/bin/meson.exe/__main__.py", 
line 7, in <module>
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mesonmain.py", 
line 294, in main
     return run(sys.argv[1:], launcher)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mesonmain.py", 
line 285, in run
     return CommandLineParser().run(args)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mesonmain.py", 
line 194, in run
     return options.run_func(options)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py", 
line 2182, in run
     return th.doit()
            ^^^^^^^^^
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py", 
line 1821, in doit
     self.run_tests(runners)
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py", 
line 1994, in run_tests
     asyncio.run(self._run_tests(runners))
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 189, in run
     with Runner(debug=debug) as runner:
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 63, in __exit__
     self.close()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 71, in close
     _cancel_all_tasks(loop)
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/runners.py", 
line 201, in _cancel_all_tasks
     loop.run_until_complete(tasks.gather(*to_cancel, 
return_exceptions=True))
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 641, in run_until_complete
     self.run_forever()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/windows_events.py", 
line 321, in run_forever
     super().run_forever()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 608, in run_forever
     self._run_once()
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 1898, in _run_once
     event_list = self._selector.select(timeout)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/windows_events.py", 
line 444, in select
     self._poll(timeout)
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/windows_events.py", 
line 825, in _poll
     status = _overlapped.GetQueuedCompletionStatus(self._iocp, ms)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Exception ignored in: <coroutine object TestHarness._run_tests at 
0x000001b004a1bca0>
Traceback (most recent call last):
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py", 
line 2101, in _run_tests
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py", 
line 725, in finish
   File 
"C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py", 
line 605, in report_progress
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/locks.py", 
line 213, in wait
asyncio.exceptions.CancelledError:
Task was destroyed but it is pending!
task: <Task cancelling name='Task-1' coro=<TestHarness._run_tests() 
done, defined at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:2006> 
wait_for=<Task pending name='Task-23' 
coro=<TestHarness._run_tests.<locals>.run_test() running at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:2018> 
wait_for=<Future pending cb=[Task.task_wakeup()]> 
cb=[TestHarness._run_tests.<locals>.test_done() at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:2024, 
Task.task_wakeup()]> cb=[gather.<locals>._done_callback() at 
C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/tasks.py:764]>
Task was destroyed but it is pending!
task: <Task pending name='Task-23' 
coro=<TestHarness._run_tests.<locals>.run_test() running at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:2018> 
wait_for=<Future pending cb=[Task.task_wakeup()]> 
cb=[TestHarness._run_tests.<locals>.test_done() at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:2024, 
Task.task_wakeup()]>
Exception ignored in: <coroutine object Queue.get at 0x000001b00524bca0>
Traceback (most recent call last):
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/queues.py", 
line 160, in get
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 762, in call_soon
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 520, in _check_closed
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-25' coro=<TestRunTAP.parse() done, 
defined at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:1087> 
wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task pending name='Task-26' 
coro=<TestSubprocess.communicate.<locals>.collect_stdo() running at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:1303> 
wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='Task-27' 
coro=<TestSubprocess.communicate.<locals>.collect_stde() running at 
C:/Users/Administrator/qemu/build/pyvenv/lib/python3.11/site-packages/mesonbuild/mtest.py:1308> 
wait_for=<Future pending cb=[Task.task_wakeup()]>>
Exception ignored in: <function BaseSubprocessTransport.__del__ at 
0x000001b003dc62a0>
Traceback (most recent call last):
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_subprocess.py", 
line 126, in __del__
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_subprocess.py", 
line 104, in close
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/proactor_events.py", 
line 109, in close
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 762, in call_soon
   File 
"C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/base_events.py", 
line 520, in _check_closed
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-28' coro=<Process.wait() running at 
C:/Users/Administrator/msys64/ucrt64/lib/python3.11/asyncio/subprocess.py:137> 
wait_for=<Future pending cb=[Task.task_wakeup()]>>
make: *** [Makefile.mtest:26: do-meson-check] Interrupt


Administrator@FOOBAR UCRT64 /c/Users/Administrator/qemu/build
#


  parent reply	other threads:[~2024-08-16 16:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-16 15:37 [PATCH] .gitlab-ci.d/windows.yml: Disable the qtests in the MSYS2 job Thomas Huth
2024-08-16 16:21 ` Alex Bennée
2024-08-16 16:33   ` Thomas Huth
2024-08-16 16:34 ` Philippe Mathieu-Daudé [this message]
2024-08-16 16:40   ` Thomas Huth
2024-08-16 17:18     ` Philippe Mathieu-Daudé
2024-08-16 17:25       ` Philippe Mathieu-Daudé
2024-08-19  5:30       ` Thomas Huth
2024-08-19 10:21         ` Philippe Mathieu-Daudé
2024-08-19 10:49           ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8d07931c-444e-4030-ac7c-b81ad2d3bac4@linaro.org \
    --to=philmd@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=jsnow@redhat.com \
    --cc=luoyonggang@gmail.com \
    --cc=pierrick.bouvier@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=sw@weilnetz.de \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).