I just upgraded to Intrepid and grabbed the Ubuntu sources for libmtp8
(0.3.0-1ubuntu1). Unfortunately, the revision in Ubuntu Intrepid Ibex
does not contain the accepted upstream fix I provided for this issue:
--- libmtp.orig/src/libusb-glue.c
+++ libmtp/src/libusb-glue.c
@@ -1133,6 +1133,12 @@
}
}
if (usbdata.length == 0xffffffffU) {
+ /* Copy first part of data to 'data' */
+ handler->putfunc(
+ params, handler->private, rlen -
PTP_USB_BULK_HDR_LEN, usbdata.payload.data,
+ &written
+ );
+
/* stuff data directly to passed data handler */
while (1) {
unsigned long readdata;
The solution that Sean Fitzpatrick proposed is an acceptable workaround
as it tells the libmtp library to retrieve the data piece-by-piece.
Using the GETOBJPROPLIST_ALL mode is faster as the data is collected
from the device in one fell swoop. Either one should be acceptable.
My recommendation would be for users to use the above fix by either
grabbing a newer revision of libmtp *or* apply the patch to the Ubuntu
source deb themselves and build a custom libmtp package.
The segfault seen by Alex is likely different as my patch should be
present in libmtp 0.3.3. Further information would be needed to track
that different segfault.
Hope that helps!
--
libmtp crashes with Segmentation fault
https://bugs.launchpad.net/bugs/217144
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs