qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1687309] Re: Assertion !usb_packet_is_inflight(p) fail


From: Henrik Pitkala
Subject: [Qemu-devel] [Bug 1687309] Re: Assertion !usb_packet_is_inflight(p) fails in OHCI
Date: Sun, 30 Apr 2017 18:43:07 -0000

** Description changed:

  I'm trying to get a USB web camera working in Qemu & Raspbian. USB works
  and V4L shows device info correctly and capturing frames from the camera
  works sometimes, but mostly it crashes with error message:
  
  qemu-system-arm: hw/usb/core.c:558: usb_packet_setup: Assertion
  `!usb_packet_is_inflight(p)' failed.
  
  This looks similar to the previous bug which also caused a crash on the
  same kind of assertion but the culprit was XHCI:
  https://bugs.launchpad.net/qemu/+bug/1653384
- 
  
  == Versions ==
  
  QEMU emulator version 2.9.50 (v2.9.0-303-g81b2d5c-dirty),
  configured with
  ./configure --target-list=arm-softmmu,arm-linux-user,armeb-linux-user 
--enable-libusb --enable-libssh2 --enable-debug
  
  libusb: 1.0.21
  
  Guest: 2017-04-10-raspbian-jessie-lite.img with kernel 4.4.34 for
  Raspbian on Qemu
  
+ Host: Ubuntu 16.04.2 LTS, kernel 4.4.0-72-generic
+ 
  Command: /usr/local/bin/qemu-system-arm -kernel qemu-rpi-kernel/kernel-
  qemu-4.4.34-v4lm-jessie -cpu arm1176 -m 256 -M versatilepb -no-reboot
  -append "root=/dev/sda2 panic=1" -drive format=raw,file=2017-04-10
  -raspbian-jessie-lite.img -usb -usbdevice host:046d:0928 -net
  nic,model=virtio -net user,hostfwd=tcp::2222-:22
  
  Web camera is an old Logitech QuickCam Express Etch2 (046d:0928). It
  works otherwise without problems.
- 
  
  == GDB Backtrace ==
  
  qemu-system-arm: hw/usb/core.c:558: usb_packet_setup: Assertion
  `!usb_packet_is_inflight(p)' failed.
  
  Thread 1 "qemu-system-arm" received signal SIGABRT, Aborted.
  0x00007fffdea6f428 in __GI_raise (address@hidden) at 
../sysdeps/unix/sysv/linux/raise.c:54
  54      ../sysdeps/unix/sysv/linux/raise.c: Tiedostoa tai hakemistoa ei ole.
  (gdb) bt full
  #0  0x00007fffdea6f428 in __GI_raise (address@hidden) at 
../sysdeps/unix/sysv/linux/raise.c:54
-         resultvar = 0
-         pid = 16526
-         selftid = 16526
+         resultvar = 0
+         pid = 16526
+         selftid = 16526
  #1  0x00007fffdea7102a in __GI_abort () at abort.c:89
-         save_stage = 2
-         act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, 
sa_mask = {__val = {140737488345776, 
-               140737488351076, 140737488345856, 48702688480, 140737352876032, 
93825001457954, 558, 93825001458576, 0, 0, 
-               140736929192332, 140736930289240, 140736930302896, 260615966, 
140736930289240, 93825001457954}}, 
-           sa_flags = -135479296, sa_restorer = 0x555555e20922}
-         sigs = {__val = {32, 0 <repeats 15 times>}}
- #2  0x00007fffdea67bd7 in __assert_fail_base (fmt=<optimized out>, 
-     address@hidden "!usb_packet_is_inflight(p)", 
-     address@hidden "hw/usb/core.c", address@hidden, 
-     address@hidden <__PRETTY_FUNCTION__.27044> "usb_packet_setup") at 
assert.c:92
-         str = 0x5555573e0800 ""
-         total = 4096
- #3  0x00007fffdea67c82 in __GI___assert_fail (assertion=0x555555e20922 
"!usb_packet_is_inflight(p)", 
-     file=0x555555e20686 "hw/usb/core.c", line=558, 
-     function=0x555555e20b90 <__PRETTY_FUNCTION__.27044> "usb_packet_setup") 
at assert.c:101
+         save_stage = 2
+         act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, 
sa_mask = {__val = {140737488345776,
+               140737488351076, 140737488345856, 48702688480, 140737352876032, 
93825001457954, 558, 93825001458576, 0, 0,
+               140736929192332, 140736930289240, 140736930302896, 260615966, 
140736930289240, 93825001457954}},
+           sa_flags = -135479296, sa_restorer = 0x555555e20922}
+         sigs = {__val = {32, 0 <repeats 15 times>}}
+ #2  0x00007fffdea67bd7 in __assert_fail_base (fmt=<optimized out>,
+ address@hidden "!usb_packet_is_inflight(p)",
+ address@hidden "hw/usb/core.c", address@hidden,
+ address@hidden <__PRETTY_FUNCTION__.27044> "usb_packet_setup") at assert.c:92
+         str = 0x5555573e0800 ""
+         total = 4096
+ #3  0x00007fffdea67c82 in __GI___assert_fail (assertion=0x555555e20922 
"!usb_packet_is_inflight(p)",
+     file=0x555555e20686 "hw/usb/core.c", line=558,
+     function=0x555555e20b90 <__PRETTY_FUNCTION__.27044> "usb_packet_setup") 
at assert.c:101
  No locals.
