[libvirt] libvirtd not responding to virsh, results in virsh hanging
Chris Friesen
chris.friesen at windriver.com
Fri Mar 31 17:39:36 UTC 2017
On 03/31/2017 11:30 AM, Chris Friesen wrote:
> On 03/31/2017 11:21 AM, Chris Friesen wrote:
>
>> I ran tcpdump looking for TCP traffic between the two libvirtd processes, and
>> was unable to see any after several minutes. So it doesn't look like there is
>> any regular keepalive messaging going on (/etc/libvirt/libvirtd.conf doesn't
>> specify any keepalive settings so we'd be using the defaults I think). And yet
>> the TCP connection is stuck open.
>
> Turns out I ran tcpdump in the wrong window....oops. There's what appears to be
> a keepalive sequence every 5 seconds.
>
> I still don't understand why the connection wasn't taken down when qemu exited
> on the destination host.
One final update for now....I attached gdb to libvirtd on the source host and
then killed libvirtd on the destination host. I saw the TCP connection get
closed down, and gdb showed this:
[Thread 0x7f8948ab3700 (LWP 4514) exited]
At this point "virsh" commands on the source host work as expected, it's no
longer hung.
So it appears we have a number of factors contributing to the hang:
1) failure of migration in qemu
2) connection between hosts not getting torn down when migration fails
3) the libvirtd thread managing the migration on the source side appears to be
sleeping indefinitely while holding a resource of some sort which causes the
apparent hang when we try to do other operations
Chris
More information about the libvir-list
mailing list