diff options
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.toml | 80 |
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" |