- #4  0x0000555555b4015a in usb_packet_setup (p=0x555556e81bc8, pid=105, 
ep=0x55555733e180, stream=0, id=260615936, 
-     short_not_ok=false, int_req=false) at hw/usb/core.c:558
-         __PRETTY_FUNCTION__ = "usb_packet_setup"
+ #4  0x0000555555b4015a in usb_packet_setup (p=0x555556e81bc8, pid=105, 
ep=0x55555733e180, stream=0, id=260615936,
+     short_not_ok=false, int_req=false) at hw/usb/core.c:558
+         __PRETTY_FUNCTION__ = "usb_packet_setup"
  #5  0x0000555555b4f2ee in ohci_service_iso_td (ohci=0x555556e814c0, 
ed=0x7fffffffdda0, completion=0)
-     at hw/usb/hcd-ohci.c:852
-         int_req = false
-         dir = 2
-         len = 1023
-         str = 0x555555e233cf "in"
-         pid = 105
-         ret = -8788
-         i = -8912
-         dev = 0x55555733d070
-         ep = 0x55555733e180
-         iso_td = {flags = 4039218540, bp = 251170816, next = 260615872, be = 
251173880, offset = {59386, 0, 6, 0, 53328, 
-             53376, 0, 0}}
-         addr = 260615936
-         starting_frame = 38252
-         relative_frame_number = 0
-         frame_count = 0
-         start_offset = 59386
-         next_offset = 0
-         end_offset = 0
-         start_addr = 251172858
-         end_addr = 251173880
+     at hw/usb/hcd-ohci.c:852
+         int_req = false
+         dir = 2
+         len = 1023
+         str = 0x555555e233cf "in"
+         pid = 105
+         ret = -8788
+         i = -8912
+         dev = 0x55555733d070
+         ep = 0x55555733e180
+         iso_td = {flags = 4039218540, bp = 251170816, next = 260615872, be = 
251173880, offset = {59386, 0, 6, 0, 53328,
+             53376, 0, 0}}
+         addr = 260615936
+         starting_frame = 38252
+         relative_frame_number = 0
+         frame_count = 0
+         start_offset = 59386
+         next_offset = 0
+         end_offset = 0
+         start_addr = 251172858
+         end_addr = 251173880
  #6  0x0000555555b5055c in ohci_service_ed_list (ohci=0x555556e814c0, 
head=260608080, completion=0)
-     at hw/usb/hcd-ohci.c:1239
-         ed = {flags = 67080322, tail = 260614272, head = 260615936, next = 0}
-         next_ed = 0
-         cur = 260608080
-         active = 1
-         link_cnt = 1
+     at hw/usb/hcd-ohci.c:1239
+         ed = {flags = 67080322, tail = 260614272, head = 260615936, next = 0}
+         next_ed = 0
+         cur = 260608080
+         active = 1
+         link_cnt = 1
  #7  0x0000555555b50857 in ohci_frame_boundary (opaque=0x555556e814c0) at 
hw/usb/hcd-ohci.c:1304
-         n = 12
-         ohci = 0x555556e814c0
-         hcca = {intr = {260608080 <repeats 32 times>}, frame = 38252, pad = 
0, done = 0}
+         n = 12
+         ohci = 0x555556e814c0
+         hcca = {intr = {260608080 <repeats 32 times>}, frame = 38252, pad = 
0, done = 0}
  #8  0x0000555555d12050 in timerlist_run_timers (timer_list=0x555556939600) at 
