summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1653384
blob: a0496f4675112009f48595fae126be822223068c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Assertion failed with USB pass through with XHCI controller

Starting qemu 2.8.0 with XHCI controller and host device passed through results in an assertion failure:

qemu-system-x86_64: hw/usb/core.c:623: usb_packet_cleanup: Assertion `!usb_packet_is_inflight(p)' failed.

Can be reproduced with the following command (passing through a Lenovo keyboard):

qemu-system-x86_64 -usb  -device nec-usb-xhci,id=usb -device usb-host,vendorid=0x04b3,productid=0x3025,id=hostdev0,bus=usb.0,port=1

If nec-usb-xhci is changed to usb-ehci, qemu tries to boot without assertion failures. 


Can be reproduced with the latest master (commit dbe2b65) and v2.8.0.

Bisected the issue to following commit:
first bad commit: [94b037f2a451b3dc855f9f2c346e5049a361bd55] xhci: use linked list for transfers


Backtrace from commit dbe2b65:

#0  0x00007f2eb4657227 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
        resultvar = 0
        pid = 3453
        selftid = 3453
#1  0x00007f2eb465867a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, sa_mask = {__val = {140734740550528, 93876690035339, 
              140734740550624, 48833659808, 0, 0, 0, 21474836480, 140734740550792, 139838573009553, 140734740550560, 139838573043008, 
              139838573024160, 93876666665872, 139838702616576, 139838573024160}}, sa_flags = 1528954938, 
          sa_restorer = 0x55615b2202c0 <__PRETTY_FUNCTION__.38612>}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f2eb46502cd in __assert_fail_base (fmt=0x7f2eb47893a0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x55615b22003a "!usb_packet_is_inflight(p)", file=file@entry=0x55615b21fdf0 "hw/usb/core.c", line=line@entry=619, 
    function=function@entry=0x55615b2202c0 <__PRETTY_FUNCTION__.38612> "usb_packet_cleanup") at assert.c:92
        str = 0x55615cfdf510 ""
        total = 4096
#3  0x00007f2eb4650382 in __GI___assert_fail (assertion=0x55615b22003a "!usb_packet_is_inflight(p)", file=0x55615b21fdf0 "hw/usb/core.c", 
    line=619, function=0x55615b2202c0 <__PRETTY_FUNCTION__.38612> "usb_packet_cleanup") at assert.c:101
No locals.
#4  0x000055615afc385e in usb_packet_cleanup ()
No symbol table info available.
#5  0x000055615afda555 in xhci_ep_free_xfer ()
No symbol table info available.
#6  0x000055615afdc156 in xhci_kick_epctx ()
No symbol table info available.
#7  0x000055615afda099 in xhci_ep_kick_timer ()
No symbol table info available.
#8  0x000055615b08ceee in timerlist_run_timers ()
No symbol table info available.
#9  0x000055615b08cf36 in qemu_clock_run_timers ()
No symbol table info available.
#10 0x000055615b08d2df in qemu_clock_run_all_timers ()
No symbol table info available.
#11 0x000055615b08be40 in main_loop_wait ()
No symbol table info available.
#12 0x000055615ae3870f in main_loop ()
No symbol table info available.
#13 0x000055615ae4027b in main ()