qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream


From: Thomas Huth
Subject: Re: [PATCH v3 3/7] migration: Fix parsing of s390 stream
Date: Mon, 13 Jan 2025 07:39:34 +0100
User-agent: Mozilla Thunderbird

On 12/01/2025 15.29, Michael Tokarev wrote:
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

I think you need to backport patch 1/7, too?

 Thomas




reply via email to

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