util/qemu-timer.c:536
-         ts = 0x555556ebc9b0
-         current_time = 224991592167
-         progress = false
-         cb = 0x555555b50778 <ohci_frame_boundary>
-         opaque = 0x555556e814c0
+         ts = 0x555556ebc9b0
+         current_time = 224991592167
+         progress = false
+         cb = 0x555555b50778 <ohci_frame_boundary>
+         opaque = 0x555556e814c0
  #9  0x0000555555d1209c in qemu_clock_run_timers (type=QEMU_CLOCK_VIRTUAL) at 
util/qemu-timer.c:547
  No locals.
  #10 0x0000555555d1244e in qemu_clock_run_all_timers () at 
util/qemu-timer.c:662
-         progress = false
-         type = QEMU_CLOCK_VIRTUAL
+         progress = false
+         type = QEMU_CLOCK_VIRTUAL
  #11 0x0000555555d12bf9 in main_loop_wait (nonblocking=0) at 
util/main-loop.c:525
-         ret = 0
-         timeout = 499
-         timeout_ns = 977642
+         ret = 0
+         timeout = 499
+         timeout_ns = 977642
  #12 0x0000555555969440 in main_loop () at vl.c:1899
  No locals.
  #13 0x0000555555971229 in main (argc=21, argv=0x7fffffffe358, 
envp=0x7fffffffe408) at vl.c:4717
-         i = 0
-         snapshot = 0
-         linux_boot = 1
-         initrd_filename = 0x0
-         kernel_filename = 0x5555568d78c0 
"qemu-rpi-kernel/kernel-qemu-4.4.34-v4lm-jessie"
-         kernel_cmdline = 0x5555568d8c80 "root=/dev/sda2 panic=1 "
-         boot_order = 0x0
-         boot_once = 0x0
-         ds = 0x55555718f750
-         cyls = 0
-         heads = 0
-         secs = 0
-         translation = 0
-         opts = 0x0
-         machine_opts = 0x5555568d8b20
-         hda_opts = 0x0
-         icount_opts = 0x0
-         accel_opts = 0x0
-         olist = 0x55555629fc80 <qemu_machine_opts>
-         optind = 21
-         optarg = 0x7fffffffe780 "user,hostfwd=tcp::2222-:22"
-         loadvm = 0x0
-         machine_class = 0x5555568eff50
-         cpu_model = 0x7fffffffe6c2 "arm1176"
-         vga_model = 0x555555d8d8c4 "std"
-         qtest_chrdev = 0x0
-         qtest_log = 0x0
-         pid_file = 0x0
-         incoming = 0x0
-         defconfig = true
-         userconfig = true
-         nographic = false
-         display_type = DT_GTK
-         display_remote = 0
-         log_mask = 0x0
-         log_file = 0x0
-         trace_file = 0x0
-         maxram_size = 268435456
-         ram_slots = 0
-         vmstate_dump_file = 0x0
-         main_loop_err = 0x0
-         err = 0x0
-         list_data_dirs = false
-         bdo_queue = {sqh_first = 0x0, sqh_last = 0x7fffffffe140}
-         __func__ = "main"
+         i = 0
+         snapshot = 0
+         linux_boot = 1
+         initrd_filename = 0x0
+         kernel_filename = 0x5555568d78c0 
"qemu-rpi-kernel/kernel-qemu-4.4.34-v4lm-jessie"
+         kernel_cmdline = 0x5555568d8c80 "root=/dev/sda2 panic=1 "
+         boot_order = 0x0
+         boot_once = 0x0
+         ds = 0x55555718f750
+         cyls = 0
+         heads = 0
+         secs = 0
+         translation = 0
+         opts = 0x0
+         machine_opts = 0x5555568d8b20
+         hda_opts = 0x0
+         icount_opts = 0x0
+         accel_opts = 0x0
+         olist = 0x55555629fc80 <qemu_machine_opts>
+         optind = 21
+         optarg = 0x7fffffffe780 "user,hostfwd=tcp::2222-:22"
+         loadvm = 0x0
+         machine_class = 0x5555568eff50
+         cpu_model = 0x7fffffffe6c2 "arm1176"
+         vga_model = 0x555555d8d8c4 "std"
+         qtest_chrdev = 0x0
+         qtest_log = 0x0
+         pid_file = 0x0
+         incoming = 0x0
+         defconfig = true
+         userconfig = true
+         nographic = false
+         display_type = DT_GTK
+         display_remote = 0
+         log_mask = 0x0
+         log_file = 0x0
+         trace_file = 0x0
+         maxram_size = 268435456
+         ram_slots = 0
+         vmstate_dump_file = 0x0
+         main_loop_err = 0x0
+         err = 0x0
+         list_data_dirs = false
+         bdo_queue = {sqh_first = 0x0, sqh_last = 0x7fffffffe140}
+         __func__ = "main"
  
