summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/socket/2720
blob: 49d1d7d9691a4906319cf4baf279e7d8b47762b4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
migration failure from qemu 7.1.0 to qemu 9.2.0+ with multifd capability enabled
Description of problem:
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.
Steps to 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
```