segfault at usbmuxd startup
Reported by Bgs | April 18th, 2010 @ 08:20 PM
I had 1.0.0RC2 working, but haven't used it for a while. Today when started it segfaulted. I upgraded to 1.0.3 but it segfaults as well.
Here is the output:
[22:14:50.505][3] usbmuxd v1.0.0 starting up [22:14:50.506][4] Creating socket [22:14:50.506][5] client_init [22:14:50.506][5] device_init [22:14:50.506][4] Initializing USB [22:14:50.506][5] usb_init for linux / libusb 1.0 [22:14:50.510][4] Found new device with v/p 05ac:1292 at 2-6 [22:14:50.511][4] Using wMaxPacketSize=512 for device 2-6 [22:14:50.511][3] Connecting to new device on location 0x20006 as ID 1 [22:14:50.511][1] Failed to submit TX transfer 0x11c0f70 len 20 to device 2-6: -1 [22:14:50.511][1] usb_send failed while sending packet (len 20) to device 1: -1 [22:14:50.512][1] Error sending version request packet to device 1
[22:14:50.512][5] usb_disconnect: cancelling RX xfer zsh: segmentation fault usbmuxd -v -v -f
It's a 64 bit build btw, but it worked like a charm before. The only notable change since last time that I recall is the upgrade to kernel 2.6.33
Comments and changes to this ticket
-
Bgs April 18th, 2010 @ 08:22 PM
- Tag cleared.
The formatting was ugly, so here is the relevant debug output again:
[22:20:32.425][3] usbmuxd v1.0.0 starting up [22:20:32.426][4] Creating socket [22:20:32.426][5] client_init [22:20:32.426][5] device_init [22:20:32.426][4] Initializing USB [22:20:32.426][5] usb_init for linux / libusb 1.0 [22:20:32.430][4] Found new device with v/p 05ac:1292 at 2-6 [22:20:32.431][4] Using wMaxPacketSize=512 for device 2-6 [22:20:32.431][3] Connecting to new device on location 0x20006 as ID 1 [22:20:32.431][1] Failed to submit TX transfer 0x1e12f70 len 20 to device 2-6: -1 [22:20:32.431][1] usb_send failed while sending packet (len 20) to device 1: -1 [22:20:32.431][1] Error sending version request packet to device 1 [22:20:32.432][5] usb_disconnect: cancelling RX xfer zsh: segmentation fault usbmuxd -v -v -f
-
Kiss April 18th, 2010 @ 11:42 PM
I can confirm this bug, i also read this thread:
http://lists.mattcolyer.com/private.cgi/iphone-linux-dev-mattcolyer...
in the mailing list but i checked these option, and they are disabled in my kernel (2.6.33.2)I didn't try either on older kernel or older version of usbmuxd, but i tried the git one...
I'm using Gentoo 64 bit.
-
Kiss April 21st, 2010 @ 12:11 AM
I reinstalled the 2.6.32 kernel and I also tried different cables (both from @pple, not cheap cables) but there is the same problem.
-
Martin S. May 19th, 2010 @ 02:57 PM
- Tag set to segfault, usbmuxd
- State changed from new to hold
Please verify with usbmuxd 1.0.4 which fixes a few issues. If it's still an issue please reopen. Thanks.
-
Jacob Myers May 19th, 2010 @ 07:24 PM
Still a problem with me as of usbmuxd 1.0.4. Running Gentoo 64-bit, 2.6.33-r2.
-
Martin S. May 20th, 2010 @ 07:44 AM
- Tag changed from segfault, usbmuxd to 64bit, segfault, usbmuxd
- State changed from hold to open
Can you verify on 1.0.4 using "sudo usmbuxd -vvv -f" and perhaps even increase verbosity to get more information after the "Connecting to new device on location ..." line?
Also what does the syslog contain at the time of startup?
Did you compile yourself or use some packages (in that case please post from where)?
Which device model and firmware version?
Did you try a different USB hub/port?
-
Jacob Myers May 20th, 2010 @ 09:44 PM
Log of what happens with usbmuxd now. Compiled myself. Using iPod touch 3G, 3.1.3. Different USB port, same results.
It's odd; it only segfaults with -vv or below, not -vvv.
-
Jacob Myers May 20th, 2010 @ 09:46 PM
Aha. It seems to segfault right away if the device is attached whilst running usbmuxd, but running usbmuxd then plugging it in results in the above log. Here is some stuff from the syslog:
May 20 13:44:50 ein kernel: usb 2-6: skipped 3 descriptors after interface
May 20 13:44:50 ein kernel: usb 2-6: skipped 2 descriptors after interface
May 20 13:44:50 ein kernel: usb 2-6: skipped 1 descriptor after endpoint
May 20 13:44:50 ein kernel: usb 2-6: skipped 1 descriptor after interface
May 20 13:44:50 ein kernel: usb 2-6: default language 0x0409
May 20 13:44:50 ein kernel: usb 2-6: udev 39, busnum 2, minor = 166
May 20 13:44:50 ein kernel: usb 2-6: New USB device found, idVendor=05ac, idProduct=1299
May 20 13:44:50 ein kernel: usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 20 13:44:50 ein kernel: usb 2-6: Product: iPod
May 20 13:44:50 ein kernel: usb 2-6: Manufacturer: Apple Inc.
May 20 13:44:50 ein kernel: usb 2-6: SerialNumber: 418cc864903c76a2953318acdd2d6299a36110c5
May 20 13:44:50 ein kernel: usb 2-6: usb_probe_device
May 20 13:44:50 ein kernel: usb 2-6: configuration #1 chosen from 3 choices
May 20 13:44:50 ein kernel: usb 2-6: adding 2-6:1.0 (config #1, interface 0)
May 20 13:44:50 ein kernel: hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0040
May 20 13:44:51 ein kernel: usb 2-6: usb_disable_device nuking non-ep0 URBs
May 20 13:44:51 ein kernel: usb 2-6: unregistering interface 2-6:1.0
May 20 13:44:51 ein kernel: usb 2-6: adding 2-6:3.0 (config #3, interface 0)
May 20 13:44:51 ein kernel: usb 2-6: adding 2-6:3.1 (config #3, interface 1)
May 20 13:44:51 ein kernel: usb 2-6: BOGUS urb flags, 1 --> 0
May 20 13:44:51 ein kernel: usb 2-6: usbfs: usb_submit_urb returned -22
May 20 13:44:52 ein kernel: usb 2-6: BOGUS urb flags, 1 --> 0
... continue on with BOGUS urb flag message... -
James Glanville June 14th, 2010 @ 02:43 PM
- Tag changed from 64bit, segfault, usbmuxd to segfault, usbmuxd
I'm getting what looks like the same error:
[15:41:59.127][3] usbmuxd v1.0.4 starting up [15:41:59.127][4] Creating socket [15:41:59.127][5] client_init [15:41:59.127][5] device_init [15:41:59.127][4] Initializing USB [15:41:59.128][5] usb_init for linux / libusb 1.0 [15:41:59.130][6] usb_discover: scanning 9 devices [15:41:59.130][4] Found new device with v/p 05ac:1290 at 1-10 [15:41:59.132][4] Using wMaxPacketSize=512 for device 1-10 [15:41:59.132][3] Connecting to new device on location 0x1000a as ID 1 [15:41:59.132][6] send_packet(1, 0x0, 0xbfdf9b84, (nil), 0) [15:41:59.132][1] Failed to submit TX transfer 0x87f1820 len 20 to device 1-10: -1 [15:41:59.132][1] usb_send failed while sending packet (len 20) to device 1: -1 [15:41:59.132][1] Error sending version request packet to device 1
[15:41:59.132][5] usb_disconnect: cancelling RX xfer Segmentation fault
I'm pretty sure this is a kernel/other part of system bug, because I get the same error with a ubuntu binary that works on another machine. I'm running 32-bit gentoo, 2.6.34 on an eeepc 1005ha.
-
Martin S. June 17th, 2010 @ 04:15 PM
- State changed from open to hold
This appears to be a libusb-1.0 issue: http://www.libusb.org/ticket/20
Either try with the patch attached to the ticket or lookout for updated libusb packages (1.0.8) for your distro. Also please try usbmuxd git master which has a fix for the segfault which should not happen even with this issue.
I'll keep this on hold until someone verifies that the patch fixes this issue (resolved) or reopens due to still seeing that bug with the patch applied (open).
Thanks for your reports. :)
-
James Glanville June 17th, 2010 @ 05:49 PM
Thanks for the quick reply, I have it working perfectly with libusb-1.0.8 (1.0.7 was broken).
-
Martin S. June 17th, 2010 @ 06:18 PM
- Tag changed from segfault, usbmuxd to libusb, segfault, usbmuxd
- State changed from hold to resolved
Ok, thanks for testing! Marking as resolved unless someone reopens.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A project around supporting the iPhone in Linux.
See http://libimobiledevice.org