- 
- (P.S. Tiedostoa tai hakemistoa ei ole = file or directory doesn't exist.)
+ (P.S. Tiedostoa tai hakemistoa ei ole = file or directory doesn't
+ exist.)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1687309

Title:
  Assertion !usb_packet_is_inflight(p) fails in OHCI

Status in QEMU:
  New

Bug description:
  I'm trying to get a USB web camera working in Qemu & Raspbian. USB
  works and V4L shows device info correctly and capturing frames from
  the camera works sometimes, but mostly it crashes with error message:

  qemu-system-arm: hw/usb/core.c:558: usb_packet_setup: Assertion
  `!usb_packet_is_inflight(p)' failed.

  This looks similar to the previous bug which also caused a crash on
  the same kind of assertion but the culprit was XHCI:
  https://bugs.launchpad.net/qemu/+bug/1653384

  == Versions ==

  QEMU emulator version 2.9.50 (v2.9.0-303-g81b2d5c-dirty),
  configured with
  ./configure --target-list=arm-softmmu,arm-linux-user,armeb-linux-user 
--enable-libusb --enable-libssh2 --enable-debug

  libusb: 1.0.21

  Guest: 2017-04-10-raspbian-jessie-lite.img with kernel 4.4.34 for
  Raspbian on Qemu

  Host: Ubuntu 16.04.2 LTS, kernel 4.4.0-72-generic

  Command: /usr/local/bin/qemu-system-arm -kernel qemu-rpi-kernel
  /kernel-qemu-4.4.34-v4lm-jessie -cpu arm1176 -m 256 -M versatilepb
  -no-reboot -append "root=/dev/sda2 panic=1" -drive
  format=raw,file=2017-04-10-raspbian-jessie-lite.img -usb -usbdevice
  host:046d:0928 -net nic,model=virtio -net user,hostfwd=tcp::2222-:22

  Web camera is an old Logitech QuickCam Express Etch2 (046d:0928). It
  works otherwise without problems.

  == GDB Backtrace ==

  qemu-system-arm: hw/usb/core.c:558: usb_packet_setup: Assertion
  `!usb_packet_is_inflight(p)' failed.

  Thread 1 "qemu-system-arm" received signal SIGABRT, Aborted.
  0x00007fffdea6f428 in __GI_raise (address@hidden) at 
../sysdeps/unix/sysv/linux/raise.c:54
  54      ../sysdeps/unix/sysv/linux/raise.c: Tiedostoa tai hakemistoa ei ole.
  (gdb) bt full
  #0  0x00007fffdea6f428 in __GI_raise (address@hidden) at 
../sysdeps/unix/sysv/linux/raise.c:54
          resultvar = 0
          pid = 16526
          selftid = 16526
  #1  0x00007fffdea7102a in __GI_abort () at abort.c:89
          save_stage = 2
          act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, 
sa_mask = {__val = {140737488345776,
                140737488351076, 140737488345856, 48702688480, 140737352876032, 
93825001457954, 558, 93825001458576, 0, 0,
                140736929192332, 140736930289240, 140736930302896, 260615966, 
140736930289240, 93825001457954}},
            sa_flags = -135479296, sa_restorer = 0x555555e20922}
          sigs = {__val = {32, 0 <repeats 15 times>}}
  #2  0x00007fffdea67bd7 in __assert_fail_base (fmt=<optimized out>,
  address@hidden "!usb_packet_is_inflight(p)",
  address@hidden "hw/usb/core.c", address@hidden,
  address@hidden <__PRETTY_FUNCTION__.27044> "usb_packet_setup") at assert.c:92
          str = 0x5555573e0800 ""
          total = 4096
  #3  0x00007fffdea67c82 in __GI___assert_fail (assertion=0x555555e20922 
"!usb_packet_is_inflight(p)",
      file=0x555555e20686 "hw/usb/core.c", line=558,
      function=0x555555e20b90 <__PRETTY_FUNCTION__.27044> "usb_packet_setup") 
at assert.c:101
  No locals.
  #4  0x0000555555b4015a in usb_packet_setup (p=0x555556e81bc8, pid=105, 
