[Digikam-users] FIXED: 0.9.3 & Canon 400D: No thumbnails, then segfaults

Mark Ovens parish at magichamster.com
Fri Jun 13 18:22:02 BST 2008


This turned out to be a problem with libusb in FreeBSD. There must have 
been a change in digikam between 0.9.2 and 0.9.3 that exposed this as I 
was using the same version of libusb with both versions of digikam.

Someone responded to my request on the FreeBSD mailing lists for help 
with the debugging as they were having similar (but not identical) 
problems with a Nikon D60.

Huge thanks to Markus Brueffer for tracking this down and coming up with 
a patch.

Here's a couple of messages from him explaining the problem with hsi D60 
and the solution.

 > > Anyway, digikam has severe problems with the Nikon D60 as well
 > > (only partly downloading images, camera not accessible after
 > > downloading and failing on some images, etc). Although these are
 > > different than your specific problem, the actual cause of the
 > > problem is probably the same as digikam 0.9.2 works just fine.

 > I finally found the cause of the problem (at least the one that
 > happens here with the Nikon D60, but I'm confident that it's the
 > cause of yours as well). What happens is the following:
 >
 > When downloading data form the camera, digikam invokes
 > usb_bulk_read from libusb through the libgphoto2 functions.
 > usb_bulk_read uses read(2) to get data from the camera.
 > read(2) now gets interrupted by a signal (SIGCHLD) that
 > gets delivered to digikam and returns with EINTR, which is the
 > actual cause of the problem. The attached patch for libusb
 > suspends signal delivery during bulk reads and writes for
 > SIGCHLD which lets read(2) succeed and the signal
 > gets delivered to digikam after the read(2) call.

I've closed the bug I opened about this 
http://bugs.kde.org/show_bug.cgi?id=156420

Oh, the segfault problem was solved ages ago - cause was compiling 
SQLite3 with FTS options.

Regards,

Mark






More information about the Digikam-users mailing list