On March 7, 2012 at 12:30 PM Gerd Hoffmann <kra...@redhat.com> wrote:

> On 03/07/12 10:46, Erik Rull wrote:
> >  Hi Gerd,
> >
> > there are new assertion failed when plugging in a USB security dongle
at
> > guest runtime.
> > They occur on the current GIT master  + your async patch.
> >
> > /home/erik/qemu/hw/usb.c:352 usb_packet_complete: Assertion
> > '((&ep->queue)->tqh_first) == p' failed.
> > I got this only once and I'm currently not able to reproduce that.
>
> Strange.
>
> > Next one is:
> > Same security dongle (I tested two different hardware versions, both
show
> > the same behaviour):
> > - They get detected at runtime (beside this one crash above) but it
takes
> > quite long
> > - When being plugged in before guest startup I get the following
assertion
> > - this seems to happen in BIOS before the guest OS actually boots:
> > /home/erik/qemu/hw/usb-uhci.c:967: uhci_fill_queue: Assertion 'ret ==
2'
> > failed.
>
> Might be related.  In both cases the packet queue somehow isn't in the
> state we expecting it to be.
>
> > If you need further information, just let me know how to produce it.
>
> Enable tracing for these events ...
>
> usb_packet_state_change
> usb_host_req_*
> usb_host_urb_*
>
> ... and try to reproduce.  Hopefully that gives a clue.
>
> cheers,
>   Gerd


Hi Gerd,

thanks for the quick reply.

File is attached.

Best regards,

Erik
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7ea0d50, state undef -> 
setup
usb_host_req_control dev 2:22, req 0x5, value 1, index 0
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7ea0d50, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7ea0d70, state undef -> 
setup
usb_host_req_control dev 2:22, req 0x8006, value 256, index 0
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 16, more 0
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7ea0d70, state setup -> 
async
uhci_fill_queue: -- 12d
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 8, more 0
usb_host_req_complete dev 2:22, status 16
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7ea0d70, state async -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_host_req_control dev 2:22, req 0x8006, value 512, index 0
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 17, more 0
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
async
uhci_fill_queue: -- 12d
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 9, more 0
usb_host_req_complete dev 2:22, status 17
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state async -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_host_req_control dev 2:22, req 0x8006, value 512, index 0
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 40, more 0
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
async
uhci_fill_queue: -- 12d
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 32, more 0
usb_host_req_complete dev 2:22, status 40
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state async -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state undef -> 
setup
usb_host_req_control dev 2:22, req 0x9, value 1, index 0
usb_packet_state_change bus 0, port 1, ep 0, packet 0xb7e134f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e13510, state undef -> 
setup
usb_host_req_data dev 2:22, in 0, ep 2, size 31
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 31, more 0
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e13510, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 31, more 0
usb_host_req_complete dev 2:22, status 31
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e13510, state async -> 
complete
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e13530, state undef -> 
setup
usb_host_req_data dev 2:22, in 1, ep 1, size 36
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 36, more 0
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e13530, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 36, more 0
usb_host_req_complete dev 2:22, status 36
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e13530, state async -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e13530, state undef -> 
setup
usb_host_req_data dev 2:22, in 1, ep 1, size 13
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 13, more 0
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e13530, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 13, more 0
usb_host_req_complete dev 2:22, status 13
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e13530, state async -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e13550, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e13550, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e742f0, state undef -> 
setup
usb_host_req_data dev 2:22, in 0, ep 2, size 31
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 31, more 0
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e742f0, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 31, more 0
usb_host_req_complete dev 2:22, status 31
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e742f0, state async -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e742f0, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e742f0, state undef -> 
setup
usb_host_req_data dev 2:22, in 1, ep 1, size 8
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 8, more 0
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e742f0, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 8, more 0
usb_host_req_complete dev 2:22, status 8
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e742f0, state async -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state undef -> 
setup
usb_packet_state_change bus 0, port 2, ep 0, packet 0xb7e74290, state setup -> 
complete
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e742f0, state undef -> 
setup
usb_host_req_data dev 2:22, in 1, ep 1, size 13
usb_host_urb_submit dev 2:22, aurb 0xb7e740c8, length 13, more 0
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e742f0, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e740c8, status 0, length 13, more 0
usb_host_req_complete dev 2:22, status 13
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e742f0, state async -> 
complete
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e74188, state undef -> 
setup
usb_host_req_data dev 2:22, in 0, ep 2, size 31
usb_host_urb_submit dev 2:22, aurb 0xb7e741e8, length 31, more 0
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e74188, state setup -> 
async
usb_host_urb_complete dev 2:22, aurb 0xb7e741e8, status 0, length 31, more 0
usb_host_req_complete dev 2:22, status 31
usb_packet_state_change bus 0, port 1, ep 2, packet 0xb7e74188, state async -> 
complete
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e74188, state undef -> 
setup
usb_host_req_data dev 2:22, in 1, ep 1, size 64
usb_host_urb_submit dev 2:22, aurb 0xb7e741e8, length 64, more 0
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e74188, state setup -> 
async
uhci_fill_queue: -- 8169
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e743b0, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7e743b0, state setup -> 
queued
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7ea3588, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7ea3588, state setup -> 
queued
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7ea3600, state undef -> 
setup
usb_packet_state_change bus 0, port 1, ep 1, packet 0xb7ea3600, state setup -> 
queued
qemu-system-x86_64: /home/erik/qemu/hw/usb-uhci.c:967: uhci_fill_queue: 
Assertion `ret == 2' failed.
Aborted

Reply via email to