summary refs log tree commit diff stats
path: root/results/classifier/118/none/1754542
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/none/1754542')
-rw-r--r--results/classifier/118/none/17545422035
1 files changed, 2035 insertions, 0 deletions
diff --git a/results/classifier/118/none/1754542 b/results/classifier/118/none/1754542
new file mode 100644
index 000000000..3068dadcb
--- /dev/null
+++ b/results/classifier/118/none/1754542
@@ -0,0 +1,2035 @@
+risc-v: 0.606
+peripherals: 0.555
+mistranslation: 0.554
+permissions: 0.551
+x86: 0.519
+register: 0.510
+hypervisor: 0.490
+TCG: 0.482
+device: 0.482
+virtual: 0.480
+files: 0.475
+KVM: 0.468
+i386: 0.464
+vnc: 0.464
+VMM: 0.446
+graphic: 0.446
+performance: 0.440
+semantic: 0.439
+ppc: 0.430
+debug: 0.417
+boot: 0.399
+user-level: 0.397
+architecture: 0.390
+arm: 0.388
+assembly: 0.388
+PID: 0.387
+network: 0.378
+kernel: 0.341
+socket: 0.314
+
+colo:  vm crash with segmentation fault
+
+I use Arch Linux x86_64
+both qemu 2.11.1 Zhang Chen's(https://github.com/zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+Following document 'COLO-FT.txt',
+I test colo feature on my hosts
+
+I run this command
+Primary:
+sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp stdio  -name primary \
+-device piix3-usb-uhci \
+-device usb-tablet -netdev tap,id=hn0,vhost=off \
+-device virtio-net-pci,id=net-pci0,netdev=hn0 \
+-drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,children.0.file.filename=/var/lib/libvirt/images/1.raw,children.0.driver=raw -S
+
+Secondary:
+sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio  -name secondary \
+-device piix3-usb-uhci \
+-device usb-tablet -netdev tap,id=hn0,vhost=off \
+-device virtio-net-pci,id=net-pci0,netdev=hn0 \
+-drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0 \
+-drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+file.driver=qcow2,top-id=active-disk0,\
+file.file.filename=/mnt/ramfs/active_disk.img,\
+file.backing.driver=qcow2,\
+file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+file.backing.backing=colo-disk0 \
+-incoming tcp:0:8888
+
+Secondary:
+{'execute':'qmp_capabilities'}
+{ 'execute': 'nbd-server-start',
+  'arguments': {'addr': {'type': 'inet', 'data': {'host': '192.168.0.33', 'port': '8889'} } }
+}
+{'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0', 'writable': true } }
+
+Primary:
+{'execute':'qmp_capabilities'}
+{ 'execute': 'human-monitor-command',
+  'arguments': {'command-line': 'drive_add -n buddy driver=replication,mode=primary,file.driver=nbd,file.host=192.168.0.33,file.port=8889,file.export=colo-disk0,node-name=nbd_client0'}}
+{ 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0', 'node': 'nbd_client0' } }
+{ 'execute': 'migrate-set-capabilities',
+      'arguments': {'capabilities': [ {'capability': 'x-colo', 'state': true } ] } }
+{ 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.33:8888' } }
+{ 'execute': 'migrate-set-parameters' , 'arguments':{ 'x-checkpoint-delay': 2000 } }
+
+Above are all OK.Two VM syncing.
+
+Primary:
+{ 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0', 'child': 'children.1'}}
+{ 'execute': 'human-monitor-command','arguments': {'command-line': 'drive_del blk-buddy0'}}
+
+Secondary:
+{ 'execute': 'nbd-server-stop' }
+{ 'execute': 'x-colo-lost-heartbeat' }
+
+But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+
+
+ { 'execute': 'nbd-server-stop' }
+{"return": {}}
+qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file before all bytes were read
+ { 'execute': 'x-colo-lost-heartbeat' }
+{"return": {}}
+qemu-system-x86_64: Can't receive COLO message: Input/output error
+**
+ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref: assertion failed (obj->ref > 0): (0 > 0)
+[1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdi
+
+Hi Suiheng,
+
+Sorry for slow reply, the document 'COLO-FT.txt' in qemu is out of date, I
+will update it lately.
+Please follow this step to run COLO(the command has been changed).
+https://wiki.qemu.org/Features/COLO
+
+Thanks
+Zhang Chen
+
+
+
+On Fri, Mar 9, 2018 at 10:54 AM, 李穗恒 <email address hidden> wrote:
+
+> Public bug reported:
+>
+> I use Arch Linux x86_64
+> both qemu 2.11.1 and Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+> Following document 'COLO-FT.txt',
+> I test colo feature on my hosts
+>
+> I run this command
+> Primary:
+> sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp stdio
+> -name primary \
+> -device piix3-usb-uhci \
+> -device usb-tablet -netdev tap,id=hn0,vhost=off \
+> -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+> -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/var/
+> lib/libvirt/images/1.raw,children.0.driver=raw -S
+>
+> Secondary:
+> sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio
+> -name secondary \
+> -device piix3-usb-uhci \
+> -device usb-tablet -netdev tap,id=hn0,vhost=off \
+> -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+> -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+> -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+> file.driver=qcow2,top-id=active-disk0,\
+> file.file.filename=/mnt/ramfs/active_disk.img,\
+> file.backing.driver=qcow2,\
+> file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+> file.backing.backing=colo-disk0 \
+> -incoming tcp:0:8888
+>
+> Secondary:
+> {'execute':'qmp_capabilities'}
+> { 'execute': 'nbd-server-start',
+>   'arguments': {'addr': {'type': 'inet', 'data': {'host': '192.168.0.33',
+> 'port': '8889'} } }
+> }
+> {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>
+> Primary:
+> {'execute':'qmp_capabilities'}
+> { 'execute': 'human-monitor-command',
+>   'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.34,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+> { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'nbd_client0' } }
+> { 'execute': 'migrate-set-capabilities',
+>       'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+> { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+> { 'execute': 'migrate-set-parameters' , 'arguments':{
+> 'x-checkpoint-delay': 2000 } }
+>
+> Above are all OK.Two VM syncing.
+>
+> Primary:
+> { 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
+> 'child': 'children.1'}}
+> { 'execute': 'human-monitor-command','arguments': {'command-line':
+> 'drive_del blk-buddy0'}}
+>
+> Secondary:
+> { 'execute': 'nbd-server-stop' }
+> { 'execute': 'x-colo-lost-heartbeat' }
+>
+> But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+>
+>  { 'execute': 'nbd-server-stop' }
+> {"return": {}}
+> qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file
+> before all bytes were read
+>  { 'execute': 'x-colo-lost-heartbeat' }
+> {"return": {}}
+> qemu-system-x86_64: Can't receive COLO message: Input/output error
+> **
+> ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref:
+> assertion failed (obj->ref > 0): (0 > 0)
+> [1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c
+> -enable-kvm -m 2048 -smp 2 -qmp stdi
+>
+> ** Affects: qemu
+>      Importance: Undecided
+>          Status: New
+>
+>
+> ** Tags: colo
+>
+> ** Description changed:
+>
+>   I use Arch Linux x86_64
+> - both qemu 2.11.1 Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+> + both qemu 2.11.1 and Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp
+> stdio  -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/var/
+> lib/libvirt/images/1.raw,children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio
+> -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=colo-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+> -   'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+> +   'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+> -   'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.33,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+> +   'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.33,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+> -       'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+> +       'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.33:8888' } }
+>   { 'execute': 'migrate-set-parameters' , 'arguments':{
+> 'x-checkpoint-delay': 2000 } }
+>
+>   Above are all OK.Two VM syncing.
+>
+>   Primary:
+>   { 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
+> 'child': 'children.1'}}
+>   { 'execute': 'human-monitor-command','arguments': {'command-line':
+> 'drive_del blk-buddy0'}}
+>
+>   Secondary:
+>   { 'execute': 'nbd-server-stop' }
+>   { 'execute': 'x-colo-lost-heartbeat' }
+>
+>   But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+>
+> -
+> -  { 'execute': 'nbd-server-stop' }
+> +  { 'execute': 'nbd-server-stop' }
+>   {"return": {}}
+>   qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file
+> before all bytes were read
+> -  { 'execute': 'x-colo-lost-heartbeat' }
+> +  { 'execute': 'x-colo-lost-heartbeat' }
+>   {"return": {}}
+>   qemu-system-x86_64: Can't receive COLO message: Input/output error
+>   **
+>   ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref:
+> assertion failed (obj->ref > 0): (0 > 0)
+>   [1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c
+> -enable-kvm -m 2048 -smp 2 -qmp stdi
+>
+> ** Tags added: colo
+>
+> --
+> You received this bug notification because you are a member of qemu-
+> devel-ml, which is subscribed to QEMU.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo: secondary vm crash when execute x-colo-lost-heartbeat
+>
+> Status in QEMU:
+>   New
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   both qemu 2.11.1 and Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp
+> stdio  -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/var/
+> lib/libvirt/images/1.raw,children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio
+> -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=colo-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.34,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   { 'execute': 'migrate-set-parameters' , 'arguments':{
+> 'x-checkpoint-delay': 2000 } }
+>
+>   Above are all OK.Two VM syncing.
+>
+>   Primary:
+>   { 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
+> 'child': 'children.1'}}
+>   { 'execute': 'human-monitor-command','arguments': {'command-line':
+> 'drive_del blk-buddy0'}}
+>
+>   Secondary:
+>   { 'execute': 'nbd-server-stop' }
+>   { 'execute': 'x-colo-lost-heartbeat' }
+>
+>   But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+>
+>    { 'execute': 'nbd-server-stop' }
+>   {"return": {}}
+>   qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file
+> before all bytes were read
+>    { 'execute': 'x-colo-lost-heartbeat' }
+>   {"return": {}}
+>   qemu-system-x86_64: Can't receive COLO message: Input/output error
+>   **
+>   ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref:
+> assertion failed (obj->ref > 0): (0 > 0)
+>   [1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c
+> -enable-kvm -m 2048 -smp 2 -qmp stdi
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+>
+
+
+ Hi Suiheng,
+
+Sorry for slow reply, the document 'COLO-FT.txt' in qemu is out of date, I
+will update it lately.
+Please follow this step to run COLO(the command has been changed).
+https://wiki.qemu.org/Features/COLO
+
+Thanks
+Zhang Chen
+
+On Fri, Mar 9, 2018 at 10:54 AM, 李穗恒 <email address hidden> wrote:
+
+> Public bug reported:
+>
+> I use Arch Linux x86_64
+> both qemu 2.11.1 and Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+> Following document 'COLO-FT.txt',
+> I test colo feature on my hosts
+>
+> I run this command
+> Primary:
+> sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp stdio
+> -name primary \
+> -device piix3-usb-uhci \
+> -device usb-tablet -netdev tap,id=hn0,vhost=off \
+> -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+> -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/var/
+> lib/libvirt/images/1.raw,children.0.driver=raw -S
+>
+> Secondary:
+> sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio
+> -name secondary \
+> -device piix3-usb-uhci \
+> -device usb-tablet -netdev tap,id=hn0,vhost=off \
+> -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+> -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+> -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+> file.driver=qcow2,top-id=active-disk0,\
+> file.file.filename=/mnt/ramfs/active_disk.img,\
+> file.backing.driver=qcow2,\
+> file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+> file.backing.backing=colo-disk0 \
+> -incoming tcp:0:8888
+>
+> Secondary:
+> {'execute':'qmp_capabilities'}
+> { 'execute': 'nbd-server-start',
+>   'arguments': {'addr': {'type': 'inet', 'data': {'host': '192.168.0.33',
+> 'port': '8889'} } }
+> }
+> {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>
+> Primary:
+> {'execute':'qmp_capabilities'}
+> { 'execute': 'human-monitor-command',
+>   'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.34,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+> { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'nbd_client0' } }
+> { 'execute': 'migrate-set-capabilities',
+>       'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+> { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+> { 'execute': 'migrate-set-parameters' , 'arguments':{
+> 'x-checkpoint-delay': 2000 } }
+>
+> Above are all OK.Two VM syncing.
+>
+> Primary:
+> { 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
+> 'child': 'children.1'}}
+> { 'execute': 'human-monitor-command','arguments': {'command-line':
+> 'drive_del blk-buddy0'}}
+>
+> Secondary:
+> { 'execute': 'nbd-server-stop' }
+> { 'execute': 'x-colo-lost-heartbeat' }
+>
+> But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+>
+>  { 'execute': 'nbd-server-stop' }
+> {"return": {}}
+> qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file
+> before all bytes were read
+>  { 'execute': 'x-colo-lost-heartbeat' }
+> {"return": {}}
+> qemu-system-x86_64: Can't receive COLO message: Input/output error
+> **
+> ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref:
+> assertion failed (obj->ref > 0): (0 > 0)
+> [1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c
+> -enable-kvm -m 2048 -smp 2 -qmp stdi
+>
+> ** Affects: qemu
+>      Importance: Undecided
+>          Status: New
+>
+>
+> ** Tags: colo
+>
+> ** Description changed:
+>
+>   I use Arch Linux x86_64
+> - both qemu 2.11.1 Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+> + both qemu 2.11.1 and Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp
+> stdio  -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/var/
+> lib/libvirt/images/1.raw,children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio
+> -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=colo-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+> -   'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+> +   'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+> -   'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.33,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+> +   'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.33,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+> -       'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+> +       'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.33:8888' } }
+>   { 'execute': 'migrate-set-parameters' , 'arguments':{
+> 'x-checkpoint-delay': 2000 } }
+>
+>   Above are all OK.Two VM syncing.
+>
+>   Primary:
+>   { 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
+> 'child': 'children.1'}}
+>   { 'execute': 'human-monitor-command','arguments': {'command-line':
+> 'drive_del blk-buddy0'}}
+>
+>   Secondary:
+>   { 'execute': 'nbd-server-stop' }
+>   { 'execute': 'x-colo-lost-heartbeat' }
+>
+>   But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+>
+> -
+> -  { 'execute': 'nbd-server-stop' }
+> +  { 'execute': 'nbd-server-stop' }
+>   {"return": {}}
+>   qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file
+> before all bytes were read
+> -  { 'execute': 'x-colo-lost-heartbeat' }
+> +  { 'execute': 'x-colo-lost-heartbeat' }
+>   {"return": {}}
+>   qemu-system-x86_64: Can't receive COLO message: Input/output error
+>   **
+>   ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref:
+> assertion failed (obj->ref > 0): (0 > 0)
+>   [1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c
+> -enable-kvm -m 2048 -smp 2 -qmp stdi
+>
+> ** Tags added: colo
+>
+> --
+> You received this bug notification because you are a member of qemu-
+> devel-ml, which is subscribed to QEMU.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo: secondary vm crash when execute x-colo-lost-heartbeat
+>
+> Status in QEMU:
+>   New
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   both qemu 2.11.1 and Zhang Chen's(https://github.com/
+> zhangckid/qemu/commits/colo-with-virtio-net-internal-jul10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo qemu-system-x86_64 -boot c   -enable-kvm -m 2048 -smp 2  -qmp
+> stdio  -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/var/
+> lib/libvirt/images/1.raw,children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qmp stdio
+> -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=colo-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.34,file.port=8889,file.export=colo-disk0,
+> node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   { 'execute': 'migrate-set-parameters' , 'arguments':{
+> 'x-checkpoint-delay': 2000 } }
+>
+>   Above are all OK.Two VM syncing.
+>
+>   Primary:
+>   { 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
+> 'child': 'children.1'}}
+>   { 'execute': 'human-monitor-command','arguments': {'command-line':
+> 'drive_del blk-buddy0'}}
+>
+>   Secondary:
+>   { 'execute': 'nbd-server-stop' }
+>   { 'execute': 'x-colo-lost-heartbeat' }
+>
+>   But When I execute x-colo-lost-heartbeat.Primary run Secondary cash
+>
+>    { 'execute': 'nbd-server-stop' }
+>   {"return": {}}
+>   qemu-system-x86_64: Disconnect client, due to: Unexpected end-of-file
+> before all bytes were read
+>    { 'execute': 'x-colo-lost-heartbeat' }
+>   {"return": {}}
+>   qemu-system-x86_64: Can't receive COLO message: Input/output error
+>   **
+>   ERROR:/build/qemu/src/qemu-2.11.1/qom/object.c:907:object_unref:
+> assertion failed (obj->ref > 0): (0 > 0)
+>   [1]    2972 abort      sudo /usr/bin/qemu-system-x86_64 -boot c
+> -enable-kvm -m 2048 -smp 2 -qmp stdi
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+>
+
+
+Hi Zhang Chen,
+I follow the https://wiki.qemu.org/Features/COLO, And Vm no crash.
+But SVM rebooting constantly after print RESET, PVM normal startup.
+
+Secondary:
+{"timestamp": {"seconds": 1521421788, "microseconds": 541058}, "event": "RESUME"}
+{"timestamp": {"seconds": 1521421808, "microseconds": 493484}, "event": "STOP"}
+{"timestamp": {"seconds": 1521421808, "microseconds": 686466}, "event": "RESUME"}
+{"timestamp": {"seconds": 1521421808, "microseconds": 696152}, "event": "RESET", "data": {"guest": true}}
+{"timestamp": {"seconds": 1521421808, "microseconds": 740653}, "event": "RESET", "data": {"guest": true}}
+{"timestamp": {"seconds": 1521421818, "microseconds": 742222}, "event": "STOP"}
+{"timestamp": {"seconds": 1521421818, "microseconds": 969883}, "event": "RESUME"}
+{"timestamp": {"seconds": 1521421818, "microseconds": 979986}, "event": "RESET", "data": {"guest": true}}
+{"timestamp": {"seconds": 1521421819, "microseconds": 22652}, "event": "RESET", "data": {"guest": true}}
+
+
+The command(I run two VM in sample machine):
+
+Primary:
+sudo /home/lee/Documents/qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -boot c -m 2048 -smp 2 -qmp stdio  -name primary -cpu qemu64,+kvmclock -device piix3-usb-uhci -device usb-tablet \
+    -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -device rtl8139,id=e0,netdev=hn0 \
+    -chardev socket,id=mirror0,host=192.168.0.33,port=9003,server,nowait \
+    -chardev socket,id=compare1,host=192.168.0.33,port=9004,server,wait \
+    -chardev socket,id=compare0,host=192.168.0.33,port=9001,server,nowait \
+    -chardev socket,id=compare0-0,host=192.168.0.33,port=9001 \
+    -chardev socket,id=compare_out,host=192.168.0.33,port=9005,server,nowait \
+    -chardev socket,id=compare_out0,host=192.168.0.33,port=9005 \
+    -object filter-mirror,id=m0,netdev=hn0,queue=tx,outdev=mirror0 \
+    -object filter-redirector,netdev=hn0,id=redire0,queue=rx,indev=compare_out \
+    -object filter-redirector,netdev=hn0,id=redire1,queue=rx,outdev=compare0 \
+    -object iothread,id=iothread1 \
+    -object colo-compare,id=comp0,primary_in=compare0-0,secondary_in=compare1,outdev=compare_out0,iothread=iothread1 \
+    -drive if=ide,id=colo-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,children.0.file.filename=/var/lib/libvirt/images/1.raw,children.0.driver=raw -S
+
+Secondary:
+sudo /home/lee/Documents/qemu/x86_64-softmmu/qemu-system-x86_64 -boot c -m 2048 -smp 2 -qmp stdio  -name secondary -enable-kvm -cpu qemu64,+kvmclock \
+    -device piix3-usb-uhci -device usb-tablet \
+    -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown \
+    -device rtl8139,netdev=hn0 \
+    -chardev socket,id=red0,host=192.168.0.33,port=9003,reconnect=1 \
+    -chardev socket,id=red1,host=192.168.0.33,port=9004,reconnect=1 \
+    -object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 \
+    -object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1 \
+    -object filter-rewriter,id=rew0,netdev=hn0,queue=all \
+    -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0 \
+    -drive if=ide,id=active-disk0,driver=replication,mode=secondary,file.driver=qcow2,top-id=active-disk0,file.file.filename=/mnt/ramfs/active_disk.img,file.backing.driver=qcow2,file.backing.file.filename=/mnt/ramfs/hidden_disk.img,file.backing.backing=colo-disk0 \
+    -incoming tcp:0:8888
+
+Secondary:
+  {'execute':'qmp_capabilities'}
+  { 'execute': 'nbd-server-start',
+    'arguments': {'addr': {'type': 'inet', 'data': {'host': '192.168.0.33', 'port': '8889'} } }
+  }
+  {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0', 'writable': true } }
+  {'execute': 'trace-event-set-state', 'arguments': {'name': 'colo*', 'enable': true} }
+
+
+Primary:
+  {'execute':'qmp_capabilities'}
+  { 'execute': 'human-monitor-command',
+    'arguments': {'command-line': 'drive_add -n buddy driver=replication,mode=primary,file.driver=nbd,file.host=192.168.0.33,file.port=8889,file.export=colo-disk0,node-name=node0'}}
+  { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0', 'node': 'node0' } }
+  { 'execute': 'migrate-set-capabilities',
+        'arguments': {'capabilities': [ {'capability': 'x-colo', 'state': true } ] } }
+  { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.33:8888' } }
+
+Thanks
+Suiheng
+
+It is my trace event file.
+I read it many times, but still can't find the cause of the error.
+I just found after colo_vm_state_change ide_reset and ps2_kbd_reset ...
+
+
+
+It is svn trace even
+
+Hi Suiheng,
+
+I made a new guest image and retest it, and got the same bug from latest
+branch.
+I found that after the COLO checkpoint begin, the secondary guest always
+send
+reset request to Qemu like someone still push the reset button in the guest.
+And this bug occurred in COLO frame related codes. This part of codes wrote
+by Li zhijian and Zhang hailiang and currently maintained by Zhang hailiang.
+So, I add them to this thread.
+
+CC Zhijian and Hailiang:
+Any idea or comments about this bug?
+
+If you want to test COLO currently, you can try the old version of COLO:
+https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10-legacy
+
+
+Thanks
+Zhang Chen
+
+On Mon, Mar 19, 2018 at 10:08 AM, 李穗恒 <email address hidden> wrote:
+
+> Hi Zhang Chen,
+> I follow the https://wiki.qemu.org/Features/COLO, And Vm no crash.
+> But SVM rebooting constantly after print RESET, PVM normal startup.
+>
+> Secondary:
+> {"timestamp": {"seconds": 1521421788, "microseconds": 541058}, "event":
+> "RESUME"}
+> {"timestamp": {"seconds": 1521421808, "microseconds": 493484}, "event":
+> "STOP"}
+> {"timestamp": {"seconds": 1521421808, "microseconds": 686466}, "event":
+> "RESUME"}
+> {"timestamp": {"seconds": 1521421808, "microseconds": 696152}, "event":
+> "RESET", "data": {"guest": true}}
+> {"timestamp": {"seconds": 1521421808, "microseconds": 740653}, "event":
+> "RESET", "data": {"guest": true}}
+> {"timestamp": {"seconds": 1521421818, "microseconds": 742222}, "event":
+> "STOP"}
+> {"timestamp": {"seconds": 1521421818, "microseconds": 969883}, "event":
+> "RESUME"}
+> {"timestamp": {"seconds": 1521421818, "microseconds": 979986}, "event":
+> "RESET", "data": {"guest": true}}
+> {"timestamp": {"seconds": 1521421819, "microseconds": 22652}, "event":
+> "RESET", "data": {"guest": true}}
+>
+>
+> The command(I run two VM in sample machine):
+>
+> Primary:
+> sudo /home/lee/Documents/qemu/x86_64-softmmu/qemu-system-x86_64
+> -enable-kvm -boot c -m 2048 -smp 2 -qmp stdio  -name primary -cpu
+> qemu64,+kvmclock -device piix3-usb-uhci -device usb-tablet \
+>     -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
+> -device rtl8139,id=e0,netdev=hn0 \
+>     -chardev socket,id=mirror0,host=192.168.0.33,port=9003,server,nowait \
+>     -chardev socket,id=compare1,host=192.168.0.33,port=9004,server,wait \
+>     -chardev socket,id=compare0,host=192.168.0.33,port=9001,server,nowait
+> \
+>     -chardev socket,id=compare0-0,host=192.168.0.33,port=9001 \
+>     -chardev socket,id=compare_out,host=192.168.0.33,port=9005,server,nowait
+> \
+>     -chardev socket,id=compare_out0,host=192.168.0.33,port=9005 \
+>     -object filter-mirror,id=m0,netdev=hn0,queue=tx,outdev=mirror0 \
+>     -object filter-redirector,netdev=hn0,id=redire0,queue=rx,indev=compare_out
+> \
+>     -object filter-redirector,netdev=hn0,id=redire1,queue=rx,outdev=compare0
+> \
+>     -object iothread,id=iothread1 \
+>     -object colo-compare,id=comp0,primary_in=compare0-0,secondary_in=
+> compare1,outdev=compare_out0,iothread=iothread1 \
+>     -drive if=ide,id=colo-disk0,driver=quorum,read-pattern=fifo,vote-
+> threshold=1,children.0.file.filename=/var/lib/libvirt/
+> images/1.raw,children.0.driver=raw -S
+>
+> Secondary:
+> sudo /home/lee/Documents/qemu/x86_64-softmmu/qemu-system-x86_64 -boot c
+> -m 2048 -smp 2 -qmp stdio  -name secondary -enable-kvm -cpu
+> qemu64,+kvmclock \
+>     -device piix3-usb-uhci -device usb-tablet \
+>     -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
+> \
+>     -device rtl8139,netdev=hn0 \
+>     -chardev socket,id=red0,host=192.168.0.33,port=9003,reconnect=1 \
+>     -chardev socket,id=red1,host=192.168.0.33,port=9004,reconnect=1 \
+>     -object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 \
+>     -object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1 \
+>     -object filter-rewriter,id=rew0,netdev=hn0,queue=all \
+>     -drive if=none,id=colo-disk0,file.filename=/var/lib/libvirt/
+> images/2.raw,driver=raw,node-name=node0 \
+>     -drive if=ide,id=active-disk0,driver=replication,mode=secondary,
+> file.driver=qcow2,top-id=active-disk0,file.file.
+> filename=/mnt/ramfs/active_disk.img,file.backing.driver=
+> qcow2,file.backing.file.filename=/mnt/ramfs/hidden_
+> disk.img,file.backing.backing=colo-disk0 \
+>     -incoming tcp:0:8888
+>
+> Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.33', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0',
+> 'writable': true } }
+>   {'execute': 'trace-event-set-state', 'arguments': {'name': 'colo*',
+> 'enable': true} }
+>
+>
+> Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.33,file.port=8889,file.export=colo-disk0,node-name=node0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0',
+> 'node': 'node0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.33:8888' } }
+>
+> Thanks
+> Suiheng
+>
+> --
+> You received this bug notification because you are subscribed to the bug
+> report.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo:  vm crash with segmentation fault
+>
+> Status in QEMU:
+>   New
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=primary-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,\
+>   children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+>   children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=secondary-disk0,file.filename=/var/lib/
+> libvirt/images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=secondary-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.34', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.34,file.port=8889,file.export=secondary-
+> disk0,node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'primary-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   And two VM with cash
+>   Primary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 511415}, "event":
+> "RESUME"}
+>   [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+>   Secondary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 510907}, "event":
+> "RESUME"}
+>   [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+
+
+I took a photo when SVM print reset.
+It seems like kernel panic.
+I hope this will help.
+
+
+SVM error photo
+
+Thanks zhijian.
+
+On Fri, Mar 23, 2018 at 4:34 PM, Li Zhijian <email address hidden>
+wrote:
+
+> Just noticed that's a little old, you may need to rebase it
+>
+>
+> Thanks
+>
+>
+> On 03/23/2018 11:51 AM, Li Zhijian wrote:
+>
+>>
+>>
+>> On 03/21/2018 02:04 PM, Zhang Chen wrote:
+>>
+>>> Hi Suiheng,
+>>>
+>>> I made a new guest image and retest it, and got the same bug from latest
+>>> branch.
+>>> I found that after the COLO checkpoint begin, the secondary guest always
+>>> send
+>>> reset request to Qemu like someone still push the reset button in the
+>>> guest.
+>>> And this bug occurred in COLO frame related codes. This part of codes
+>>> wrote
+>>> by Li zhijian and Zhang hailiang and currently maintained by Zhang
+>>> hailiang.
+>>> So, I add them to this thread.
+>>>
+>>> CC Zhijian and Hailiang:
+>>> Any idea or comments about this bug?
+>>>
+>>
+>> One clue is the memory of SVM not is same with PVM.
+>> we can try to compare the memory after checkpoint, i had a draft patch to
+>> do this before.
+>>
+>>
+>> Thanks
+>>
+>>
+>>
+>>
+>>
+>>> If you want to test COLO currently, you can try the old version of COLO:
+>>> https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10-legacy
+>>>
+>>>
+>>> Thanks
+>>> Zhang Chen
+>>>
+>>> On Mon, Mar 19, 2018 at 10:08 AM, 李穗恒 <<email address hidden>
+>>> <mailto:<email address hidden>>> wrote:
+>>>
+>>>     Hi Zhang Chen,
+>>>     I follow the https://wiki.qemu.org/Features/COLO <
+>>> https://wiki.qemu.org/Features/COLO>, And Vm no crash.
+>>>
+>>>     But SVM rebooting constantly after print RESET, PVM normal startup.
+>>>
+>>>     Secondary:
+>>>     {"timestamp": {"seconds": 1521421788, "microseconds": 541058},
+>>> "event": "RESUME"}
+>>>     {"timestamp": {"seconds": 1521421808, "microseconds": 493484},
+>>> "event": "STOP"}
+>>>     {"timestamp": {"seconds": 1521421808, "microseconds": 686466},
+>>> "event": "RESUME"}
+>>>     {"timestamp": {"seconds": 1521421808, "microseconds": 696152},
+>>> "event": "RESET", "data": {"guest": true}}
+>>>     {"timestamp": {"seconds": 1521421808, "microseconds": 740653},
+>>> "event": "RESET", "data": {"guest": true}}
+>>>     {"timestamp": {"seconds": 1521421818, "microseconds": 742222},
+>>> "event": "STOP"}
+>>>     {"timestamp": {"seconds": 1521421818, "microseconds": 969883},
+>>> "event": "RESUME"}
+>>>     {"timestamp": {"seconds": 1521421818, "microseconds": 979986},
+>>> "event": "RESET", "data": {"guest": true}}
+>>>     {"timestamp": {"seconds": 1521421819, "microseconds": 22652},
+>>> "event": "RESET", "data": {"guest": true}}
+>>>
+>>>
+>>>     The command(I run two VM in sample machine):
+>>>
+>>>     Primary:
+>>>     sudo /home/lee/Documents/qemu/x86_64-softmmu/qemu-system-x86_64
+>>> -enable-kvm -boot c -m 2048 -smp 2 -qmp stdio  -name primary -cpu
+>>> qemu64,+kvmclock -device piix3-usb-uhci -device usb-tablet \
+>>>         -netdev tap,id=hn0,vhost=off,script=/e
+>>> tc/qemu-ifup,downscript=/etc/qemu-ifdown -device
+>>> rtl8139,id=e0,netdev=hn0 \
+>>>         -chardev socket,id=mirror0,host=192.168.0.33,port=9003,server,nowait
+>>> \
+>>>         -chardev socket,id=compare1,host=192.168.0.33,port=9004,server,wait
+>>> \
+>>>         -chardev socket,id=compare0,host=192.168.0.33,port=9001,server,nowait
+>>> \
+>>>         -chardev socket,id=compare0-0,host=192.168.0.33,port=9001 \
+>>>         -chardev socket,id=compare_out,host=192
+>>> .168.0.33,port=9005,server,nowait \
+>>>         -chardev socket,id=compare_out0,host=192.168.0.33,port=9005 \
+>>>         -object filter-mirror,id=m0,netdev=hn0,queue=tx,outdev=mirror0 \
+>>>         -object filter-redirector,netdev=hn0,i
+>>> d=redire0,queue=rx,indev=compare_out \
+>>>         -object filter-redirector,netdev=hn0,i
+>>> d=redire1,queue=rx,outdev=compare0 \
+>>>         -object iothread,id=iothread1 \
+>>>         -object colo-compare,id=comp0,primary_
+>>> in=compare0-0,secondary_in=compare1,outdev=compare_out0,iothread=iothread1
+>>> \
+>>>         -drive if=ide,id=colo-disk0,driver=qu
+>>> orum,read-pattern=fifo,vote-threshold=1,children.0.file.file
+>>> name=/var/lib/libvirt/images/1.raw,children.0.driver=raw -S
+>>>
+>>>     Secondary:
+>>>     sudo /home/lee/Documents/qemu/x86_64-softmmu/qemu-system-x86_64
+>>> -boot c -m 2048 -smp 2 -qmp stdio  -name secondary -enable-kvm -cpu
+>>> qemu64,+kvmclock \
+>>>         -device piix3-usb-uhci -device usb-tablet \
+>>>         -netdev tap,id=hn0,vhost=off,script=/e
+>>> tc/qemu-ifup,downscript=/etc/qemu-ifdown \
+>>>         -device rtl8139,netdev=hn0 \
+>>>         -chardev socket,id=red0,host=192.168.0.33,port=9003,reconnect=1
+>>> \
+>>>         -chardev socket,id=red1,host=192.168.0.33,port=9004,reconnect=1
+>>> \
+>>>         -object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 \
+>>>         -object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1
+>>> \
+>>>         -object filter-rewriter,id=rew0,netdev=hn0,queue=all \
+>>>         -drive if=none,id=colo-disk0,file.fil
+>>> ename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0 \
+>>>         -drive if=ide,id=active-disk0,driver=
+>>> replication,mode=secondary,file.driver=qcow2,top-id=active-
+>>> disk0,file.file.filename=/mnt/ramfs/active_disk.img,file.
+>>> backing.driver=qcow2,file.backing.file.filename=/mnt/
+>>> ramfs/hidden_disk.img,file.backing.backing=colo-disk0 \
+>>>         -incoming tcp:0:8888
+>>>
+>>>     Secondary:
+>>>       {'execute':'qmp_capabilities'}
+>>>       { 'execute': 'nbd-server-start',
+>>>         'arguments': {'addr': {'type': 'inet', 'data': {'host':
+>>> '192.168.0.33', 'port': '8889'} } }
+>>>       }
+>>>       {'execute': 'nbd-server-add', 'arguments': {'device':
+>>> 'colo-disk0', 'writable': true } }
+>>>       {'execute': 'trace-event-set-state', 'arguments': {'name':
+>>> 'colo*', 'enable': true} }
+>>>
+>>>
+>>>     Primary:
+>>>       {'execute':'qmp_capabilities'}
+>>>       { 'execute': 'human-monitor-command',
+>>>         'arguments': {'command-line': 'drive_add -n buddy
+>>> driver=replication,mode=primary,file.driver=nbd,file.host=
+>>> 192.168.0.33,file.port=8889,file.export=colo-disk0,node-name=node0'}}
+>>>       { 'execute':'x-blockdev-change', 'arguments':{'parent':
+>>> 'colo-disk0', 'node': 'node0' } }
+>>>       { 'execute': 'migrate-set-capabilities',
+>>>             'arguments': {'capabilities': [ {'capability': 'x-colo',
+>>> 'state': true } ] } }
+>>>       { 'execute': 'migrate', 'arguments': {'uri': 'tcp:
+>>> 192.168.0.33:8888 <http://192.168.0.33:8888>' } }
+>>>
+>>>     Thanks
+>>>     Suiheng
+>>>
+>>>     --
+>>>     You received this bug notification because you are subscribed to the
+>>> bug
+>>>     report.
+>>>     https://bugs.launchpad.net/bugs/1754542 <
+>>> https://bugs.launchpad.net/bugs/1754542>
+>>>
+>>>     Title:
+>>>       colo:  vm crash with segmentation fault
+>>>
+>>>     Status in QEMU:
+>>>       New
+>>>
+>>>     Bug description:
+>>>       I use Arch Linux x86_64
+>>>       Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18ma
+>>> r10 <https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10>)
+>>>
+>>>       Following document 'COLO-FT.txt',
+>>>       I test colo feature on my hosts
+>>>
+>>>       I run this command
+>>>       Primary:
+>>>       sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2
+>>> -qmp stdio -name primary \
+>>>       -device piix3-usb-uhci \
+>>>       -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>>>       -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>>>       -drive if=virtio,id=primary-disk0,driver=quorum,read-pattern=fifo,
+>>> vote-threshold=1,\
+>>>       children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+>>>       children.0.driver=raw -S
+>>>
+>>>       Secondary:
+>>>       sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2
+>>> -qmp stdio -name secondary \
+>>>       -device piix3-usb-uhci \
+>>>       -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>>>       -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>>>       -drive if=none,id=secondary-disk0,file.filename=/var/lib/libvirt/
+>>> images/2.raw,driver=raw,node-name=node0 \
+>>>       -drive if=virtio,id=active-disk0,driv
+>>> er=replication,mode=secondary,\
+>>>       file.driver=qcow2,top-id=active-disk0,\
+>>>       file.file.filename=/mnt/ramfs/active_disk.img,\
+>>>       file.backing.driver=qcow2,\
+>>>       file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>>>       file.backing.backing=secondary-disk0 \
+>>>       -incoming tcp:0:8888
+>>>
+>>>       Secondary:
+>>>       {'execute':'qmp_capabilities'}
+>>>       { 'execute': 'nbd-server-start',
+>>>         'arguments': {'addr': {'type': 'inet', 'data': {'host':
+>>> '192.168.0.34', 'port': '8889'} } }
+>>>       }
+>>>       {'execute': 'nbd-server-add', 'arguments': {'device':
+>>> 'secondary-disk0', 'writable': true } }
+>>>
+>>>       Primary:
+>>>       {'execute':'qmp_capabilities'}
+>>>       { 'execute': 'human-monitor-command',
+>>>         'arguments': {'command-line': 'drive_add -n buddy
+>>> driver=replication,mode=primary,file.driver=nbd,file.host=
+>>> 192.168.0.34,file.port=8889,file.export=secondary-disk0,
+>>> node-name=nbd_client0'}}
+>>>       { 'execute':'x-blockdev-change', 'arguments':{'parent':
+>>> 'primary-disk0', 'node': 'nbd_client0' } }
+>>>       { 'execute': 'migrate-set-capabilities',
+>>>             'arguments': {'capabilities': [ {'capability': 'x-colo',
+>>> 'state': true } ] } }
+>>>       { 'execute': 'migrate', 'arguments': {'uri': 'tcp:
+>>> 192.168.0.34:8888 <http://192.168.0.34:8888>' } }
+>>>       And two VM with cash
+>>>       Primary:
+>>>       {"timestamp": {"seconds": 1520763655, "microseconds": 511415},
+>>> "event": "RESUME"}
+>>>       [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+>>> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>>>
+>>>       Secondary:
+>>>       {"timestamp": {"seconds": 1520763655, "microseconds": 510907},
+>>> "event": "RESUME"}
+>>>       [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+>>> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>>>
+>>>     To manage notifications about this bug go to:
+>>>     https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions <
+>>> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions>
+>>>
+>>>
+>>>
+>>
+> --
+> Best regards.
+> Li Zhijian (8528)
+>
+>
+>
+>
+
+
+Hi Suiheng,
+
+This bug have been fixed in my latest patch.
+Please retest it.
+https://<email address hidden>/msg538383.html
+
+github:
+https://github.com/zhangckid/qemu/tree/qemu-colo-18jun1
+
+Thanks
+Zhang Chen
+
+Hi, Zhang Chen
+
+It seems virtio blk isn't working.
+
+I test coloft against https://github.com/zhangckid/qemu/tree/qemu-colo-18jul22, got the following error on very early stage:
+
+On primary:
+qemu-system-x86_64: Can't receive COLO message: Input/output error
+
+On secondary:
+qemu-system-x86_64: block.c:4893: bdrv_detach_aio_context: Assertion `!bs->walking_aio_notifiers' failed.
+
+Run the test as follows:
+
+1. Setup primary:
+
+# qemu-img create -b centos6base.img -f qcow2 centos6sp.img
+# qemu-system-x86_64 -machine dump-guest-core=off -accel kvm -m 128 \
+-smp 2 -name primary -serial stdio \
+-qmp unix://root/wangchao/pvm.monitor.sock,server,nowait -vnc :10 \
+-netdev tap,id=hn0,vhost=off,script=no,downscript=no -drive \
+if=virtio,id=primary-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,children.0.file.filename=/root/wangchao/images/centos6sp.img,children.0.driver=qcow2 \
+-S -nodefaults
+
+2. Setup secondary:
+
+# qemu-img create -b centos6base.img -f qcow2 centos6sp.img
+# qemu-img create -f qcow2 /dev/shm/active.img 20G
+# qemu-img create -f qcow2 /dev/shm/hidden.img 20G
+# qemu-system-x86_64 -machine dump-guest-core=off -accel kvm -m 128 \
+-smp 2 -name secondary -serial stdio \
+-qmp unix://root/wangchao/svm.monitor.sock,server,nowait -vnc :10 \
+-netdev tap,id=hn0,vhost=off,script=no,downscript=no \
+-drive if=none,id=secondary-disk0,file.filename=/root/wangchao/images/centos6sp.img,driver=qcow2,node-name=node0 \
+-drive if=virtio,id=active-disk0,driver=replication,mode=secondary,top-id=active-disk0,file.driver=qcow2,file.file.filename=/dev/shm/active.img,file.backing.driver=qcow2,file.backing.file.filename=/dev/shm/hidden.img,file.backing.backing=secondary-disk0 \
+-incoming tcp:0:8888 -nodefaults
+
+3. Issue the following qmp:
+
+On secondary:
+{'execute':'qmp_capabilities'}
+{'execute': 'nbd-server-start', 'arguments': {'addr': {'type': 'inet', 'data': {'host': 'x.x.x.x', 'port': '8889'} } } }
+{'execute': 'nbd-server-add', 'arguments': {'device':'secondary-disk0', 'writable': true } }
+
+On primary:
+{'execute': 'qmp_capabilities'}
+{'execute': 'human-monitor-command', 'arguments': {'command-line': 'drive_add -n buddy driver=replication,mode=primary,file.driver=nbd,file.host=x.x.x.x,file.port=8889,file.export=secondary-disk0,node-name=nbd_client0'}}
+{'execute': 'x-blockdev-change', 'arguments':{'parent': 'primary-disk0', 'node': 'nbd_client0' } }
+{'execute': 'migrate-set-capabilities', 'arguments': {'capabilities': [{'capability': 'x-colo', 'state': true } ] } }
+{'execute': 'migrate', 'arguments': {'uri': 'tcp:x.x.x.x:8888'}}
+
+4. Then secondary immediately crashed:
+qemu-system-x86_64: block.c:4893: bdrv_detach_aio_context: Assertion `!bs->walking_aio_notifiers' failed.
+
+(gdb) bt
+#0  0x00007fb50d241277 in raise () from /lib64/libc.so.6
+#1  0x00007fb50d242968 in abort () from /lib64/libc.so.6
+#2  0x00007fb50d23a096 in __assert_fail_base () from /lib64/libc.so.6
+#3  0x00007fb50d23a142 in __assert_fail () from /lib64/libc.so.6
+#4  0x0000000000706ae9 in bdrv_detach_aio_context (bs=0x2e84000) at block.c:4893
+#5  0x0000000000706ab8 in bdrv_detach_aio_context (bs=bs@entry=0x315d400) at block.c:4911
+#6  0x0000000000706c16 in bdrv_set_aio_context (bs=0x315d400, new_context=0x2e17180) at block.c:4960
+#7  0x000000000070a43d in block_job_attached_aio_context (new_context=<optimized out>, opaque=0x2d92000) at blockjob.c:111
+#8  0x0000000000706b93 in bdrv_attach_aio_context (bs=0x2e84000, new_context=new_context@entry=0x2e17180) at block.c:4942
+#9  0x0000000000706b2b in bdrv_attach_aio_context (bs=0x315d400, new_context=new_context@entry=0x2e17180) at block.c:4930
+#10 0x0000000000706b2b in bdrv_attach_aio_context (bs=0x2ff8800, new_context=new_context@entry=0x2e17180) at block.c:4930
+#11 0x0000000000706b2b in bdrv_attach_aio_context (bs=bs@entry=0x2ff5400, new_context=new_context@entry=0x2e17180) at block.c:4930
+#12 0x0000000000706c29 in bdrv_set_aio_context (bs=0x2ff5400, new_context=0x2e17180) at block.c:4966
+#13 0x0000000000748a17 in blk_set_aio_context (blk=<optimized out>, new_context=<optimized out>) at block/block-backend.c:1894
+#14 0x000000000049b60a in virtio_blk_data_plane_start (vdev=<optimized out>) at /root/wangchao/qemu-colo-18jul22/hw/block/dataplane/virtio-blk.c:215
+#15 0x000000000069ceda in virtio_bus_start_ioeventfd (bus=bus@entry=0x46280f8) at hw/virtio/virtio-bus.c:223
+#16 0x00000000006a2480 in virtio_pci_start_ioeventfd (proxy=0x4620000) at hw/virtio/virtio-pci.c:288
+#17 virtio_pci_common_write (opaque=0x4620000, addr=<optimized out>, val=<optimized out>, size=<optimized out>) at hw/virtio/virtio-pci.c:1288
+#18 0x00000000004673b8 in memory_region_write_accessor (mr=0x46209d0, addr=20, value=<optimized out>, size=1, shift=<optimized out>, mask=<optimized out>, attrs=...) at /root/wangchao/qemu-colo-18jul22/memory.c:527
+#19 0x0000000000466c63 in access_with_adjusted_size (addr=addr@entry=20, value=value@entry=0x7fb509ba4788, size=size@entry=1, access_size_min=<optimized out>, access_size_max=<optimized out>, access_fn=access_fn@entry=0x467340 <memory_region_write_accessor>, mr=mr@entry=0x46209d0, attrs=attrs@entry=...) at /root/wangchao/qemu-colo-18jul22/memory.c:594
+#20 0x0000000000469388 in memory_region_dispatch_write (mr=mr@entry=0x46209d0, addr=addr@entry=20, data=15, size=1, attrs=attrs@entry=...) at /root/wangchao/qemu-colo-18jul22/memory.c:1473
+#21 0x000000000041ada0 in flatview_write_continue (fv=fv@entry=0x459ec80, addr=addr@entry=4273963028, attrs=..., attrs@entry=..., buf=buf@entry=0x7fb51019a028 <Address 0x7fb51019a028 out of bounds>, len=len@entry=1, addr1=20, l=1,mr=0x46209d0) at /root/wangchao/qemu-colo-18jul22/exec.c:3255
+#22 0x000000000041af62 in flatview_write (fv=0x459ec80, addr=4273963028, attrs=..., buf=0x7fb51019a028 <Address 0x7fb51019a028 out of bounds>, len=1) at /root/wangchao/qemu-colo-18jul22/exec.c:3294
+
+It seems we were trying to do another aio_notifiers walk *inside a aio_notifiers walk*.
+
+Thanks
+WANG Chao
+
+Hi Chao,
+
+Yes, virtio blk isn't supported by current COLO, you can try the "-drive
+if=ide xxxxxxxx".
+
+Thanks
+Zhang Chen
+
+On Fri, Jul 27, 2018 at 12:53 PM, WANG Chao <email address hidden>
+wrote:
+
+> Hi, Zhang Chen
+>
+> It seems virtio blk isn't working.
+>
+> I test coloft against https://github.com/zhangckid/qemu/tree/qemu-colo-
+> 18jul22, got the following error on very early stage:
+>
+> On primary:
+> qemu-system-x86_64: Can't receive COLO message: Input/output error
+>
+> On secondary:
+> qemu-system-x86_64: block.c:4893: bdrv_detach_aio_context: Assertion
+> `!bs->walking_aio_notifiers' failed.
+>
+> Run the test as follows:
+>
+> 1. Setup primary:
+>
+> # qemu-img create -b centos6base.img -f qcow2 centos6sp.img
+> # qemu-system-x86_64 -machine dump-guest-core=off -accel kvm -m 128 \
+> -smp 2 -name primary -serial stdio \
+> -qmp unix://root/wangchao/pvm.monitor.sock,server,nowait -vnc :10 \
+> -netdev tap,id=hn0,vhost=off,script=no,downscript=no -drive \
+> if=virtio,id=primary-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,children.0.file.filename=/root/wangchao/images/
+> centos6sp.img,children.0.driver=qcow2 \
+> -S -nodefaults
+>
+> 2. Setup secondary:
+>
+> # qemu-img create -b centos6base.img -f qcow2 centos6sp.img
+> # qemu-img create -f qcow2 /dev/shm/active.img 20G
+> # qemu-img create -f qcow2 /dev/shm/hidden.img 20G
+> # qemu-system-x86_64 -machine dump-guest-core=off -accel kvm -m 128 \
+> -smp 2 -name secondary -serial stdio \
+> -qmp unix://root/wangchao/svm.monitor.sock,server,nowait -vnc :10 \
+> -netdev tap,id=hn0,vhost=off,script=no,downscript=no \
+> -drive if=none,id=secondary-disk0,file.filename=/root/wangchao/
+> images/centos6sp.img,driver=qcow2,node-name=node0 \
+> -drive if=virtio,id=active-disk0,driver=replication,mode=
+> secondary,top-id=active-disk0,file.driver=qcow2,file.file.
+> filename=/dev/shm/active.img,file.backing.driver=qcow2,
+> file.backing.file.filename=/dev/shm/hidden.img,file.
+> backing.backing=secondary-disk0 \
+> -incoming tcp:0:8888 -nodefaults
+>
+> 3. Issue the following qmp:
+>
+> On secondary:
+> {'execute':'qmp_capabilities'}
+> {'execute': 'nbd-server-start', 'arguments': {'addr': {'type': 'inet',
+> 'data': {'host': 'x.x.x.x', 'port': '8889'} } } }
+> {'execute': 'nbd-server-add', 'arguments': {'device':'secondary-disk0',
+> 'writable': true } }
+>
+> On primary:
+> {'execute': 'qmp_capabilities'}
+> {'execute': 'human-monitor-command', 'arguments': {'command-line':
+> 'drive_add -n buddy driver=replication,mode=primary,file.driver=nbd,file.
+> host=x.x.x.x,file.port=8889,file.export=secondary-disk0,
+> node-name=nbd_client0'}}
+> {'execute': 'x-blockdev-change', 'arguments':{'parent': 'primary-disk0',
+> 'node': 'nbd_client0' } }
+> {'execute': 'migrate-set-capabilities', 'arguments': {'capabilities':
+> [{'capability': 'x-colo', 'state': true } ] } }
+> {'execute': 'migrate', 'arguments': {'uri': 'tcp:x.x.x.x:8888'}}
+>
+> 4. Then secondary immediately crashed:
+> qemu-system-x86_64: block.c:4893: bdrv_detach_aio_context: Assertion
+> `!bs->walking_aio_notifiers' failed.
+>
+> (gdb) bt
+> #0  0x00007fb50d241277 in raise () from /lib64/libc.so.6
+> #1  0x00007fb50d242968 in abort () from /lib64/libc.so.6
+> #2  0x00007fb50d23a096 in __assert_fail_base () from /lib64/libc.so.6
+> #3  0x00007fb50d23a142 in __assert_fail () from /lib64/libc.so.6
+> #4  0x0000000000706ae9 in bdrv_detach_aio_context (bs=0x2e84000) at
+> block.c:4893
+> #5  0x0000000000706ab8 in bdrv_detach_aio_context (bs=bs@entry=0x315d400)
+> at block.c:4911
+> #6  0x0000000000706c16 in bdrv_set_aio_context (bs=0x315d400,
+> new_context=0x2e17180) at block.c:4960
+> #7  0x000000000070a43d in block_job_attached_aio_context
+> (new_context=<optimized out>, opaque=0x2d92000) at blockjob.c:111
+> #8  0x0000000000706b93 in bdrv_attach_aio_context (bs=0x2e84000,
+> new_context=new_context@entry=0x2e17180) at block.c:4942
+> #9  0x0000000000706b2b in bdrv_attach_aio_context (bs=0x315d400,
+> new_context=new_context@entry=0x2e17180) at block.c:4930
+> #10 0x0000000000706b2b in bdrv_attach_aio_context (bs=0x2ff8800,
+> new_context=new_context@entry=0x2e17180) at block.c:4930
+> #11 0x0000000000706b2b in bdrv_attach_aio_context (bs=bs@entry=0x2ff5400,
+> new_context=new_context@entry=0x2e17180) at block.c:4930
+> #12 0x0000000000706c29 in bdrv_set_aio_context (bs=0x2ff5400,
+> new_context=0x2e17180) at block.c:4966
+> #13 0x0000000000748a17 in blk_set_aio_context (blk=<optimized out>,
+> new_context=<optimized out>) at block/block-backend.c:1894
+> #14 0x000000000049b60a in virtio_blk_data_plane_start (vdev=<optimized
+> out>) at /root/wangchao/qemu-colo-18jul22/hw/block/dataplane/
+> virtio-blk.c:215
+> #15 0x000000000069ceda in virtio_bus_start_ioeventfd (bus=bus@entry=0x46280f8)
+> at hw/virtio/virtio-bus.c:223
+> #16 0x00000000006a2480 in virtio_pci_start_ioeventfd (proxy=0x4620000) at
+> hw/virtio/virtio-pci.c:288
+> #17 virtio_pci_common_write (opaque=0x4620000, addr=<optimized out>,
+> val=<optimized out>, size=<optimized out>) at hw/virtio/virtio-pci.c:1288
+> #18 0x00000000004673b8 in memory_region_write_accessor (mr=0x46209d0,
+> addr=20, value=<optimized out>, size=1, shift=<optimized out>,
+> mask=<optimized out>, attrs=...) at /root/wangchao/qemu-colo-
+> 18jul22/memory.c:527
+> #19 0x0000000000466c63 in access_with_adjusted_size (addr=addr@entry=20,
+> value=value@entry=0x7fb509ba4788, size=size@entry=1,
+> access_size_min=<optimized out>, access_size_max=<optimized out>,
+> access_fn=access_fn@entry=0x467340 <memory_region_write_accessor>,
+> mr=mr@entry=0x46209d0, attrs=attrs@entry=...) at /root/wangchao/qemu-colo-
+> 18jul22/memory.c:594
+> #20 0x0000000000469388 in memory_region_dispatch_write (mr=mr@entry=0x46209d0,
+> addr=addr@entry=20, data=15, size=1, attrs=attrs@entry=...) at
+> /root/wangchao/qemu-colo-18jul22/memory.c:1473
+> #21 0x000000000041ada0 in flatview_write_continue (fv=fv@entry=0x459ec80,
+> addr=addr@entry=4273963028, attrs=..., attrs@entry=..., buf=buf@entry=0x7fb51019a028
+> <Address 0x7fb51019a028 out of bounds>, len=len@entry=1, addr1=20,
+> l=1,mr=0x46209d0) at /root/wangchao/qemu-colo-18jul22/exec.c:3255
+> #22 0x000000000041af62 in flatview_write (fv=0x459ec80, addr=4273963028,
+> attrs=..., buf=0x7fb51019a028 <Address 0x7fb51019a028 out of bounds>,
+> len=1) at /root/wangchao/qemu-colo-18jul22/exec.c:3294
+>
+> It seems we were trying to do another aio_notifiers walk *inside a
+> aio_notifiers walk*.
+>
+> Thanks
+> WANG Chao
+>
+> --
+> You received this bug notification because you are subscribed to the bug
+> report.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo:  vm crash with segmentation fault
+>
+> Status in QEMU:
+>   New
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=primary-disk0,driver=quorum,read-pattern=
+> fifo,vote-threshold=1,\
+>   children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+>   children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=secondary-disk0,file.filename=/var/lib/
+> libvirt/images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=secondary-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.34', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.
+> host=192.168.0.34,file.port=8889,file.export=secondary-
+> disk0,node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'primary-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   And two VM with cash
+>   Primary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 511415}, "event":
+> "RESUME"}
+>   [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+>   Secondary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 510907}, "event":
+> "RESUME"}
+>   [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+
+
+Yes, ide works.
+
+And by the way, how about other virtio devices or vhost-xxx? Are they supported by COLO?
+
+Do you know the working set of devices? My preliminary test shows ide, e1000, rtl8139 work.
+
+Thanks
+WANG Chao
+
+Currently, we support virtio-net, and not support all vhost-xxx.
+
+
+
+On Fri, Jul 27, 2018 at 6:41 PM WANG Chao <email address hidden>
+wrote:
+
+> Yes, ide works.
+>
+> And by the way, how about other virtio devices or vhost-xxx? Are they
+> supported by COLO?
+>
+> Do you know the working set of devices? My preliminary test shows ide,
+> e1000, rtl8139 work.
+>
+> Thanks
+> WANG Chao
+>
+> --
+> You received this bug notification because you are subscribed to the bug
+> report.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo:  vm crash with segmentation fault
+>
+> Status in QEMU:
+>   New
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive
+> if=virtio,id=primary-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,\
+>   children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+>   children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive
+> if=none,id=secondary-disk0,file.filename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0
+> \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=secondary-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.34', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.host=192.168.0.34,file.port=8889,file.export=secondary-disk0,node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'primary-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   And two VM with cash
+>   Primary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 511415}, "event":
+> "RESUME"}
+>   [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+>   Secondary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 510907}, "event":
+> "RESUME"}
+>   [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+
+
+Hi Zhang Chen ,
+
+I try colo follow https://wiki.qemu.org/Features/COLO.
+It work well. But disk performance slow.
+Only host performance 10%. 
+Can virtio blk supported by current colo?
+Or is there any other way to improve disk performance.
+
+Thanks
+Zhang Chen
+
+Hi Zhang Chen ,
+
+I try colo follow https://wiki.qemu.org/Features/COLO.
+It work well. But disk performance slow.
+Only host performance 10%.
+Can virtio blk supported by current colo?
+Or is there any other way to improve disk performance.
+
+Thanks
+lee
+
+Hi Lee,
+
+Can you introduce to me the detail test step about disk performance?
+I want to look into it when I have time.
+
+Thanks
+Zhang Chen
+
+On Wed, Nov 27, 2019 at 10:50 AM lee <email address hidden> wrote:
+>
+> Hi Zhang Chen ,
+>
+> I try colo follow https://wiki.qemu.org/Features/COLO.
+> It work well. But disk performance slow.
+> Only host performance 10%.
+> Can virtio blk supported by current colo?
+> Or is there any other way to improve disk performance.
+>
+> Thanks
+> Zhang Chen
+>
+> --
+> You received this bug notification because you are subscribed to the bug
+> report.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo:  vm crash with segmentation fault
+>
+> Status in QEMU:
+>   Fix Released
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp stdio -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=virtio,id=primary-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,\
+>   children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+>   children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp stdio -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive if=none,id=secondary-disk0,file.filename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0 \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=secondary-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host': '192.168.0.34', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0', 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy driver=replication,mode=primary,file.driver=nbd,file.host=192.168.0.34,file.port=8889,file.export=secondary-disk0,node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'primary-disk0', 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state': true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   And two VM with cash
+>   Primary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 511415}, "event": "RESUME"}
+>   [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+>   Secondary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 510907}, "event": "RESUME"}
+>   [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64 -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+
+
+Hi Zhang Chen
+I use sysbench compare Host、Qemu Native VM(virtio-blk)、Qemu Native VM、Qemu
+colo disk performance.
+The result in below attachment.
+Qemu Native VM(virtio-blk) use -device virtio-blk-pci
+Qemu colo follow https://wiki.qemu.org/Features/COLO
+Thanks
+Lee
+
+Zhang Chen <email address hidden> 于2019年11月27日周三 上午11:15写道:
+
+> Hi Lee,
+>
+> Can you introduce to me the detail test step about disk performance?
+> I want to look into it when I have time.
+>
+> Thanks
+> Zhang Chen
+>
+> On Wed, Nov 27, 2019 at 10:50 AM lee <email address hidden> wrote:
+> >
+> > Hi Zhang Chen ,
+> >
+> > I try colo follow https://wiki.qemu.org/Features/COLO.
+> > It work well. But disk performance slow.
+> > Only host performance 10%.
+> > Can virtio blk supported by current colo?
+> > Or is there any other way to improve disk performance.
+> >
+> > Thanks
+> > Zhang Chen
+> >
+> > --
+> > You received this bug notification because you are subscribed to the bug
+> > report.
+> > https://bugs.launchpad.net/bugs/1754542
+> >
+> > Title:
+> >   colo:  vm crash with segmentation fault
+> >
+> > Status in QEMU:
+> >   Fix Released
+> >
+> > Bug description:
+> >   I use Arch Linux x86_64
+> >   Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10)
+> >   Following document 'COLO-FT.txt',
+> >   I test colo feature on my hosts
+> >
+> >   I run this command
+> >   Primary:
+> >   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name primary \
+> >   -device piix3-usb-uhci \
+> >   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+> >   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+> >   -drive
+> if=virtio,id=primary-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,\
+> >   children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+> >   children.0.driver=raw -S
+> >
+> >   Secondary:
+> >   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name secondary \
+> >   -device piix3-usb-uhci \
+> >   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+> >   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+> >   -drive
+> if=none,id=secondary-disk0,file.filename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0
+> \
+> >   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+> >   file.driver=qcow2,top-id=active-disk0,\
+> >   file.file.filename=/mnt/ramfs/active_disk.img,\
+> >   file.backing.driver=qcow2,\
+> >   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+> >   file.backing.backing=secondary-disk0 \
+> >   -incoming tcp:0:8888
+> >
+> >   Secondary:
+> >   {'execute':'qmp_capabilities'}
+> >   { 'execute': 'nbd-server-start',
+> >     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.34', 'port': '8889'} } }
+> >   }
+> >   {'execute': 'nbd-server-add', 'arguments': {'device':
+> 'secondary-disk0', 'writable': true } }
+> >
+> >   Primary:
+> >   {'execute':'qmp_capabilities'}
+> >   { 'execute': 'human-monitor-command',
+> >     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.host=192.168.0.34,file.port=8889,file.export=secondary-disk0,node-name=nbd_client0'}}
+> >   { 'execute':'x-blockdev-change', 'arguments':{'parent':
+> 'primary-disk0', 'node': 'nbd_client0' } }
+> >   { 'execute': 'migrate-set-capabilities',
+> >         'arguments': {'capabilities': [ {'capability': 'x-colo',
+> 'state': true } ] } }
+> >   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888'
+> } }
+> >   And two VM with cash
+> >   Primary:
+> >   {"timestamp": {"seconds": 1520763655, "microseconds": 511415},
+> "event": "RESUME"}
+> >   [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+> >
+> >   Secondary:
+> >   {"timestamp": {"seconds": 1520763655, "microseconds": 510907},
+> "event": "RESUME"}
+> >   [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+> >
+> > To manage notifications about this bug go to:
+> > https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+> --
+> You received this bug notification because you are subscribed to the bug
+> report.
+> https://bugs.launchpad.net/bugs/1754542
+>
+> Title:
+>   colo:  vm crash with segmentation fault
+>
+> Status in QEMU:
+>   Fix Released
+>
+> Bug description:
+>   I use Arch Linux x86_64
+>   Zhang Chen's(https://github.com/zhangckid/qemu/tree/qemu-colo-18mar10)
+>   Following document 'COLO-FT.txt',
+>   I test colo feature on my hosts
+>
+>   I run this command
+>   Primary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name primary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive
+> if=virtio,id=primary-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,\
+>   children.0.file.filename=/var/lib/libvirt/images/1.raw,\
+>   children.0.driver=raw -S
+>
+>   Secondary:
+>   sudo /usr/local/bin/qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -qmp
+> stdio -name secondary \
+>   -device piix3-usb-uhci \
+>   -device usb-tablet -netdev tap,id=hn0,vhost=off \
+>   -device virtio-net-pci,id=net-pci0,netdev=hn0 \
+>   -drive
+> if=none,id=secondary-disk0,file.filename=/var/lib/libvirt/images/2.raw,driver=raw,node-name=node0
+> \
+>   -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,\
+>   file.driver=qcow2,top-id=active-disk0,\
+>   file.file.filename=/mnt/ramfs/active_disk.img,\
+>   file.backing.driver=qcow2,\
+>   file.backing.file.filename=/mnt/ramfs/hidden_disk.img,\
+>   file.backing.backing=secondary-disk0 \
+>   -incoming tcp:0:8888
+>
+>   Secondary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'nbd-server-start',
+>     'arguments': {'addr': {'type': 'inet', 'data': {'host':
+> '192.168.0.34', 'port': '8889'} } }
+>   }
+>   {'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0',
+> 'writable': true } }
+>
+>   Primary:
+>   {'execute':'qmp_capabilities'}
+>   { 'execute': 'human-monitor-command',
+>     'arguments': {'command-line': 'drive_add -n buddy
+> driver=replication,mode=primary,file.driver=nbd,file.host=192.168.0.34,file.port=8889,file.export=secondary-disk0,node-name=nbd_client0'}}
+>   { 'execute':'x-blockdev-change', 'arguments':{'parent': 'primary-disk0',
+> 'node': 'nbd_client0' } }
+>   { 'execute': 'migrate-set-capabilities',
+>         'arguments': {'capabilities': [ {'capability': 'x-colo', 'state':
+> true } ] } }
+>   { 'execute': 'migrate', 'arguments': {'uri': 'tcp:192.168.0.34:8888' } }
+>   And two VM with cash
+>   Primary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 511415}, "event":
+> "RESUME"}
+>   [1]    329 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+>   Secondary:
+>   {"timestamp": {"seconds": 1520763655, "microseconds": 510907}, "event":
+> "RESUME"}
+>   [1]    367 segmentation fault  sudo /usr/local/bin/qemu-system-x86_64
+> -boot c -enable-kvm -m 2048 -smp 2 -qm
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1754542/+subscriptions
+>
+
+