Re: usb_add crashes stable kvm-0.11.0

Nix
2009-12-03T00:27:17Z

On 29 Nov 2009, nix@esperi.org.uk spake thusly:

> One qemu-kvm-specific bug, definitely non-kernel-related, is this crash,
> frequently encountered when hotadding more than one USB device (to an XP
> guest, as it happens, but that doesn't look relevant here):

I also see a crash when using -usbdevice on the command line. Symptoms
are a very long pause instead of booting, and then (in an XP guest,
immediately after the windows desktop appears; so I suspect the
instant the guest tries to probe for USB devices):

*** glibc detected *** /usr/bin/qemu: corrupted double-linked list: 0x0000000002908ce0 ***
======= Backtrace: =========
/lib/libc.so.6[0x7f87cc91a505]
/lib/libc.so.6[0x7f87cc91d96d]
/lib/libc.so.6(__libc_malloc+0x6e)[0x7f87cc91ef1e]
/usr/bin/qemu[0x47037e]
/usr/bin/qemu[0x423585]
/usr/bin/qemu[0x42366f]
/usr/bin/qemu[0x43e620]
/usr/bin/qemu[0x4c73e8]
/usr/bin/qemu[0x40a274]
/usr/bin/qemu[0x421e6a]
/usr/bin/qemu[0x40e7f5]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7f87cc8c8a7d]
/usr/bin/qemu[0x407d29]
======= Memory map: ========

malloc() or overrun trouble.

Fixed by c4c0e236beabb9de5ff472f77aeb811ec5484615, with the caveat that
the 2048-byte buffer provided by this commit is nowhere near large
enough: I have seen 4104 bytes coming back from an ipod nano 5 (thanks
to the overrun detection also added by that commit). So I've boosted it
to 8192 here, and it seems to work (albeit killingly slowly).