Am 10.09.2025 um 17:16 hat Thomas Huth geschrieben:
>
> Hi,
>
> when running "./check -luks" in the qemu-iotests directory,
> some tests are failing for me:
>
> 295 296 inactive-node-nbd luks-detached-header
>
> Is that a known problem already?
Not to me anyway.
> FWIW, 295 is failing with the following output:
>
> 295 fail [17:03:01] [17:03:17] 15.7s failed, exit
> status 1
> [...]
> +EWARNING:qemu.machine.machine:qemu received signal 6; command:
> "/home/thuth/tmp/qemu-build/qemu-system-x86_64 -display none -vga none
> -chardev socket,id=mon,fd=5 -mon chardev=mon,mode=control -chardev
> socket,id=qtest,fd=3 -qtest chardev:qtest -accel qtest -nodefaults -display
> none -accel qtest"
> +EEWARNING:qemu.machine.machine:qemu received signal 6; command:
> "/home/thuth/tmp/qemu-build/qemu-system-x86_64 -display none -vga none
> -chardev socket,id=mon,fd=6 -mon chardev=mon,mode=control -chardev
> socket,id=qtest,fd=3 -qtest chardev:qtest -accel qtest -nodefaults -display
> none -accel qtest"
> +EEWARNING:qemu.machine.machine:qemu received signal 6; command:
> "/home/thuth/tmp/qemu-build/qemu-system-x86_64 -display none -vga none
> -chardev socket,id=mon,fd=10 -mon chardev=mon,mode=control -chardev
> socket,id=qtest,fd=3 -qtest chardev:qtest -accel qtest -nodefaults -display
> none -accel qtest"
> +E
> [...]
>
> etc.
>
> 296 looks very similar (also a "qemu received signal 6" error),
> but the others look like this:
When it gets signal 6 (i.e. SIGABRT), that usually means that you should
have a look at the coredump.
> inactive-node-nbd fail [17:13:56] [17:14:04] 7.5s
> failed, exit status 1
> --- /home/thuth/devel/qemu/tests/qemu-iotests/tests/inactive-node-nbd.out
> +++
> /home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/luks-file-inactive-node-nbd/inactive-node-nbd.out.bad
> @@ -1,239 +1,64 @@
> Preparing disk...
> Launching VM...
> -{"execute": "nbd-server-start", "arguments": {"addr": {"data": {"path":
> "SOCK_DIR/PID-nbd.sock"}, "type": "unix"}}}
> -{"return": {}}
> +ERROR:qemu.qmp.qmp_client.qemu-223907:Failed to receive Greeting: EOFError
> +ERROR:qemu.qmp.qmp_client.qemu-223907:Failed to establish session: EOFError
> +Traceback (most recent call last):
> + File "/home/thuth/devel/qemu/python/qemu/qmp/protocol.py", line 425, in
> _session_guard
> + await coro
> + File "/home/thuth/devel/qemu/python/qemu/qmp/qmp_client.py", line 250, in
> _establish_session
> + self._greeting = await self._get_greeting()
> + ^^^^^^^^^^^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/python/qemu/qmp/qmp_client.py", line 270, in
> _get_greeting
> + msg = await self._recv()
> + ^^^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/python/qemu/qmp/protocol.py", line 1009, in
> _recv
> + message = await self._do_recv()
> + ^^^^^^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/python/qemu/qmp/qmp_client.py", line 402, in
> _do_recv
> + msg_bytes = await self._readline()
> + ^^^^^^^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/python/qemu/qmp/protocol.py", line 977, in
> _readline
> + raise EOFError
> +EOFError
Not sure what this is. It looks like the QEMU process failed to start,
maybe it didn't like some command line option. I would expect an error
message on stderr, but I'm not sure if qemu-iotests automatically
displays that in such cases. I thought that yes, but maybe I'm confusing
it with a different case.
> luks-detached-header fail [17:15:26] [17:15:38] 12.2s
> failed, exit status 1
> --- /home/thuth/devel/qemu/tests/qemu-iotests/tests/luks-detached-header.out
> +++
> /home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/luks-file-luks-detached-header/luks-detached-header.out.bad
> @@ -1,5 +1,55 @@
> -..
> +EE
> +======================================================================
> +ERROR: test_detached_luks_header
> (__main__.TestDetachedLUKSHeader.test_detached_luks_header)
> +----------------------------------------------------------------------
> +Traceback (most recent call last):
> + File
> "/home/thuth/devel/qemu/tests/qemu-iotests/tests/luks-detached-header", line
> 139, in setUp
> + res = qemu_img_create(
> + ^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/tests/qemu-iotests/iotests.py", line 278, in
> qemu_img_create
> + return qemu_img('create', *args)
> + ^^^^^^^^^^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/tests/qemu-iotests/iotests.py", line 261, in
> qemu_img
> + return qemu_tool(*full_args, check=check, combine_stdio=combine_stdio)
> + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> + File "/home/thuth/devel/qemu/tests/qemu-iotests/iotests.py", line 241, in
> qemu_tool
> + raise VerboseProcessError(
> +qemu.utils.VerboseProcessError: Command
> '('/home/thuth/tmp/qemu-build/qemu-img', 'create', '-f', 'luks', '-o',
> 'iter-time=10', '-o', 'key-secret=sec0', '-o', 'detached-header=true',
> '--object', 'secret,id=sec0,data=foo',
> '/home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/luks-file-luks-detached-header/detached_header.img2')'
> returned non-zero exit status 1.
> + ┏━ output ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> + ┃ Formatting '/home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/l
> + ┃ uks-file-luks-detached-header/detached_header.img2', fmt=luks
> + ┃ size=-1 key-secret=sec0 iter-time=10 detached-header=true
> + ┃ qemu-img: /home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/luk
> + ┃ s-file-luks-detached-header/detached_header.img2: Parameter
> + ┃ 'detached-header' is unexpected
> + ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This one is surprising. I don't think anything relevant in the luks
driver has changed since the test was introduced. At the same time, the
code clearly has a problem when it tries to convert a QemuOpts
containing a "detached-header" option into a QAPI object when the schema
doesn't even have this option. Was this broken from the beginning? Would
have been for a year and half.
Kevin