[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] failed to find urb in pending_rqsts: (nil)
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] failed to find urb in pending_rqsts: (nil) |
Date: |
Thu, 14 Apr 2005 16:05:49 -0700 |
User-agent: |
Mutt/1.5.6i |
On Thu, Apr 14, 2005 at 10:08:27PM +0200, Harald Welte wrote:
> Hi!
>
> When running the 'test_usrp_standard_rx' or _tx programs contained in
> the usrp-0.8 tarball, I get
>
> address@hidden/7 (21:54) 2.5/usrp-0.8/host/apps > ./test_usrp_standard_rx
> RX d'board A: Basic Rx
> RX d'board B: TV Rx
> fusb::pending_remove: failed to find urb in pending_rqsts: (nil)
> zsh: 10309 segmentation fault ./test_usrp_standard_rx
>
> This is on a dual opteron 246, running debian-amd64 and a vanilla
> 2.6.12-rc2 kernel.
>
> strace'ing the program, I get the following last lines:
>
> ioctl(3, USBDEVFS_SUBMITURB, 0xd1c940) = 0
> ioctl(3, USBDEVFS_CONTROL, 0x7fffff800630) = 0
> ioctl(3, USBDEVFS_CONTROL, 0x7fffff800670) = 4
> getrusage(RUSAGE_SELF, {ru_utime={0, 6998}, ru_stime={0, 8998}, ...}) = 0
> ioctl(3, USBDEVFS_REAPURBNDELAY, 0x7fffff7fc630) = -1 EAGAIN (Resource
> temporarily unavailable)
> ioctl(3, USBDEVFS_REAPURB, 0x7fffff7fc630) = 0
> write(2, "fusb::pending_remove: failed to "..., 65fusb::pending_remove:
> failed to find urb in pending_rqsts: (nil)) = 65
>
> So it seems like the REAPURB ioctl returns a NULL-pointer and aborts.
>
> Does anyone have an idea what's going on?
Haven't seen this before.
Take a look in fusb_linux.cc at the _reap method.
There are only two calls to pending_remove. Try printing out the urb
passed to pending_remove when it prints the message. Perhaps the urb
is not a valid pointer. Also, use gdb to see exactly where it's
segfaulting.
For tips on using gdb to debug gnuradio see
http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html#debugging
Once it segfaults you'll want to try the "bt" backtrace command.
Eric