| Summary: | usb_packet_complete assertion failed | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Jón Fairbairn <jon.fairbairn> | ||||
| Component: | qemu-kvm | Assignee: | Virtualization Maintenance <virt-maint> | ||||
| Status: | CLOSED DUPLICATE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 6.0 | CC: | acathrow, bsarathy, jon.fairbairn, juzhang, mkenneth, tburke, virt-maint | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2012-02-02 16:24:31 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
Jón Fairbairn
2012-01-26 16:18:48 UTC
I tried the above mentioned patch and had the same VM crash, so it alone is not enough. Investigation of the older logs for the VM and the yum log for the host suggests that the VM was never booted with qemu-kvm 0.12.1.2-2.209.el6_2.1 as it was running continuously from 2012-01-13 to 2012-01-26. So the non-crashing version was probably qemu-kvm-0.12.1.2-2.160.el6_1.2.x86_64. Further investigation required to determine which is the earliest version that stops it working. Have confirmed that the fault occurs with qemu-kvm-0.12.1.2-2.209.el6_2.1
Downgrading to 0.12.1.2-2.160.el6_1.2 appears to cure the problem.
Currently running with qemu-kvm-0.12.1.2-2.209.el6_2.4 patched to comment out
the assertion:
+++ hw/usb.c 2012-01-31 15:52:48.000000000 +0000
@@ -342,7 +342,9 @@
void usb_packet_complete(USBDevice *dev, USBPacket *p)
{
/* Note: p->owner != dev is possible in case dev is a hub */
+ /*
assert(p->owner != NULL);
+ */
dev->port->ops->complete(dev->port, p);
p->owner = NULL;
}
and have not had any errors yet, which suggests that something in kvm-usb-keep-track-of-packet-owner.patch isn’t quite right, but I don’t understand the code well enough to determine what.
(not attached as a patch as it’s not a real solution)
Eventually dies with qemu-kvm: /home/jf/rpmbuild/BUILD/qemu-kvm-0.12.1.2/hw/usb.c:357: usb_cancel_packet: Assertion `p->owner != ((void *)0)' failed. Now running with all the assertions in usb.c turned off (ie #define NDEBUG at top of hw/usb.c) Which eventually dies with just “shutting down”, so there is definitely a bug rather than the assertions being over strict. *** This bug has been marked as a duplicate of bug 783321 *** |