On Mon, Feb 27, 2017 at 13:31:30 +0000, Stefan Hajnoczi wrote:
On Mon, Feb 27, 2017 at 08:50:03PM +0800, Xiong Zhou wrote:
> On Mon, Feb 27, 2017 at 10:11:04AM +0000, Stefan Hajnoczi wrote:
> > On Mon, Feb 27, 2017 at 05:40:50PM +0800, Xiong Zhou wrote:
[...]
> > > sh-4.2# virsh start 73us
> > > error: Failed to start domain 73us
> > > error: internal error: qemu unexpectedly closed the monitor:
((null):11497): Spice-Warning **: reds.c:2499:reds_init_socket: listen: Address already in
use
> > > 2017-02-27T09:33:42.335708Z qemu-kvm: failed to initialize spice server
> >
> > The error message says that the spice remote desktop cannot listen on
> > -spice port=5900,addr=127.0.0.1.
> >
> > Did you hardcode port 5900 in the domain XML? That could explain why
> No.
> > the second guest fails to launch - you need to use unique port numbers
> > or let libvirt automatically assign them. Check the domain XML:
> >
> > <graphics type='spice' port='-1' tlsPort='-1'
autoport='yes'>
>
> It looks like:
>
> <graphics type='spice' autoport='yes'>
> <listen type='address'/>
> <image compression='off'/>
> </graphics>
>
>
> >
> > Another possibility is that a process running on the host is already
> > using port 5900. Perhaps a guest or VNC server that was launched
> > outside of libvirt? You can check this with:
> >
> > netstat -alpn | grep 5900
> # netstat -alpn | grep 5900
> tcp 0 0 127.0.0.1:5900 0.0.0.0:* LISTEN
11065/qemu-kvm
Please check that 11065/qemu-kvm was launched by the same libvirtd and
its domain XML also uses autoport='yes'.
I have CCed the libvirt mailing list because they may be able to explain
why there is a collision on TCP port 5900.
There was a bug in the code. There could be a race between startup of
two VMs:
https://bugzilla.redhat.com/show_bug.cgi?id=1397440