[Spice-devel] Always get Invalid password while trying to connect to spice server
Niccolò Belli
darkbasic at linuxsystems.it
Wed Dec 26 12:03:38 UTC 2018
On martedì 25 dicembre 2018 09:04:31 CET, Uri Lublin wrote:
> Hi,
Hi and thanks for your answer.
> It's hard to tell without more details.
I'll try to provide all the details, let me know if you need anything else.
> How do you set the password ?
I set the password using the virt-manager interface: in the "Spice server"
section I just check the "password" flag and I set a password. It used to
work. I don't use virt-manager directly from the virtualization server
because it doesn't have any graphical interface: I connect to it using
virt-manager from my desktop PC (more details follow).
> Do you use secure connections ?
I connect to the remote libvirt server using virt-manager from my desktop.
The libvirt URI is qemu+ssh://root@ip:22/system so I use ssh to connect.
> Maybe you turned on a firewall and a rule is missing.
There is a firewall, but it didn't change. SSH port is open (and I can
connect to the libvirt server using virt-manager). I also opened a broad
range of spice ports (5900-5930) and that works too because if I uncheck
the "password" field it connects to the spice server without any issue.
I also tried to connect directly to the spice server using virt-viewer
instead of virt-manager:
remote-viewer spice://ip:5906
5906 is the spice port. I can check which VM gets assigned to which port
using the virt-manager interface, in the "Spice server" section.
remote-viewer triggers the same error: wrong password.
> What is your qemu-kvm command line ?
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin QEMU_AUDIO_DRV=spice
/usr/bin/qemu-system-x86_64 -name guest=guild-devel,debug-threads=on -S
-object
secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-17-guild-devel/master-key.aes
-machine pc-q35-3.0,accel=kvm,usb=off,vmport=off,dump-guest-core=off -cpu
EPYC-IBPB,x2apic=on,tsc-deadline=on,hypervisor=on,tsc_adjust=on,cmp_legacy=on,perfctr_core=on,virt-ssbd=on,monitor=off
-drive
file=/usr/share/ovmf/x64/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on
-drive
file=/var/lib/libvirt/qemu/nvram/guild-devel_VARS.fd,if=pflash,format=raw,unit=1
-m 4096 -realtime mlock=off -smp 16,sockets=16,cores=1,threads=1 -uuid
fd44b44b-2e22-4d2f-ae19-433934443576 -no-user-config -nodefaults -chardev
socket,id=charmonitor,fd=32,server,nowait -mon
chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew
-global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global
ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device
pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2
-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1
-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2
-device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3
-device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4
-device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5
-device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6
-device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 -device
virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 -drive
file=/var/lib/libvirt/images/Fedora-Workstation-Live-x86_64-29-1.2.iso,format=raw,if=none,id=drive-sata0-0-0,media=cdrom,readonly=on
-device ide-cd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=2
-drive
file=/var/lib/libvirt/images/guild-devel/guild-devel.qcow2,format=qcow2,if=none,id=drive-virtio-disk0,cache=writeback,aio=threads
-device
virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,write-cache=on,werror=stop,rerror=stop
-netdev tap,fd=35,id=hostnet0,vhost=on,vhostfd=36 -device
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b6:70:81,bus=pci.1,addr=0x0
-chardev pty,id=charserial0 -device
isa-serial,chardev=charserial0,id=serial0 -chardev
socket,id=charchannel0,fd=37,server,nowait -device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
-chardev spicevmc,id=charchannel1,name=vdagent -device
virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0
-device usb-tablet,id=input0,bus=usb.0,port=1 -spice
port=5905,addr=0.0.0.0,seamless-migration=on -k en-us -device
virtio-vga,id=video0,virgl=on,max_outputs=1,bus=pcie.0,addr=0x1 -device
ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b -device
hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev
spicevmc,id=charredir0,name=usbredir -device
usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2 -chardev
spicevmc,id=charredir1,name=usbredir -device
usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 -device
virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0 -object
rng-random,id=objrng0,filename=/dev/urandom -device
virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.6,addr=0x0 -sandbox
on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny
-msg timestamp=on
I just noticed that the problem looks limited to special characters.
For example if I set "Password" as password it works, while if I set
"Password%%" it doesn't. It's weird because both my server and my desktop
client use the same US English layout. It's even more weird because the
same password used to work fine before.
I also noticed that if I set "Password%" (with one % instead of two) I get
the following error while starting the VM:
Errore nell'avvio del dominio: internal error: qemu unexpectedly closed the
monitor: qemu-system-x86_64:
/build/qemu/src/qemu-3.1.0/qobject/json-parser.c:146: parse_string:
Assertion `*ptr' failed.
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in
cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in
tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 66, in
newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1400, in
startup
self._backend.create()
File "/usr/lib/python3.7/site-packages/libvirt.py", line 1080, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor:
qemu-system-x86_64: /build/qemu/src/qemu-3.1.0/qobject/json-parser.c:146:
parse_string: Assertion `*ptr' failed.
This is very, very weird. Any idea?
> Happy Holidays,
> Uri.
You too,
Niccolo'
More information about the Spice-devel
mailing list