summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/device/2594
blob: 4a00a37c693c43eb6ecdeb71864ecc534b2efa61 (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
Migration fails with 'get_pci_config_device: Bad config data: i=0x9a read: 2 device: 3 cmask: ff wmask: 0 w1cmask:0' after hotplugging a CPU
Description of problem:
After hotplugging a CPU and finishing a migration from node 1 to node 2, the instance on node 2 crashes when virtio block devices are used:
```
qemu-system-x86_64: get_pci_config_device: Bad config data: i=0x9a read: 2 device: 3 cmask: ff wmask: 0 w1cmask:0
qemu-system-x86_64: Failed to load PCIDevice:config
qemu-system-x86_64: Failed to load virtio-blk:virtio
qemu-system-x86_64: error while loading state for instance 0x0 of device '0000:00:04.0/virtio-blk'
qemu-system-x86_64: load of migration failed: Invalid argument
```

I found the problem also exhibits when using `scsi-hd` in combination with `virtio-scsi`, but not when using IDE hard disks or SCSI disks with an LSI controller. VMs with network cards aren't affected either, as are VMs without virtio disks.


Interestingly, the latest QEMU version shipped with Ubuntu 20.04 (4.2.1-Debian 1:4.2-3ubuntu6.29) is able to migrate this VM just fine.
Steps to reproduce:
1. Start a VM using the first command line
2. Start another VM using the second command line
3. Hotplug a CPU in QMP:
   ```
   {"execute":"device_add","arguments":{"node-id":0,"socket-id":0,"core-id":2,"thread-id":0,"id":{},"driver":"qemu64-x86_64-cpu"}}
   ```
4. Start a migration by executing the following QMP command (again substituting `<ip:port>` with the IP:port combination of node 2
   ```
   {"execute":"migrate","arguments":{"uri":"tcp:127.0.0.1:1234"}}
   ```

(For steps 3 and 4 I used this):
```
echo '{"execute":"qmp_capabilities"}
{"execute":"device_add","arguments":{"node-id":0,"socket-id":0,"core-id":2,"thread-id":0,"id":{},"driver":"qemu64-x86_64-cpu"},"id":1}
{"execute":"migrate","arguments":{"uri":"tcp:127.0.0.1:1234"},"id":2}' | nc -U /tmp/vm1.sock
```
Additional information: