summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2720.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2720.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/2720.toml80
1 files changed, 80 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2720.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2720.toml
new file mode 100644
index 00000000..fe2c4618
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/2720.toml
@@ -0,0 +1,80 @@
+id = 2720
+title = "migration failure from qemu 7.1.0 to qemu 9.2.0+ with multifd capability enabled"
+state = "closed"
+created_at = "2024-12-12T17:02:08.921Z"
+closed_at = "2025-01-01T10:35:41.652Z"
+labels = ["Migration", "Regression"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2720"
+host-os = "CentOS Stream release 9"
+host-arch = "x86_64"
+qemu-version = "7.1.0 / 9.2.0 / 9.2.50"
+guest-os = "n/a"
+guest-arch = "x86_64"
+description = """Enabling multifd when doing migration from qemu 7.1.0 to 9.2.0+ causes the migration to fail.
+The migration status reported is:
+
+```
+Migration status: failed (Unable to write to socket: Broken pipe)
+```
+
+I could reproduce on qemu 9.2.0 and from a build from master. The migration is successful if I don't enable multifd.
+
+I could not reproduce this issue migrating from 7.1.0 to 9.1.2."""
+reproduce = """Minimal setup to reproduce below, running both qemu instances on the same host.
+
+1. Start qemu instance receiving the migration:
+
+```
+$ qemu-system-x86_64 -version
+QEMU emulator version 9.2.50 (v9.2.0-28-ga5ba0a7e4e)
+
+$ qemu-system-x86_64 -M pc-q35-7.1 -m 16G -nographic -incoming defer -net none -trace 'migration*'
+[...]
+(qemu) migrate_set_capability multifd on
+(qemu) migrate_set_parameter multifd-channels 4
+(qemu) migrate_incoming tcp:0:12345
+[...]
+(qemu) migration_socket_incoming_accepted
+migration_set_incoming_channel ioc=0x5619735b1800 ioctype=qio-channel-socket
+migration_socket_incoming_accepted
+migration_set_incoming_channel ioc=0x561972dff670 ioctype=qio-channel-socket
+migration_socket_incoming_accepted
+migration_set_incoming_channel ioc=0x561972dad800 ioctype=qio-channel-socket
+migration_socket_incoming_accepted
+migration_set_incoming_channel ioc=0x561972c9d670 ioctype=qio-channel-socket
+migration_socket_incoming_accepted
+migration_set_incoming_channel ioc=0x561972c7b270 ioctype=qio-channel-socket
+
+```
+
+2. Start the qemu instance that will be used to initiate the migration with multifd enabled, and initiate the migration
+
+```
+$ qemu-system-x86_64 -version
+QEMU emulator version 7.1.0 (v7.1.0)
+
+$ qemu-system-x86_64 -M pc-q35-7.1 -m 16G -nographic -net none -trace 'migration*'
+[...]
+(qemu) migrate_set_capability multifd on
+(qemu) migrate_set_parameter multifd-channels 4
+(qemu) migrate -d tcp:0:12345
+(qemu) migration_socket_outgoing_connected hostname=0
+migration_set_outgoing_channel ioc=0x558ea2051400 ioctype=qio-channel-socket hostname=0 err=(nil)
+migration_bitmap_sync_start
+migration_bitmap_sync_end dirty_pages 0
+migration_thread_setup_complete
+migration_bitmap_clear_dirty rb pc.ram start 0x0 size 0x40000000 page 0x0
+migration_thread_after_loop
+qemu-system-x86_64: Unable to write to socket: Broken pipe
+(qemu) info migrate
+globals:
+store-global-state: on
+only-migratable: off
+send-configuration: on
+send-section-footer: on
+decompress-error-check: on
+clear-bitmap-shift: 18
+Migration status: failed (Unable to write to socket: Broken pipe)
+total time: 0 ms
+```"""
+additional = "n/a"