still debugging the jaunty/2.6.28+ problem. Right now thinking that the command never gets out to the device, then the code goes for a read with an unlimited timeout and never returns. Now that I've made it down here I can turn on debugging and watch this get written out, and hopefully turn on the trace inside libusb and see what it thinks it wrote out.
In usbwrap.cc bool Device::BulkWrite(int ep, const Barry::Data &data, int timeout) { ddout("BulkWrite to endpoint " << std::dec << ep << ":\n" << data); int ret; do { ret = usb_bulk_write(m_handle, ep, (char*) data.GetData(), data.GetSize(), timeout == -1 ? m_timeout : timeout); if( ret < 0 && ret != -EINTR && ret != -EAGAIN ) { m_lasterror = ret; if( ret == -ETIMEDOUT ) throw Timeout(ret, "Timeout in usb_bulk_write")\ ; else throw Error(ret, "Error in usb_bulk_write"); } } while( ret == -EINTR || ret == -EAGAIN ); return ret >= 0; } where is the check to make sure that ret == data.GetSize()? What happens if we have a short write. It looks like the decision was already made earlier to fragment or not fragment the packet, but there is no check here to make sure we wrote what we said we wanted to write. libusb says: Name usb_bulk_write -- Write data to a bulk endpoint Description int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout); usb_bulk_write performs a bulk write request to the endpoint specified by ep. Returns number of bytes written on success or < 0 on error. Quoting Paul O'Keefe <p...@megabelle.net>: > Same "behavior" but a different location in the code when run with btool > -tz, but the stack traces should match up, just single threaded, follow > the usbwrap.cc line 207 into libusb-0.1.so.4 in this stack trace as well > as the one with multithreads > > #0 0xb7f2f430 in __kernel_vsyscall () > #1 0xb7c7c77d in select () from /lib/tls/i686/cmov/libc.so.6 > #2 0xb7ea28b9 in ?? () from /lib/libusb-0.1.so.4 > #3 0xb7ebf2d7 in Usb::Device::BulkRead (this=0x9f46748, ep=135, > da...@0xbfb4c188, timeout=-1) at usbwrap.cc:207 > #4 0xb7ed0be9 in Barry::SocketZero::RawReceive (this=0x9f46760, > recei...@0xbfb4c188, timeout=-1) at socket.cc:321 > #5 0xb7ed0de0 in Barry::Socket::Receive (this=0x0, recei...@0xbfb4c188, > timeout=-1) at socket.cc:691 > #6 0xb7ed0f56 in Barry::Socket::Send (this=0x9f5a378, se...@0xbfb4c314, > recei...@0xbfb4c188, timeout=-1) at socket.cc:671 > #7 0xb7ed250d in Barry::Socket::Packet (this=0x9f5a378, > se...@0xbfb4c314, recei...@0xbfb4c3ac, timeout=-1) at socket.cc:807 > #8 0xb7ed335d in Barry::Socket::NextRecord (this=0x9f5a378, > recei...@0xbfb4c3ac) at socket.cc:937 > #9 0xb7eeed8b in Barry::Mode::Desktop::LoadCommandTable > (this=0xbfb4c63c) at m_desktop.cc:76 > #10 0xb7eef19d in Barry::Mode::Desktop::RetryPassword (this=0xbfb4c63c, > password=0x808a88c "") at m_desktop.cc:185 > #11 0xb7eef2b8 in Barry::Mode::Desktop::Open (this=0xbfb4c63c, > password=0x808a88c "") at m_desktop.cc:157 > #12 0x080517a2 in main (argc=2, argv=0xbfb4c924) at btool.cc:715 > > -- > Paul O'Keefe <p...@megabelle.net> > VOIP: 1-770-250-5165 > FindMe: 1-678-967-4103 > > > On Sat, 2009-02-21 at 18:16 -0500, Paul O'Keefe wrote: > >> 2.6.29-rc5, clean config turned out to be identical to the config I >> upgraded from Ubuntu Jaunty (make oldconfig). In the backtrace below, >> the desktop display never comes up on the blackberry. If I run this >> in-process under gdb, then it does. There is a reference to >> Desktop::RetryPassword also. The device has no password. I'll review >> the code to see if that's normal to make it through there, of it the >> miss occurred before that routine was reached and this is a fall-back >> error. >> >> configuration differences >> -------------------------------------- >> diff /boot/config-2.6.29-rc5.ubuntu_jaunty /boot/config-2.6.29-rc5 >> 4c4 >> < # Sat Feb 21 00:15:02 2009 >> --- >> > # Sat Feb 21 16:16:37 2009 >> >> >> >> Here is the stack from the running btool which I attached to using a >> separate gdb process >> ------------------------------------------------------------------------------------------------------------------------------------- >> #0 0xb7f10430 in __kernel_vsyscall () >> #1 0xb7e130e5 in pthread_cond_wait@@GLIBC_2.3.2 () >> from /lib/tls/i686/cmov/libpthread.so.0 >> #2 0xb7eb8391 in Barry::DataQueue::wait_pop (this=0x93f8948, >> timeout=-1) >> at dataqueue.cc:130 >> #3 0xb7eb5915 in Barry::SocketRoutingQueue::DefaultRead >> (this=0x93f8850, >> timeout=-1) at router.cc:174 >> #4 0xb7eb5963 in Barry::SocketRoutingQueue::DefaultRead >> (this=0x93f8850, >> recei...@0xbfe2d8c4, timeout=-1) at router.cc:159 >> #5 0xb7eb1b16 in Barry::SocketZero::RawReceive (this=0x93f87f0, >> recei...@0xbfe2d8c4, timeout=-1) at socket.cc:317 >> #6 0xb7eb211b in Barry::SocketZero::SendOpen (this=0x93f87f0, >> socket=262, >> recei...@0xbfe2d8c4) at socket.cc:214 >> #7 0xb7eb2e3a in Barry::SocketZero::Open (this=0x93f87f0, >> socket=262, >> password=0x808a88c "") at socket.cc:453 >> #8 0xb7ed016b in Barry::Mode::Desktop::RetryPassword >> (this=0xbfe2db6c, >> password=0x808a88c "") at m_desktop.cc:182 >> #9 0xb7ed02b8 in Barry::Mode::Desktop::Open (this=0xbfe2db6c, >> password=0x808a88c "") at m_desktop.cc:157 >> #10 0x080517a2 in main (argc=2, argv=0xbfe2de54) at btool.cc:715 >> -- >> Paul O'Keefe <p...@megabelle.net> >> VOIP: 1-770-250-5165 >> FindMe: 1-678-967-4103 >> >> >> On Sat, 2009-02-21 at 16:08 -0500, Paul O'Keefe wrote: >> >> > Took the 2.6.29-rc5 kernel with the configuration from Jaunty and >> > moved it to my x86_64 system which was running intrepid. Modified >> > Kernel config to support 64Bit and to move the start address to an >> > even boundary, but no other changes. >> > >> > btool -t fails now on that system just as it did on the x86 laptop. >> > And btool -t runs correctly under gdb. >> > >> > >> > -- >> > Paul O'Keefe <p...@megabelle.net> >> > VOIP: 1-770-250-5165 >> > FindMe: 1-678-967-4103 >> > >> > >> > On Sat, 2009-02-21 at 14:26 -0500, Paul O'Keefe wrote: >> > >> > > Last two messages were held due to length: summary >> > > >> > > btool -t fails on 2.6.28 (ubuntu), fails on 2.6.28.7 (vanilla >> > > kernel) and fails on 2.6.29-rc5 (release candidate) on dual core >> > > Pentium in SMP mode. >> > > >> > > succeeds on same equipment using 2.6.27 series kernel. Probably >> > > not in the Ubuntu patches since also fails on stock 2.6.28.7 >> > > kernel. Could be in the config setup that Ubuntu is using >> > > through. >> > > >> > > Anybody with a working kernel higher than 2.6.28.7 please send me >> > > your Kernel config file and I will retest. Thx. >> > > -- >> > > Paul O'Keefe <p...@megabelle.net> >> > > VOIP: 1-770-250-5165 >> > > FindMe: 1-678-967-4103 >> > > >> > > >> > > On Sat, 2009-02-21 at 14:52 +0000, Paul O'Keefe wrote: >> > > >> > > > Did not see my msg echo back on the list. >> > > > >> > > > Vanilla 2.6.28.7 kernel failed. I had attached my config to >> the message. Chris, I will send you the config file directly. >> > > > Sent from my BlackBerry >> > > > >> > > > >> ------------------------------------------------------------------------------ >> > > > Open Source Business Conference (OSBC), March 24-25, 2009, >> San Francisco, CA >> > > > -OSBC tackles the biggest issue in open source: Open Sourcing >> the Enterprise >> > > > -Strategies to boost innovation and cut costs with open >> source participation >> > > > -Receive a $600 discount off the registration fee with the >> source code: SFAD >> > > > http://p.sf.net/sfu/XcvMzF8H >> > > > _______________________________________________ >> > > > Barry-devel mailing list >> > > > Barry-devel@lists.sourceforge.net >> > > > https://lists.sourceforge.net/lists/listinfo/barry-devel >> > > >> > > >> ------------------------------------------------------------------------------ >> > > Open Source Business Conference (OSBC), March 24-25, 2009, San >> Francisco, CA >> > > -OSBC tackles the biggest issue in open source: Open Sourcing >> the Enterprise >> > > -Strategies to boost innovation and cut costs with open source >> participation >> > > -Receive a $600 discount off the registration fee with the >> source code: SFAD >> > > http://p.sf.net/sfu/XcvMzF8H >> > > _______________________________________________ Barry-devel >> mailing list Barry-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/barry-devel >> > >> > >> ------------------------------------------------------------------------------ >> > Open Source Business Conference (OSBC), March 24-25, 2009, San >> Francisco, CA >> > -OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> > -Strategies to boost innovation and cut costs with open source >> participation >> > -Receive a $600 discount off the registration fee with the source >> code: SFAD >> > http://p.sf.net/sfu/XcvMzF8H >> > _______________________________________________ Barry-devel >> mailing list Barry-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/barry-devel >> >> ------------------------------------------------------------------------------ >> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >> -Strategies to boost innovation and cut costs with open source participation >> -Receive a $600 discount off the registration fee with the source code: SFAD >> http://p.sf.net/sfu/XcvMzF8H >> _______________________________________________ Barry-devel mailing >> list Barry-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/barry-devel > -- Sent from p...@megabelle.net webmail ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Barry-devel mailing list Barry-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/barry-devel