ep=0x55555733e180, stream=0, id=260615936,
      short_not_ok=false, int_req=false) at hw/usb/core.c:558
          __PRETTY_FUNCTION__ = "usb_packet_setup"
  #5  0x0000555555b4f2ee in ohci_service_iso_td (ohci=0x555556e814c0, 
ed=0x7fffffffdda0, completion=0)
      at hw/usb/hcd-ohci.c:852
          int_req = false
          dir = 2
          len = 1023
          str = 0x555555e233cf "in"
          pid = 105
          ret = -8788
          i = -8912
          dev = 0x55555733d070
          ep = 0x55555733e180
          iso_td = {flags = 4039218540, bp = 251170816, next = 260615872, be = 
251173880, offset = {59386, 0, 6, 0, 53328,
              53376, 0, 0}}
          addr = 260615936
          starting_frame = 38252
          relative_frame_number = 0
          frame_count = 0
          start_offset = 59386
          next_offset = 0
          end_offset = 0
          start_addr = 251172858
          end_addr = 251173880
  #6  0x0000555555b5055c in ohci_service_ed_list (ohci=0x555556e814c0, 
head=260608080, completion=0)
      at hw/usb/hcd-ohci.c:1239
          ed = {flags = 67080322, tail = 260614272, head = 260615936, next = 0}
          next_ed = 0
          cur = 260608080
          active = 1
          link_cnt = 1
  #7  0x0000555555b50857 in ohci_frame_boundary (opaque=0x555556e814c0) at 
hw/usb/hcd-ohci.c:1304
          n = 12
          ohci = 0x555556e814c0
          hcca = {intr = {260608080 <repeats 32 times>}, frame = 38252, pad = 
0, done = 0}
  #8  0x0000555555d12050 in timerlist_run_timers (timer_list=0x555556939600) at 
util/qemu-timer.c:536
          ts = 0x555556ebc9b0
          current_time = 224991592167
          progress = false
          cb = 0x555555b50778 <ohci_frame_boundary>
          opaque = 0x555556e814c0
  #9  0x0000555555d1209c in qemu_clock_run_timers (type=QEMU_CLOCK_VIRTUAL) at 
util/qemu-timer.c:547
  No locals.
  #10 0x0000555555d1244e in qemu_clock_run_all_timers () at 
util/qemu-timer.c:662
          progress = false
          type = QEMU_CLOCK_VIRTUAL
  #11 0x0000555555d12bf9 in main_loop_wait (nonblocking=0) at 
util/main-loop.c:525
          ret = 0
          timeout = 499
          timeout_ns = 977642
  #12 0x0000555555969440 in main_loop () at vl.c:1899
  No locals.
  #13 0x0000555555971229 in main (argc=21, argv=0x7fffffffe358, 
envp=0x7fffffffe408) at vl.c:4717
          i = 0
          snapshot = 0
          linux_boot = 1
          initrd_filename = 0x0
          kernel_filename = 0x5555568d78c0 
"qemu-rpi-kernel/kernel-qemu-4.4.34-v4lm-jessie"
          kernel_cmdline = 0x5555568d8c80 "root=/dev/sda2 panic=1 "
          boot_order = 0x0
          boot_once = 0x0
          ds = 0x55555718f750
          cyls = 0
          heads = 0
          secs = 0
          translation = 0
          opts = 0x0
          machine_opts = 0x5555568d8b20
          hda_opts = 0x0
          icount_opts = 0x0
          accel_opts = 0x0
          olist = 0x55555629fc80 <qemu_machine_opts>
          optind = 21
          optarg = 0x7fffffffe780 "user,hostfwd=tcp::2222-:22"
          loadvm = 0x0
          machine_class = 0x5555568eff50
          cpu_model = 0x7fffffffe6c2 "arm1176"
          vga_model = 0x555555d8d8c4 "std"
          qtest_chrdev = 0x0
          qtest_log = 0x0
          pid_file = 0x0
          incoming = 0x0
          defconfig = true
          userconfig = true
          nographic = false
          display_type = DT_GTK
          display_remote = 0
          log_mask = 0x0
          log_file = 0x0
          trace_file = 0x0
          maxram_size = 268435456
          ram_slots = 0
          vmstate_dump_file = 0x0
          main_loop_err = 0x0
          err = 0x0
          list_data_dirs = false
          bdo_queue = {sqh_first = 0x0, sqh_last = 0x7fffffffe140}
          __func__ = "main"

  (P.S. Tiedostoa tai hakemistoa ei ole = file or directory doesn't
  exist.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1687309/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]