Re: [PATCH spice-server v4 0/4] Better handling reset for streaming device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/30/2018 04:33 PM, Christophe de Dinechin wrote:

Christophe de Dinechin writes:

On 30 Jan 2018, at 12:56, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote:


Hi Frediano,



On 30 Jan 2018, at 11:50, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote:

ping the series

I’m currently looking at it. Is it supposed to fix the read errors I had when
restarting the streaming agent?


Yes, make the reset more stable.
When you close the device the state will be more consistent allowing
basically to kill the process using the device in any state and opening
again. Obviously if you continue to send wrong commands the device will
keep rejecting them.

I tried to reproduce the issues reported on IRC and these helped me,
now I avoid entirely to reboot the guest.

OK, right now I get a QEMU crash whenever I do any kind of activity
(the keyboard seems to be what triggers it).

I’m trying to reproduce on master to see if your patch is the cause.
That host has gone through some unusual nastiness, and may be
in a geborked state.

Reverting the server to master, I am back to the behavior I had before,
where the same series of events leads to

DISPLAY=:1 spice-streaming-agent -c noblock=yes
spice-streaming-agent[2240]: UNKNOWN msg of type 5
spice-streaming-agent[2240]: BAD VERSION 0 (expected is 1)
spice-streaming-agent[2240]: BAD VERSION 108 (expected is 1)
spice-streaming-agent[2240]: BAD VERSION 97 (expected is 1)
spice-streaming-agent[2240]: read command from device FAILED -- read 1 expected 8
spice-streaming-agent[2240]: FAILED to read command


Hi Christophe,

There are some problems here:
1. (I guess) your spice-streaming-agent sends CURSOR messages
   which currently the spice-server does not know to handle.
   (Frediano sent patches for that but still no review).

   For now try to comment out the code in spice-streaming-agent
   that sends CURSOR commands.

2. spice-server gets an unknown command. It sends a message to the
   spice-streaming-agent to let it know the server read an invalid
   message. spice-streaming-agent is missing a code to handle such
   a message.

   This should be fixed.

3. When such messages are in play, they are not fully read (code
   breaks after reading the header). This makes the spice-server
   and spice-streaming-agent go out of sync).

   This may be fixed. I'm not sure we can recover
   all errors, and perhaps the right thing to do is sync
   with close/open of the virtio-serial-port.
   However reading the whole message (if it's not too big) should
   at least keep the server/agent synchronized, even if an unknown
   message encountered.

Regards,
    Uri.

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]