[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream
From: |
Michael Tokarev |
Subject: |
Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream |
Date: |
Sun, 12 Jan 2025 17:29:54 +0300 |
User-agent: |
Mozilla Thunderbird |
12.01.2025 16:06, Michael Tokarev wrote:
09.01.2025 21:52, Fabiano Rosas wrote:
The parsing for the S390StorageAttributes section is currently leaving
an unconsumed token that is later interpreted by the generic code as
QEMU_VM_EOF, cutting the parsing short.
The migration will issue a STATTR_FLAG_DONE between iterations, which
the script consumes correctly, but there's a final STATTR_FLAG_EOS at
.save_complete that the script is ignoring. Since the EOS flag is a
u64 0x1ULL and the stream is big endian, on little endian hosts a byte
read from it will be 0x0, the same as QEMU_VM_EOF.
Fixes: 81c2c9dd5d ("tests/qtest/migration-test: Fix analyze-migration.py for
s390x")
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
This looks like a qemu-stable material (if not only for tests), is it not?
This one, when applied to 9.2 together with "s390x: Fix CSS migration",
causes s390x-migration-test failure.
First, it goes:
# starting QEMU: exec ./qemu-system-s390x -qtest unix:/tmp/qtest-1137270.sock -qtest-log /dev/null -chardev
socket,path=/tmp/qtest-1137270.qmp,id=char0 -mon chardev=char0,mode=control -display none -audio none -accel kvm -accel tcg -machine
s390-ccw-virtio-9.2, -name target,debug-threads=on -m 128M -serial file:/tmp/migration-test-T987Z2/dest_serial -incoming tcp:127.0.0.1:0 -bios
/tmp/migration-test-T987Z2/bootsect -accel qtest
Traceback (most recent call last):
File "/tmp/q/scripts/analyze-migration.py", line 704, in <module>
dump.read(dump_memory = args.memory)
File "/tmp/q/scripts/analyze-migration.py", line 641, in read
section.read()
File "/tmp/q/scripts/analyze-migration.py", line 477, in read
field['data'] = reader(field, self.file)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/q/scripts/analyze-migration.py", line 450, in __init__
for field in self.desc['struct']['fields']:
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'fields'
# Failed to analyze the migration stream
and finally
**
ERROR:../../build/qemu/9.2/tests/qtest/migration-test.c:4039:main: assertion
failed (ret == 0): (1 == 0)
Bail out! ERROR:../../build/qemu/9.2/tests/qtest/migration-test.c:4039:main:
assertion failed (ret == 0): (1 == 0)
It doesn't happen when both these patches are applied to 9.1 though -
there, the test succeeds.
Hmm..
Thanks,
/mjt
- [PATCH v3 0/7] migration: Fix s390 regressions + migration script, Fabiano Rosas, 2025/01/09
- [PATCH v3 3/7] migration: Fix parsing of s390 stream, Fabiano Rosas, 2025/01/09
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Michael Tokarev, 2025/01/12
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream,
Michael Tokarev <=
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Thomas Huth, 2025/01/13
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Michael Tokarev, 2025/01/13
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Thomas Huth, 2025/01/13
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Michael Tokarev, 2025/01/13
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Fabiano Rosas, 2025/01/13
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Fabiano Rosas, 2025/01/13
- Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream, Michael Tokarev, 2025/01/13
[PATCH v3 1/7] migration: Add more error handling to analyze-migration.py, Fabiano Rosas, 2025/01/09
[PATCH v3 4/7] migration: Rename vmstate_info_nullptr, Fabiano Rosas, 2025/01/09