
On 08/15/2017 11:05 PM, Chris Friesen wrote:
Hi,
I'm hitting a scenario (on libvirt 1.2.12, so yeah it's a bit old) where I'm attempting to create two domains at the same time, and they both end up erroring out with "cannot acquire state change lock":
2017-08-14T12:57:00.000 79674: warning : qemuDomainObjBeginJobInternal:1380 : Cannot start job (modify, none) for domain instance-00000001; current job is (modify, none) owned by (79673, 0) 2017-08-14T12:57:00.000 79674: error : qemuDomainObjBeginJobInternal:1385 : Timed out during operation: cannot acquire state change lock 2017-08-14T12:57:01.000 79675: warning : qemuDomainObjBeginJobInternal:1380 : Cannot start job (modify, none) for domain instance-00000002; current job is (modify, none) owned by (79677, 0) 2017-08-14T12:57:01.000 79675: error : qemuDomainObjBeginJobInternal:1385 : Timed out during operation: cannot acquire state change lock
Given that the lock appears to be per-domain, I assume this means that something is trying to issue multiple operations in parallel to each domain?
Yeah. Or the other possibility is that some API left the job set? Can you attach gdb once the create API is issued and run "t a a bt" in it? It should display all the libvirtd threads and what are they doing. That way we can debug this. Although, I guess it's already fixed upstream since 1.2.12 is very old. Michal