Libvirtd and dnsmasq
Running your own dnsmasq with libvirtd
libvirtd runs its own private dnsmasq instance to service the default network.
If you are running your own "global" dnsmasq, then this can cause your own dnsmasq to fail to start (or for libvirtd to fail to start its dnsmasq and the default network). This happens because both instances of dnsmasq might try to bind to the same port number on the same network interfaces.
You have to change the global
/etc/dnsmasq.conf as follows:
(Replace listen-address with the interface(s) you want your global dnsmasq to answer queries on).
And uncomment this line to tell dnsmasq to only bind specific interfaces, not try to bind all interfaces: