[Spice-devel] Whose bugtracker should this go to: spice_chr_write: Assertion `s->datalen == 0' failed

Hans de Goede hdegoede at redhat.com
Thu Sep 22 23:51:37 PDT 2011


Hi,

On 09/23/2011 05:22 AM, Donald Gordon wrote:
> Hi
>
> I've had my kvm process (running Windows 7 x64, with the QXL drivers
> and vdservice/vdagent) abort a few times now with this error:
>
> kvm: /build/buildd-qemu-kvm_0.15.0+dfsg-2-amd64-j8D96i/qemu-kvm-0.15.0+dfsg/spice-qemu-char.c:112:
> spice_chr_write: Assertion `s->datalen == 0' failed.
>
> Last time this happened I noticed that the mouse pointer stopped
> working over the second screen in my multihead setup (same behaviour
> you get when not running vdagent).
>
> Is that something I should put into the freedesktop bugtracker, or the
> qemu/kvm one?

If anywhere it should go to the spice bugtracker on freedesktop.org. I say
if anywhere, because I think this is a known and fixed issue. The chardev
infrastructure in qemu upstream is missing flowcontrol in one direction,
I believe that is triggering this.

The Fedora packages of qemu-kvm have a patchset for this for 2 releases
now, which works well but upstream qemu-kvm does not like it. We've good
hopes of getting another solution upstream for the next qemu-kvm release.

In the mean time, you can pick up the relevant patches from:
http://cgit.freedesktop.org/~jwrdegoede/qemu/log/?h=c

(so that is the qemu-kvm-0.15.0-usbredir branch of that repository)

The "Merge remote-tracking branch 'upstream/stable-0.15' into stable-0.15" is
the commit which makes up the upstream qemu-kvm-0.15.0 release. The commits
starting with "char: Split out tcp socket close code in a separate function"
leading up all the way to "usb-redir: Add flow control support" are the
chardev flowcontrol patches, which I believe you need to fix this.

If you're interested in spice it is probably a good idea to just use that
branch in it entirety the other patches are async support for various
qxl commands fixing various latency issues, and some minor fixes for
usbredirection support, which allow using the new usbredirection support
in spice-gtk git master.

Note that the async support bumps the pci revision of the qxl device, so
you will need to re-install the windows drivers in the guest.

This branch contains what we're using for the Fedora-16 qemu packages.

Regards,

Hans


More information about the Spice-devel mailing list