Hide Forgot
Created attachment 1146779 [details] gdb backtrace Description of problem: As subject Version-Release number of selected component (if applicable): libvirt-0.10.2-60.el6.x86_64 qemu-kvm-rhev-0.12.1.2-2.491.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. prepart a running guest without snapshot: # virsh list Id Name State ---------------------------------------------------- 199 repeat running # virsh snapshot-list repeat Name Creation Time State ------------------------------------------------------------ 2.Run the following script on two terminials, which do snapshot operations parallelly: #!/bin/bash -x DOM=repeat VM_IP=192.168.122.233 for i in {1..1000};do SNAP=`virsh snapshot-create $DOM|grep -o '[0-9]*'` virsh snapshot-dumpxml $DOM $SNAP > /tmp/$SNAP.xml virsh snapshot-create $DOM --redefine /tmp/$SNAP.xml --current ssh root@$VM_IP lsblk if [ $? -ne 0 ];then ssh root@$VM_IP lsblk ping $VM_IP -c 4 wall BUGS echo $i BUGS break fi virsh snapshot-delete $DOM $SNAP done When libvirtd SIGSEGV, term1 running at : + for i in '{1..1000}' ++ virsh snapshot-create repeat ++ grep -o '[0-9]*' error: End of file while reading data: Input/output error error: One or more references were leaked after disconnect from the hypervisor error: Failed to reconnect to the hypervisor term2 running at: + for i in '{1..1000}' ++ virsh snapshot-create repeat ++ grep -o '[0-9]*' error: End of file while reading data: Input/output error error: One or more references were leaked after disconnect from the hypervisor error: Failed to reconnect to the hypervisor Actual results: As step2 Expected results: Snapshot operation should add lock to avoid parallel operations. Additional info: backtrace info is in attachment.
Verify it on libvirt-0.10.2-62.el6.x86_64: On terminal one: # virsh snapshot-create b2 On terminal two: # virsh snapshot-create b2&;sleep 1; virsh snapshot-create b2&; sleep 1; virsh snapshot-create b2&; The result: Terminal one: Domain snapshot 1479193131 created Terminal two: [1] 15880 [2] 15883 [3] 15888 error: Timed out during operation: cannot acquire state change lock [1] 15880 exit 1 virsh snapshot-create b2 ➜error: Timed out during operation: cannot acquire state change lock [2] - 15883 exit 1 virsh snapshot-create b2 error: Timed out during operation: cannot acquire state change lock [3] + 15888 exit 1 virsh snapshot-create b2 No SIGSEGV, bug fixed.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2017-0682.html