
On Mon, Aug 19, 2019 at 12:35:15PM +0000, Allen, John wrote:
On Mon, Aug 19, 2019 at 01:30:06PM +0100, Daniel P. Berrangé wrote:
On Mon, Aug 19, 2019 at 12:15:48PM +0000, Allen, John wrote:
On Mon, Aug 19, 2019 at 12:24:43PM +0100, Daniel P. Berrangé wrote:
On Wed, Aug 14, 2019 at 01:30:26PM +0000, Allen, John wrote:
After upgrading to v5.6.0, starting libvirtd fails with the following message in journalctl -xe:
libvirtd[186338]: internal error: Some activation file descriptors are unclaimed
5b8569dd6e284b9159c701e8bffafb196983fc4a introduces the message. The commit message indicates that systemd version 227 is required, but my system seems to be running version 237.
Is this a known issue? Is there any other configuration for systemd needed to avoid the problem?
Can you tell me what operating system you are seeing this on ?
This is on Ubuntu 18.04.2
Also, can you confirm that you're using the stock unit files that libvirt distributes, with no local customizations ?
As far as I'm aware there are no modifications to the unit file. I produced the problem by just pulling libvirt 5.6.0 and running:
./autogen.sh --system make make install service libvirtd start
Ok, I'll try to reproduce myself.
One other question - did you have the official Ubuntu libvirt packages installed at the time you did "make install", or did you uninstall them first ?
Initially, I had installed over the ubuntu libvirt packages. However, I suspected that something may have "lingered" from the distro packages causing the issue, but I was able to produce the issue on a fresh install with no ubuntu libvirt packages installed as well.
I think I understand what's happening now. Libvirt creates the libvirtd.socket unit file using a path of /var/run/libvirt/libvirt-sock But /var/run is a symlink to /run, and IIUC, systemd will (helpfully?) change the socket path we specify to be /run/libvirt/libvirt-sock When libvirtd receives the activation FDs it calls getsockname() to find out the path associated with the socket and so sees /run/libvirt/libvirt-sock, but libvirt was expecting to instead see the path it had requested /var/run/libvirt/libvirt-sock If this theory is correct, then you should be able to workaround the problem by editting /etc/libvirt/libvirtd.conf and setting unix_sock_dir = "/run/libvirt" Can you confirm it that works for you ? I'll assume it will, and thus work on a real long term fix for the it. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|