On Sun, 2018-02-11 at 17:19 +0200, Uri Lublin wrote: > 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. I've got the patch for this. Just wanted to write a unit test for it and that's where I hit several issues which I'm still trying to resolve... I might post the patch without a test for now... Lukas > 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 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel